有以下工具:clang 格式例如,采用“丑陋的”(未格式化的)C++ 源代码文件并应用特定的缩进和其他规则,以使代码更具可读性。
有没有可以自动格式化 LaTeX 源代码的工具?我想以某种方式保持我的 LaTeX 文件干净且在贡献者之间保持一致。
答案1
工具乳胶压痕@muzimuzhi-Z 在评论中建议的方法对我有用。这个 Perl 脚本似乎非常强大,但入门很容易:
安装
我已经有一个旧版本(可能是通过texlive-full
),但由于这个项目开发得相当活跃,我决定获取最新版本:
- 我从其官方存储库 GitHub
- 我安装了所有缺少的依赖项
sudo ./helper-scripts/latexindent-module-installer.pl
- 我将其添加到我的路径中
~/.bashrc
:export PATH="/path/to/latexindent.pl:$PATH"
用法
默认选项,覆盖文件(-w
),而不将副本写入终端(-s
):
latexindent.pl -w -s myfile.tex
.bak0
这将保留原始文件(或等等)的备份.bak1
。如果您在存储库中有此文件,则可能需要将其添加*.bak?
到您的.gitignore
.
您还可以在文件中指定自己的格式样式yml
,如下所示:latexindent.pl -l mysettings.yml myfile.tex
。
答案2
emacs(惊喜!)带有现成的 LaTeX 支持,很多更高级的支持提供 AUC-TeX(以及用于交叉引用和引用参考书目的 RefTeX)。所有标准软件包,请查看软件包索引。
无论如何,我将我的 LaTeX 源文件格式化为每行包含一个短语,以标点符号结尾,...这样(建议长的以前,当我为我的论文编写 troff (!) 时,使用 vi...) 更改通常意味着删除/插入或移动一行或多行,可以使用面向行的工具检查诸如“论文”或“大象”或“案例”之类的错误(甚至可以使用简单的正则表达式替换自动修复)。今天我把它藏在 git 中,这种格式还有一个额外的好处,即添加/删除单词等不会重新排列段落,因此版本差异确实突出了真正的变化。
是的,以这种方式重新格式化是一项必须手动完成的苦差事......但它需要一次(并在以后继续进行)。