編譯兩次,布林值先設定為 true,然後再設定為 false

編譯兩次,布林值先設定為 true,然後再設定為 false

我剛剛收到一些 tex 文件,其中在 etoolbox 包的文檔開頭定義了一個布林值。更改布林值會產生略有不同的 pdf。要產生文件的其他版本,我必須複製第一個 pdf,以便在再次編譯時不會覆寫它,更改布林值,然後再次編譯。有沒有辦法將文件編譯兩次,並將布林值分別設為 true 和 false,並接收兩個 pdf?

非常感謝!

答案1

在我的環境中,我有類似的東西,這就是為什麼我使用兩個 .tex 文件,一個像

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

和一個喜歡

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

和一個 main.tex,其中包含所有其餘內容,以 開頭\begin{document}和結尾的所有內容\end{document}

當我編譯這兩個包裝檔時,會建立兩個 pdf 文件。兩個文檔之間的差異由布林值解決osversion

答案2

也可以看看這裡如何將 args 傳遞到 tex 檔案。這只是一個不同的解決方案。

但是,您必須編譯兩次,因為對 pdflatex/.. 的一次呼叫只會建立一個 PDF。

一次建立兩個版本會產生一個 PDF,然後在「中間」拆分該 PDF 可能並不方便。

我能想到的最後一個選項是檢查文件是否存在以確定布林值並在兩次 pdflatex 運行之間創建/刪除該文件。

相關內容