latexmk and xelatex from shell script

问题描述 投票:1回答:1

我在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,...

问题有简单的方法可以做到这一点吗?

latex csh xelatex latexmk
1个回答
1
投票

https://stackoverflow.com/a/57111010的略微修改。诀窍在于,需要-usepretex选项来告诉latexmk实际执行您在-pretex

中指定的操作
set file = "Document"
latexmk -pdfxe -jobname=${file}"-v1" -pretex="\def\testcs{1}" -usepretex ${file}
© www.soinside.com 2019 - 2024. All rights reserved.