tud-cd / tudscr

TUD-Script
Other
105 stars 22 forks source link

Verwendung weiterer Sprachen neben Deutsch und Englisch? #44

Closed j-stephan closed 4 years ago

j-stephan commented 4 years ago

Leider funktioniert das Zusammenspiel der Vorlage nicht mit weiteren Sprachen neben Deutsch und Englisch. Ich muss z.B. auf den vollen griechischen Zeichensatz zugreifen, kann also nicht den Mathematikmodus zweckentfremden. Wenn ich jedoch Babel mit greek verwenden will, schmeißt mir die Vorlage einen Fehler:

! Class tudscrbook Error: `\confirmationname' not defined for language `greek'.
! Class tudscrbook Error: `\confirmationtext' not defined for language `greek'.

Wie gehe ich vor, wenn ich nicht eine griechische Selbstständigkeitserklärung im Dokument haben will?

keinstein commented 4 years ago

Ich zitiere mal aus dem Quelltext der Klasse tudscrbook

Currently the class `\TUDClassName' only supports the\MessageBreak%
      languages german and english an its dialects. You must\MessageBreak%
      define single patterns by yourself, e.g.:\MessageBreak%
      `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
      You can send your definitions to \tudscrmail\space in\MessageBreak%
      order to implement support for additional languages.

(@mrpiggi Da ist noch ein Tippfehler im Text: an statt and) Also wenn ich das richtig sehe, sollte ein

\providecaptionname{greek}{\confirmationname}{Oυβερσχριφτ}
\providecaptionname{greek}{\confirmationname}{Tεκστ}

helfen.

Um Probleme mit der Kodierung zu vermeiden, sollten nicht-lateische Buchstaben in Sprachdateien in TeX-Makros versteckt werden. Wenn Du Dir in Deiner Distribution die Datei greek.ldf ansiehst, dann siehst Du, wie dort die Buchstaben kodiert worden sind.

Wenn Du eine vollständige griechische Fassung bereitstellen willst, wird sich Falk sicher nicht weigern sie mit aufzunehmen. Dazu kannst Du Dir alle Aufrufe von \tud@localization@german aus https://github.com/tud-cd/tudscr/blob/develop/source/tudscr-localization.dtx rauskopieren und in \providecaption{greek} mit entsprechendem Inhalt umbenennen. Die Datei kannst Du auch gleich per \input in Dein Dokument einbinden.

mrpiggi commented 4 years ago

Das bzw. ngerman sollte helfen.

\documentclass[english,greek]{tudscrreprt}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext}
\begin{document}
\blindtext
\confirmation[language=english]
\blindtext
\end{document}

(@mrpiggi Da ist noch ein Tippfehler im Text: an statt and)

Wird angepasst.

j-stephan commented 4 years ago

Danke sehr, der Fehler lag in der Babel-Option. Der andere Weg hat übrigens nicht funktioniert, sondern hatte zur Folge, dass das gesamte Dokument auf griechisch gesetzt wurde (die lateinischen Buchstaben wurden als ihre griechischen Äquivalente interpretiert). Mit der Angabe in der Documentclass ist alles so, wie es sein soll.