![强制使用特定排版引擎的命令](https://linux22.com/image/338207/%E5%BC%BA%E5%88%B6%E4%BD%BF%E7%94%A8%E7%89%B9%E5%AE%9A%E6%8E%92%E7%89%88%E5%BC%95%E6%93%8E%E7%9A%84%E5%91%BD%E4%BB%A4.png)
我有一些文件需要用 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 一起编译。
请参阅手册以了解更多详细信息。