Latex 文档格式化
Latex 文档格式化
一直以来从未注意过 latex 文档如何保持缩进的一致性,许多编辑器在提供自动补全时也无法提供正确的缩进,最终使得文档十分混乱。
在 TexLive 中包含有 tex 文档格式化工具 latexindent,但是这个脚本是使用 perl 缩写,运行时需要一些第三方模块,在 osx 系统中直接运行会出现错误。
$ latexindent
Can't locate Log/Dispatch/File.pm in @INC (you may need to install the Log::Dispatch::File module) (@INC contains: /usr/local/texlive/2019/texmf-dist/scripts/latexindent /usr/local/Cellar/perl/5.30.0/lib/perl5/site_perl/5.30.0/darwin-thread-multi-2level /usr/local/Cellar/perl/5.30.0/lib/perl5/site_perl/5.30.0 /usr/local/Cellar/perl/5.30.0/lib/perl5/5.30.0/darwin-thread-multi-2level /usr/local/Cellar/perl/5.30.0/lib/perl5/5.30.0 /usr/local/lib/perl5/site_perl/5.30.0/darwin-thread-multi-2level /usr/local/lib/perl5/site_perl/5.30.0) at /usr/local/texlive/2019/texmf-dist/scripts/latexindent/LatexIndent/LogFile.pm line 24.
BEGIN failed--compilation aborted at /usr/local/texlive/2019/texmf-dist/scripts/latexindent/LatexIndent/LogFile.pm line 24.
Compilation failed in require at /usr/local/texlive/2019/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 25.
BEGIN failed--compilation aborted at /usr/local/texlive/2019/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 25.
Compilation failed in require at /Library/TeX/texbin/latexindent line 27.
BEGIN failed--compilation aborted at /Library/TeX/texbin/latexindent line 27.
安装这些第三方模块可以使用 cpan 工具,但是 osx 自带的 perl 运行cpan 会出现一些安装错误。需要首先用 Homebrew 安装新版本的 perl
$ brew install perl
随后使用 cpan 安装缺少的第三方库
$ cpan Log::Dispatch::File
在第一次运行时 cpan 会有询问,直接回车默认即可。
安装好后在vscode中打开tex文件,单击右键弹出菜单后点击Format Document即可自动将 latex 文档格式化。