ConTeXt 有默认的 arara 规则吗?

ConTeXt 有默认的 arara 规则吗?

我正在尝试为 ConTeXt 制作一个简单的 Hello, World 示例。文件本身可以运行,但我无法指示arara使用它进行编译texexec

% arara: context
\starttext
Hello, World!
\stoptext

规则context或都不texexec存在搜索路径,但我无法想象有ConTeXt 的规则。(即使没有这个规则,也会出现漂亮的arara“Hello World”。)

答案1

ConTeXt不需要诸如、、等araraLaTeX编译工具。latexmkrubber

在 LaTeX 中,基本命令如latexpdflatexluatatex 只是运行底层 TeX 引擎,并预加载 LaTeX 格式。参考书目、索引、词汇表等功能由外部工具处理,运行这些工具是用户的责任。此外,用户还负责运行适当次数的 LaTeX,以确保交叉引用等正确无误。

相比之下,在 ConTeXt 中,基本命令contexttexexec是分别用 lua 和 ruby​​ 编写的脚本的包装器,负责处理所有事情。索引和词汇表的排序采用 ConTeXt 格式处理,包装器脚本在需要时运行 bibtex,并根据需要多次编译文件。

回到手头的问题,arara 不需要上下文规则。

答案2

如果您运行的是 arara 5.1.0 或更高版本,则可以使用 arara 的集成context规则(请参阅变更日志手册)。对于大多数文件来说,只需将其放在% arara: context文件顶部即可。

我也不同意 Aditya 的说法

回到手头的问题,arara 不需要上下文规则。

因为这条规则的优点(以及为什么首先添加它)在于你可以在你可能拥有的每个 TeX 文档上运行 arara,无论是 LaTeX 还是 ConTeXt,因此如果你的存储库中混合了 LaTeX 和 ConTeXt 文档,则无需分支你的编译流程。

但是,其他观点都是完全有效的,如果您不需要arara统一编译流程的间接寻址,那么调用context包装器就是可行的方法。

相关内容