我之前曾发布过一个关于 Arara 的问题,其中有 TeXlive 2022 以及对 ConTeXt 的具体介绍(请参阅ConTeXt 和 Arara,失败。由于“缺乏清晰度”,该问题已被关闭,我已放弃它并转而提出这个新问题。
因此:我现在已经通过 ISO -> USB 方法安装了 TeXlive 2023(请参阅2023 TeXlive 安装失败。当我尝试在 TeXstudio、TeXworks 或 Kile 中运行 Arara 时,arara 只会显示“启动画面”,如下所示:
Usage: arara [OPTIONS] file...
__ _ _ __ __ _ _ __ __ _
/ _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
\__,_|_| \__,_|_| \__,_|
The cool TeX automation tool.
arara executes the TeX workflow you tell it to execute. Simply specify your
needs within your TeX file and let arara do the work. These directives
feature conditional execution and parameter expansion.
Options:
-l, --log Generate a log output
-v, --verbose / -s, --silent Print the command output
-n, --dry-run Go through all the motions of running a
command, but with no actual calls
-S, --safe-run Run in safe mode and disable potentially
harmful features. Make sure your projects
uses only allowed features.
-w, --whole-file Extract directives in the file, not only in
the header
-p, --preamble TEXT Set the file preamble based on the
configuration file
-t, --timeout INT Set the execution timeout (in milliseconds)
-L, --language TEXT Set the application language
-m, --max-loops INT Set the maximum number of loops (> 0)
-d, --working-directory PATH Set the working directory for all tools
-P, --call-property VALUE Pass parameters to the application to be
used within the session.
--generate-completion [bash|zsh|fish]
Generate a completion script for arara. Add
'source <(arara --generate-completion
<shell>)' to your shell's init file.
-V, --version Show the version and exit
-h, --help Show this message and exit
Arguments:
file The file(s) to evaluate and process
笔记:我认为这与我之前遇到的错误相比有所改进,当时 arara 告诉我**could not access the arara.jar file**
笔记:我可以从终端窗口成功运行 arara,但只有从“my_document.tex”文件所在的文件夹打开终端窗口时才可以:
username@username-computername:~/Documents/documents_2022_2023/specific_documents$ arara my_document.tex
__ _ _ __ __ _ _ __ __ _
/ _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
\__,_|_| \__,_|_| \__,_|
Processing "my_document.tex" (size: 7.1 kB, last modified:
2023-04-15 19:52:08), please wait.
(LuaLaTeX) LuaLaTeX engine .............................. SUCCESS
Total: 1.513 seconds
username@username-computername:~/Documents/documents_2022_2023/specific_documents$
另一方面,如果我从同一目录执行相同的命令,在根控制下:
username@username-computername:~/Documents/documents_2022_2023/specific_documents# arara my_document.tex
操作失败。它会发出一个回复,
root@username-computername:/home/username/Documents/documents_2022_2023/specific_documents# arara my_document.tex
Error: Unable to access jarfile
root@username-computername:/home/username/Documents/documents_2022_2023/specific_documents
在我看来,终端模式下的行为一定能提供一些线索,说明为什么我无法让 arara 在任何特定于 TeX 的编辑器中运行。显然,这与权限有关。但是,我无法看到和理解它在哪里脱轨,可以这么说。
答案1
在仔细检查了每个编辑器(TeXworks、TeXstudio、Kile)中的编译命令(pdflatex、lualatex 等)后,我解决了自己的问题。线索来自于这样一个事实:尽管阿拉拉将从终端运行,当从这些 TeX 编辑器中调用它时,它将显示与在终端上运行命令时相同的“启动”屏幕$ arara
,没有指定要处理的目标文件。
我仍然不知道如何三个全部这些编辑器同时遇到了同样的问题阿拉拉(之前它们运行良好)。这可能仍然是个谜。
正如我上面提到的,在每种情况下,问题都出在编辑器内部,因为阿拉拉曾是不是带有 *.tex要处理的文件名(注:我的直觉是编译器会自动[神奇地?]使用“正在进行”的文件,错误的。
必须设置编辑器来提供 *.tex文件名阿拉拉被称为。以下是我尝试过的每个编辑器的设置要求:
对于 TeXstudio:
转到选项 --> 配置 TeXstudio --> 构建 --> 用户命令;选择“+添加”,然后将此路径添加到阿拉拉程序(放在双引号内,如下所示),并将其附加到%.tex:
"/usr/local/texlive/2023/bin/x86_64-linux/arara" %.tex
单击“确定”退出。使用已知良好的 *.tex 文件(该文件可以用已知编译器(例如 pdflatex)编译)检查编辑器功能;例如,将其添加
% arara: pdflatex
为序言的第一行。
笔记:使用 ConTeXt,您必须使用后缀.tex对于您的工作文件,即使 ConTeXt 团队不建议使用普通的 *.tex 扩展名(为了区分它们,我的 ConTeXt 文档现在显示为my_filename.mkiv.tex
)****。
对于 TeXworks: 从菜单中,选择编辑-->首选项-->排版;从列表中选择(或重新创建)处理工具;然后单击编辑...;然后在工具配置菜单中输入名称:阿拉拉 程序:阿拉拉 参数:$fullname(您可以选择“运行后查看 PDF”)单击“确定”。使用已知良好的 *.tex 文件测试您的系统,使用阿拉拉作为编译器,如上所述
对于 Kile: 从菜单中,设置 --> 配置 Kile --> 构建 选择工具阿拉拉(或在必要时添加它);然后您必须使用右侧的 3 个选项卡式菜单来配置该工具;选择:默认{<---请参阅下面 *** 处的我的注释}在“常规”选项卡下,选择命令:阿拉拉 选项:%source 在“高级”选项卡下,类型:在 Kile 类之外运行:编译源扩展名:(留空)目标扩展名:PDF 目标文件:(留空)相对目录:(留空)(单击确定)使用以下命令测试您的 Kile 编辑器阿拉拉如上所述
回顾一下:这要编译的 .tex 文件有三种不同的标记方式:在 TeXstudio 中,它是“.tex";在 TeXworks 中,它是"$全名“;而在 Kile 中,它是”%来源“
*** 可能会添加第二种配置,专门用于使用特定引擎(例如 ConTeXt-Lualatex)的 ConTeXt,但我尚未对此进行测试
****很可能可以添加第二个用户命令(例如名为“arara-Context”),并使用不同的文件扩展名作为目标(例如,%.mkiv),但我还没有测试过