到目前为止,我一直在使用 TeXworks 编辑我的.tex
项目。当项目被分成几个子文件时,我可以使用% TeX root=my_main_file.tex
指令来编译主文件而不是正在编辑的文件。文件编译后将my_main_file.pdf
显示在 TeXworks 的 pdf 查看器中。
昨天决定测试一下,arara
因为我也想用一下它的clean
规则,安装好之后,大致看了下手册,不知道怎么实现my_main_file.pdf
排版后自动打开my_subfile
。
arara
排版引擎用$fullname --verbose --log
和view PDF after running
标记来声明。
规则按预期%arara: pdflatex
工作my_main_file.tex
:主文件被处理和查看。
规则% arara: pdflatex: {files: [ my_main_file ] }
的my_subfile.tex
工作几乎与预期一致:主文件已处理但查看器中未显示任何内容。
我错过了什么?
答案1
首先,感谢您的arara
尝试。:)
我们正在制作新3.x
系列,希望它会成为有史以来最好的版本。:)
View PDF after running
当您在配置工具时标记该选项时,TeXworks 将监视当前文件以等待更改。如果您arara
运行foo.tex
,TeXworks 将等待该特定文件中的更改。现在,当我们调用arara
另一个文件时,TeXworks 不知道正在处理另一个文件,因此不会显示 PDF 预览。
我们可以通过在我们的文件中添加以下 TeXworks 指令来轻松“修复”(从技术上讲,这不是一个修复,它只是一个“嘿,TeXworks!我正在运行foo.tex
,但我的主文件是。”)此行为:bar.tex
subfile.tex
% !TeX root = mymainfile.tex
Hello world
这应该够了吧。:)
arara
包含的文件中甚至不需要该指令。
当我们使用% !TeX root
TeXworks 提供的指令时,当前$fullname
变量设置为mymainfile.tex
,因此arara
将读取指令mymainfile.tex
而不是当前文件。
正如 egreg 在评论中提到的,还建议% !TeX program=arara
在辅助文件中包括另一个 TeXworks 指令,以确保arara
可以运行。可能arara
未在程序列表中选择。:)