latexmk и xelatex из сценария оболочки - PullRequest
1 голос
/ 06 октября 2019

Я задал этот вопрос на TeX - LaTeX Stack Exchange , но я боюсь, что он ближе к вопросу программирования, чем к вопросу TeX, поэтому я задаю его здесь. Я надеюсь, что это в порядке. (Первоначальный вопрос: Передача аргументов в xelatex с использованием latexmk .)

У меня есть один исходный файл XeLaTeX, который может генерировать две версии документа в зависимости от того, определенная последовательность команд testcsсуществует. Обычно я делаю это с помощью csh сценария оболочки, который генерирует обе версии и выглядит следующим образом:

set file = "Document"
xelatex -jobname="${file}-v1" "\def\testcs{1} \input{${file}.tex}"
xelatex ${file}.tex

Мой документ теперь имеет индекс и для его набора текста теперь требуется несколько проходов через xelatex. Обычно я использую latexmk, например

latexmk -pdfxe Document

, и это прекрасно работает, но теперь я хотел бы создать две версии документа, используя скрипт.

Другими словамиЯ хотел бы изменить сценарий оболочки для использования latexmk, но я не могу передать аргументы xelatex. Я могу передать -jobname, но мне не повезло, передав \def\textcs{1} через любой из вариантов: -xelatex, -pdfxelatex, -pretex, ...

Вопрос Есть ли простой способ сделать это?

1 Ответ

1 голос
/ 06 октября 2019

Небольшое изменение от https://stackoverflow.com/a/57111010. Хитрость в том, что опция -usepretex необходима для того, чтобы указать latexmk, что вы действительно указали в -pretex

set file = "Document"
latexmk -pdfxe -jobname=${file}"-v1" -pretex="\def\testcs{1}" -usepretex ${file}
...