在使用latex的时候,我们常常会把文档交给很多人帮忙修改,我选择用git来管理不同的版本。但是用git diff
来查看tex文件的修改是一件非常令人头疼的事情,因为它会将一整行都标记出来。
这个时候就需要用到latexdiff,latexdiff能够将两个文件进行比较,然后得到一个新的可编译的tex文件,编译之后可以在pdf中查看文章的改动。
效果如下:
安装latexdiff
git clone https://github.com/ftilmann/latexdiff
cd latexdiff
sudo make install
在git仓库中使用latexdiff
以git为例,当我们需要比较不同版本某文档的时候,
- 首先获得对应版本的文件,保存到当前目录下,
git show <commit>:filename.tex > tmp.tex
- 使用latexdiff命令,
latexdiff tmp.tex filename.tex > tmpdiff.tex
与diff类似,第一个文件名参数对应--
,第二个文件名参数对应++
。 - 编译
tmpdiff.tex
。在编译过程中,在有自定义command的地方若有改动,很容易编译出错,手动对文件进行调整即可。 - 完成后可保存pdf文件,产出过程中产生的其他文件:
1
2mv -v tmpdiff.pdf Diffed.pdf
rm -v tmp.tex tmpdiff.*
PS:另外有一款git-latexdiff工具,专门针对latexdiff在git中使用的情况,可以一行命令生成pdf文件,但是当tmpdiff.tex
文件编译出错的时候,调试起来比较麻烦。