我想使用 在 Kile 下自动缩进我的代码。我安装了 TeXLive 2015 并在我的 tex 文件上latexindent
运行。arara
我尝试遵循手动的说明(第 5 页)乳胶压痕其中说要复制indent.yaml
到规则目录arara
或将所在目录添加latexindent.pl
到我的 araraconfig.yaml 文件中。最后一个在我的 TeXLive 发行版和文件中都不存在indent.yaml
,因此我复制ident.yaml
到arara
规则目录,但收到以下错误消息:
抱歉,无法找到“Indent”任务中的命令。您确定命令“latexindent.pl -s -t -w“filename.tex”正确吗,或者可以从系统路径访问吗?
哪里有问题?
答案1
我终于可以跑步了压痕乳胶正确,下面是我解决问题的方法
首先必须为 arara 创建一个配置文件: araraconfig.yaml
。此文件应放在您的主目录中,并应指示系统中文件/home/<yourusername>
的路径。我的 Linux 机器上的内容如下所示:latexindent.pl
araraconfig.yaml
config
paths:
- /usr/local/texlive/2015/texmf-dist/scripts/latexindent
(该latexindent
脚本随 2015 TeX Live 发行版提供)。
然后应该复制indent.yaml
规则arara
目录(可从以下位置下载这里)。现阶段还无法运行latexindent
,必须安装一些模块(参见文档第 17 页)。为此,从命令行运行:
cpan
如果未安装,Linux 将要求您安装它。然后您可以从 CPAN 提示符安装缺少的模块:
install YAML::Tiny
install Getopt::Long
install File::HomeDir
安装完成后,您可以latexindent
从命令行运行:
latexindent
为了能够使用 arara 运行,最后还需要做一件事,你应该从indent.yaml
文件中删除 .pl。这是应该修改的行
命令:@{isWindows("cmd /c latexindent.exe","latexindent.pl")}@{silent}@{trace}@{localSettings}@{cruft}@{isNotEmpty(cruft,'="'.concat(parameters.cruft).concat('"'))}@{overwrite}@{onlyDefault}@{output}"@{file}"@{isNotEmpty(output,'"'.concat(parameters.output).concat('"'))}