如何使用 arara 和 latexindent 自动缩进子文件?

如何使用 arara 和 latexindent 自动缩进子文件?

我猜我忽略了一些东西,但我找不到在处理主文件时在子文件上运行 arara 的解决方案。我想自动缩进我的代码,但只对main.tex.

我安装了,latexindent.plx效果很好。如果我% arara: indent: { overwrite : yes }在单个文件文档上运行,一切都会按预期运行。

在我的实际文档中它将main.tex看起来像这样:

% arara: lualatex: { shell: yes }
% arara: indent: { overwrite : yes }
% arara: indent: { trace : yes }
\input{header}
\begin{document}
\include{chapter/foo}
\end{document}

对于这个解决方案,我得到了main.tex漂亮的缩进,但标题和章节却不是。由于 arara 正在整个源代码中寻找命令,我% arara: indent: { overwrite : yes }在一些子文件之上添加了另一个命令,但它们不会影响该过程。我很高兴得到提示,我的思维错误在哪里。

答案1

首先,非常感谢你的尝试latexindent:)

你的问题和arara:制定规则,从章节文件编译主文件诀窍是告诉arara您想要操作哪些文件。

这样,下面的工作就可以按您想要的方式进行。

% arara: indent: { overwrite : yes, trace: yes, files: [ chapter/foo.tex, header.tex, chapter/bar.tex ]  }
\input{header}
\begin{document}
\include{chapter/foo}
\end{document}

请注意,我已将您的两个arara indent指令合并为一个,否则您将运行两次 - 这应该没有必要,并且可能应该避免。如果latexindent第一的通过,然后他们trace会告诉你发生了什么事第二通过,但这并没有什么用。

相关内容