如何使用命令列設定切換的值(來自 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,將產生文件的彩色版本。