我在TeX - LaTeX Stack Exchange曾问过这个问题,但是我担心它比TeX问题更接近编程问题,因此我在这里问它。我希望这没事。 (原始问题是Passing arguments to xelatex using latexmk。)
我有一个XeLaTeX源文件,可以根据是否存在某些命令序列testcs
来生成文档的两个版本。我通常通过csh
Shell脚本执行此操作,该脚本会生成两个版本,看起来像这样:
set file = "Document"
xelatex -jobname="${file}-v1" "\def\testcs{1} \input{${file}.tex}"
xelatex ${file}.tex
我的文档现在具有索引并进行排版,现在需要通过xelatex
进行多次传递。我通常会使用latexmk
,例如
latexmk -pdfxe Document
这可以正常工作,但是我现在想使用脚本生成文档的两个版本。
换句话说,我想修改shell脚本以使用latexmk
,但是我似乎无法将参数传递给xelatex
。我可以传递-jobname
,但是我没有通过以下任何一个选项传递\def\textcs{1}
的运气:-xelatex
,-pdfxelatex
,-pretex
,...
问题有简单的方法可以做到这一点吗?
https://stackoverflow.com/a/57111010的略微修改。诀窍在于,需要-usepretex
选项来告诉latexmk实际执行您在-pretex
set file = "Document"
latexmk -pdfxe -jobname=${file}"-v1" -pretex="\def\testcs{1}" -usepretex ${file}