次のようなツールがあります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ソースファイルを各行にフレーズを1つずつ含め、句読点で終わらせるようにフォーマットします。長さ以前、論文用に troff (!) を書いていたとき、vi を使用していました...) 変更は、行の削除/挿入または行の移動を意味することが多く、"an thesis" や "a elephant" や "the the case" などの間違いのチェックは、行指向のツールで行うことができます (単純な正規表現の置換で自動的に修正することもできます)。今日、私はそれを git に保存します。この形式には、たとえば単語の追加/削除によって段落がリフローされないという追加の利点があり、バージョンの違いによって実際の変更が強調表示されます。
はい、そのように再フォーマットするのは手作業で行う必要がある面倒な作業です...しかし、それは一度だけ必要です (そして後で続けます)。