Da ich Berichte sowohl in englisch wie auch in deutsch schreiben muss, möchte ich mir ein Template erstellen, bei dem ich einmal die Sprache einstelle - hier in der Variablen DocLang. In Abhängigkeit vom Wert der Variablen sollen bei diversen einzubindenden Paketen, der Wert von bestimmten Optionen angepasst werden.

Wenn ich die Optionen bei siunitx in Abhängigkeit einer Variablen haben will, kommt es zu einer Fehlermeldung. Die Fehlermeldugn lässt sich mit folgendem Code reproduzieren:

Open in writeLaTeX
\documentclass{standalone}
\usepackage{etoolbox}
\usepackage{siunitx}

\begin{document}

\newcommand\DocLang{german}

%\sisetup{locale = DE} % Funktioniert
%\sisetup{locale = US} % Funktioniert
\sisetup{locale = \ifstrequal{\DocLang}{german}{DE}{US}}
\num{1.23}

\end{document}

Bei dem Paket biblatex habe ich ein ähnliches Problem, lediglich eine andere Fehlermeldung.

Hat jemand eine Idee?

gefragt 29 Apr '14, 04:06

dzaic's gravatar image

dzaic
721829
Akzeptiert: 85%

bearbeitet 29 Apr '14, 04:11


Nimm den Befehl \ifdefstring, wenn nur das erste Argument ein Makro ist, und verwende das \sisetup in den Argumenten der Abfrage:

Open in writeLaTeX
\documentclass[margin=2pt]{standalone}
\usepackage{etoolbox}
\usepackage{siunitx}

\newcommand\DocLang{german}

\ifdefstring{\DocLang}{german}{\sisetup{locale = DE}}{\sisetup{locale = US}}

\begin{document}
\num{1.23}
\end{document}

oder analog zum Vorschlag von @Ulrike Fischer bei deiner Folgefrage

Open in writeLaTeX
\documentclass[margin=2pt]{standalone}
\newcommand\DocLanguage{english}

\usepackage{siunitx}

\newcommand\germansettings{%
  \sisetup{locale = DE}%
}

\newcommand\englishsettings{%
  \sisetup{locale = US}%
}

\csname \DocLanguage settings\endcsname

\begin{document}
\num{1.23}
\end{document}

Blockquote

Permanenter link

beantwortet 29 Apr '14, 04:21

esdd's gravatar image

esdd
14.2k53251

bearbeitet 29 Apr '14, 09:21

Merci! Dies funktioniert jedoch leider nur bei Paketen, wo ich die Optionen nicht direkt bei usepackage angeben muss. Bei biblatex habe ich bisher keinen Weg gefunden, die Optionen auf diese Weise mitzuteilen.

(29 Apr '14, 04:48) dzaic
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×24
×13
×3

Frage gestellt: 29 Apr '14, 04:06

Frage wurde angeschaut: 2,490 Mal

Zuletzt aktualisiert: 29 Apr '14, 09:21