使用命令列切換true

使用命令列切換true

如何使用命令列設定切換的值(來自 etoolbox 套件)?

我想建立cmd 檔案來編譯具有不同切換值的乳膠檔案(即一個cmd 檔案將在切換foo 設定為true 的情況下進行編譯,而另一個cmd 檔案將在切換foo 設定為false 的情況下進行編譯) 。

答案1

這是可以做的

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

或者

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

答案2

找到了我之前讀過的解決方案:https://en.wikibooks.org/wiki/LaTeX/Macros#Command-line_LaTeX

如果您使用類別 Unix 作業系統,您可能會使用 Makefile 或任何類型的腳本來建立您的 LaTeX 專案。在這方面,透過使用命令列參數呼叫 LaTeX 來產生相同文件的不同版本可能會很有趣。如果您將以下結構新增至文件:


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

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

現在你可以像這樣呼叫 LaTeX:

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

首先定義指令 \blackandwhite,然後使用輸入讀取實際檔案。透過將 \blackandwhite 設定為 false,將產生文件的彩色版本。

相關內容