使用latexdiff查看tex文件的修改

在使用latex的时候,我们常常会把文档交给很多人帮忙修改,我选择用git来管理不同的版本。但是用git diff来查看tex文件的修改是一件非常令人头疼的事情,因为它会将一整行都标记出来。
这个时候就需要用到latexdiff,latexdiff能够将两个文件进行比较,然后得到一个新的可编译的tex文件,编译之后可以在pdf中查看文章的改动。
效果如下:
img

安装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
    2
    mv -v tmpdiff.pdf Diffed.pdf
    rm -v tmp.tex tmpdiff.*

PS:另外有一款git-latexdiff工具,专门针对latexdiff在git中使用的情况,可以一行命令生成pdf文件,但是当tmpdiff.tex文件编译出错的时候,调试起来比较麻烦。