强制使用特定排版引擎的命令

强制使用特定排版引擎的命令

我有一些文件需要用 LuaLaTeX 运行,但我的大多数文档在 PDFLaTeX 上运行良好。我使用编辑器在两者之​​间切换,但我想要一种更简单的方法。

是否有命令可以放在文件开头,以强制文档由 LuaLaTex 排版?类似于

\usetypesetter{lualatex}

\begin{document}
(stuff)
\end{document}

答案1

如果你运行 TeXworks 或 TeXshop 作为编辑器/前端,则插入元指令

% !TEX TS-program = lualatex

在您的 LaTeX 文档的最顶部将确保该文档将在 LuaLaTeX 下进行编译。

答案2

如果您将编辑器配置为运行arara而不是任何特定引擎,或者如果您arara在命令行上使用而不是任何特定引擎,那么您可以根据具体情况在文档中设置二进制文件。此外,您还可以将特定于文档的选项传递给编译器。

例如,

% arara: pdflatex: { synctex: true, shell: true }

表示该文件将用 进行编译pdflatex --synctex=1 --shell-escape

对于需要的文件lualatex,您可以简单地使用

% arara: lualatex: { synctex: true }

如果你愿意,可以说lualatex --synctex=1

对 Arara 附带的其他选项和二进制文件也可以执行相同的操作rules,并且可以定制这些规则并添加新规则以满足您的个人编译需求。

例如,这是我添加的一条规则.arara/rules/mpost.yaml

!config
# metapost rule for arara
identifier: mpost
name: metapost
command: <arara> mpost @{action} @{options} "@{file}"
arguments:
- identifier: action
  flag: <arara> -interaction=@{parameters.action}
- identifier: options
  flag: <arara> @{parameters.options}
# vim: set nospell:

这使得我可以让 Arara 与 MetaPost 一起编译。

请参阅手册以了解更多详细信息。

相关内容