有一些工具,例如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...) 更改通常意味著刪除/插入或移動一行或多行,檢查諸如“論文”或“大象”或“the該案例”可以使用面向行的工具來完成(甚至可以透過簡單的正規表示式替換來自動修復)。今天我將它儲存在 git 中,該格式還有一個額外的好處,即添加/刪除例如單字不會重排該段落,因此版本差異確實突出了真正的更改。
是的,以這種方式重新格式化是一件必須手動完成的苦差事……但只需要一次(並在以後繼續)。