Zweimal kompilieren, wobei der Boolean-Wert zuerst auf „true“ und dann auf „false“ gesetzt wird

Zweimal kompilieren, wobei der Boolean-Wert zuerst auf „true“ und dann auf „false“ gesetzt wird

Ich habe gerade einige Tex-Dateien erhalten, in denen am Anfang des Dokuments mit dem etoolbox-Paket ein Boolescher Wert definiert ist. Durch Ändern des Booleschen Werts wird ein leicht anderes PDF erzeugt. Um die andere Version des Dokuments zu erstellen, muss ich das erste PDF kopieren, damit es beim erneuten Kompilieren nicht überschrieben wird, den Booleschen Wert ändern und dann ein zweites Mal kompilieren. Gibt es eine Möglichkeit, das Dokument zweimal zu kompilieren, wobei der Boolesche Wert separat auf „true“ und „false“ gesetzt wird, und zwei PDFs zu erhalten?

Vielen Dank!

Antwort1

In meiner Umgebung habe ich etwas Ähnliches, weshalb ich zwei .tex-Dateien verwende, eine wie

\documentclass[a4paper,twoside,DIV12,BCOR1.5cm]{scrbook}
%
\osversiontrue
\input{main.tex}

und einer wie

\documentclass[a4paper,twoside,DIV12,BCOR1.5cm]{scrbook}
%
\input{main.tex}

und eine main.tex, die den ganzen Rest enthält, alles, was mit beginnt \begin{document}und endet \end{document}.

Wenn ich die beiden Wrapper-Dateien kompiliere, entstehen zwei PDF-Dokumente. Die Unterschiede zwischen den beiden Dokumenten werden durch den Boolean -Wert angesprochen osversion.

Antwort2

Siehe auchHierwie man Argumente an die Tex-Datei übergibt. Es ist einfach eine andere Lösung.

Sie müssen jedoch zweimal kompilieren, da ein Aufruf von pdflatex/.. nur ein einzelnes PDF erstellt.

Es ist wahrscheinlich nicht bequemer, beide Versionen in einem Durchgang zu erstellen, was zu einer PDF-Datei führt, und diese PDF-Datei dann in der Mitte zu teilen.

Letzte Option, die mir einfällt: Überprüfen Sie, ob eine Datei vorhanden ist, um den Booleschen Wert zu bestimmen, und erstellen/löschen Sie diese Datei zwischen den beiden PDFLatex-Läufen.

verwandte Informationen