我正在尝试为 ConTeXt 制作一个简单的 Hello, World 示例。文件本身可以运行,但我无法指示arara
使用它进行编译texexec
。
% arara: context
\starttext
Hello, World!
\stoptext
规则context
或都不texexec
存在搜索路径,但我无法想象有不ConTeXt 的规则。(即使没有这个规则,也会出现漂亮的arara
“Hello World”。)
答案1
ConTeXt不需要诸如、、等arara
LaTeX编译工具。latexmk
rubber
在 LaTeX 中,基本命令如latex
、pdflatex
、luatatex
只是运行底层 TeX 引擎,并预加载 LaTeX 格式。参考书目、索引、词汇表等功能由外部工具处理,运行这些工具是用户的责任。此外,用户还负责运行适当次数的 LaTeX,以确保交叉引用等正确无误。
相比之下,在 ConTeXt 中,基本命令context
和texexec
是分别用 lua 和 ruby 编写的脚本的包装器,负责处理所有事情。索引和词汇表的排序采用 ConTeXt 格式处理,包装器脚本在需要时运行 bibtex,并根据需要多次编译文件。
回到手头的问题,arara 不需要上下文规则。
答案2
如果您运行的是 arara 5.1.0 或更高版本,则可以使用 arara 的集成context
规则(请参阅变更日志和手册)。对于大多数文件来说,只需将其放在% arara: context
文件顶部即可。
我也不同意 Aditya 的说法
回到手头的问题,arara 不需要上下文规则。
因为这条规则的优点(以及为什么首先添加它)在于你可以在你可能拥有的每个 TeX 文档上运行 arara,无论是 LaTeX 还是 ConTeXt,因此如果你的存储库中混合了 LaTeX 和 ConTeXt 文档,则无需分支你的编译流程。
但是,其他观点都是完全有效的,如果您不需要arara
统一编译流程的间接寻址,那么调用context
包装器就是可行的方法。