PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Optionen von 'babel' abfragen



polytop
17-08-2008, 15:16
Hallo,
ich will abhängig von der Sprach Option beim 'babel'-Paket verschiedene Befehle definieren, also sowas wie

\documentclass{scrartcl}
\usepackage[ngerman]{babel}

\makeatletter
\if@ngerman
\def ...
\fi
\if@english
\def ...
\fi
\makeatother

\begin{document}
...
\end{document}
Wie kann ich das realisieren?

Gruß
polytop

Donalduck
17-08-2008, 15:24
mit \iflanguage


If more than one language is used, it might be necessary to know which language
is active at a specific time. This can be checked by a call to \iflanguage.
This macro takes three arguments. The first argument is the name of a language;
the second and third arguments are the actions to take if the result of the test is
true or false respectively.

sommerfee
17-08-2008, 17:06
mit \iflanguage

Das hat irgendeinen blöden Fehler, der leider (trotz Bug-Report) nie beseitigt wurde, daher hatte sich Heiko Oberdiek dazu entschlossen, einfach eine bereinigte Version als extra Paket anzubieten:

http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=iflang

Gruß,
Axel

polytop
17-08-2008, 19:18
Hallo,
danke für die Antworten! Das \iflanguage funktioniert für meine Zwecke; die Unterscheidung zwischen 'ngerman' und 'english' funktioniert!
Geht das ganze eigentlich auch noch allgemeiner, d.h. kann man Optionen aus beliebigen Paketen abfragen oder ist das nur innerhalb des jeweiligen .sty files des Pakets möglich?

Gruß
polytop

kati-ka
23-12-2009, 11:47
ich hab dazu auch eine Frage. Wie kann ich sagen:

\iflanguage{undefiniert}{dann lege english erst mal als standardstprache fest}{sonst nix tun}
??

Ich brauche diese Anweisung für ein Beamer-Template. Denn es gibt einige, die die Sprache nicht, wie gewünscht, mit babel vordefinieren. Und für diesen Sonderfall muss es auch eine Lösung geben.

dieses kleine script funktoniert wunderbar

\newcommand{\vonname}{%
\iflanguage{ngerman}{von}{}%
\iflanguage{german}{von}{}%
\iflanguage{english}{of}{}
%
}


... wenn denn eine Sprache vordefiniert wurde. Wenn nicht, dann bekommt man eine Fehlermeldung...