如何使用命令行设置切换的值(来自 etoolbox 包)?
我想创建 cmd 文件来编译具有不同切换值的 latex 文件(即,一个 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,将生成文档的彩色版本。