我猜我忽略了一些东西,但我找不到在处理主文件时在子文件上运行 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
会告诉你发生了什么事第二通过,但这并没有什么用。