Seite 1 von 1

Sprachenabhängige Befehle

Verfasst: Mi 15. Sep 2010, 10:49
von slowfox
Ich schreibe einen zweisprachigen Text. Verschiedene Begriffe möchte ich durch Befehle verfügbar machen. Ich möchte in beiden Sprachen den gleichen Befehl verwenden, die Ausgabe soll aber an die jeweilige Sprache angepasst sein. Das Paket babel bietet alles, was ich dazu benötige. Nun habe ich auf diesem Wege zwei Lösungen entwickelt und hätte gerne eine Einschätzung, welche davon ich eher bei mir implementieren sollte. (Anmerkung: diese eigenen Befehle sollen auch tw. in der bib-Datei verwendet werden.)
\documentclass[english, ngerman]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{babel}

\newcommand{\diss}{}
  \addto\extrasngerman{\renewcommand{\diss}{Dissertation}}
  \addto\extrasenglish{\renewcommand{\diss}{PhD-thesis}}

\newcommand{\norm}{%
  \iflanguage{ngerman}{\def\normname{Norm}}{}%
  \iflanguage{english}{\def\normname{Standard}}{}%
  \normname}

\begin{document}

{\selectlanguage{english}\diss} / {\selectlanguage{ngerman}\diss}

{\selectlanguage{english}\norm} / {\selectlanguage{ngerman}\norm}

\end{document}

Verfasst: Mi 15. Sep 2010, 11:10
von KOMA
Die zweite Lösung kann ich nicht empfehlen, das dabei das spätere Hinzufügen von weiteren Sprachen unnötig kompliziert wird. Ich würde allerdings eine dritte Lösung empfehlen, die auch mit anderen Sprachpaketen als babel (beispielsweise mit dem ollen ngerman-Paket) funktioniert:
\documentclass{scrartcl}

%\usepackage[utf8]{inputenc}% brauchen wir in dem Fall gar nicht.
\usepackage[T1]{fontenc}

\usepackage[ngerman,english]{babel}
\newcaptionname{english}{\dissname}{PhD-thesis}%
\newcaptionname{ngerman}{\dissname}{Dissertation}%
\begin{document}
\languagename: \dissname, \selectlanguage{ngerman}\languagename: \dissname
\end{document}
Wenn man noch ein \AtBeginDocument im die \newcaptionname-Anweisungen baut, funktioniert das auch noch unabhängig davon, ob das Sprachpaket vorher oder nachher geladen wird.

Näheres zu \newcaptionname ist der KOMA-Script-Anleitung zu entnehmen.

Verfasst: Mi 15. Sep 2010, 11:31
von slowfox
Danke Markus! An KOMA-Bordmittel habe ich garnicht gedacht, habe mich irgendwie nur mit Babel diesbezüglich beschäftigt.

Ciao, Marco