Toggletrue mit einer Befehlszeile

Toggletrue mit einer Befehlszeile

Wie lässt sich der Wert eines Umschalters (aus dem Etoolbox-Paket) mit der Befehlszeile festlegen?

Ich möchte eine Befehlsdatei erstellen, um eine Latex-Datei mit unterschiedlichen Umschaltwerten zu kompilieren (d. h. ein Befehlsfeld wird mit dem auf „true“ gesetzten Umschaltwert „foo“ kompiliert und eine andere Befehlsdatei wird mit dem auf „false“ gesetzten Umschaltwert „foo“ kompiliert).

Antwort1

Es ist möglich

pdflatex.exe -jobname=prof "\AtBeginDocument{\toggletrue{prof}} \input{main}"

oder

echo \AtBeginDocument{\toggletrue{prof}} > _temp.tex
echo \input{main} >> _temp.tex
pdflatex.exe -jobname=prof _temp.tex
del _temp.tex
pause

Antwort2

Habe die Lösung gefunden, von der ich zuvor gelesen habe:https://en.wikibooks.org/wiki/LaTeX/Makros#Befehlszeilen_LaTeX

Wenn Sie auf einem Unix-ähnlichen Betriebssystem arbeiten, verwenden Sie möglicherweise Makefiles oder beliebige Skripte, um Ihre LaTeX-Projekte zu erstellen. In diesem Zusammenhang könnte es interessant sein, verschiedene Versionen desselben Dokuments zu erstellen, indem Sie LaTeX mit Befehlszeilenparametern aufrufen. Wenn Sie Ihrem Dokument die folgende Struktur hinzufügen:


% default value. \providecommand\blackandwhite{false} %...

\ifthenelse{ \equal{\blackandwhite}{true} }{ % "black and white" mode;
do something.. }{ % "color" mode; do something different.. }

Nun können Sie LaTeX folgendermaßen aufrufen:

latex '\providecommand{\blackandwhite}{true}\input{test.tex}'

Zuerst wird der Befehl \blackandwhite definiert und dann die eigentliche Datei mit Eingabe gelesen. Durch das Setzen von \blackandwhite auf false wird die Farbversion des Dokuments erstellt.

verwandte Informationen