使用命令行切换

使用命令行切换

如何使用命令行设置切换的值(来自 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,将生成文档的彩色版本。

相关内容