近期不少用户问到如何用latexdiff来进行修订代码,如果大家用overleaf的话,也有类似的功能,不过使用本身不复杂,一个命令行就好了,排错会比较麻烦,尤其是有hyperref等宏包时,需要比较扎实的基础才能调试比较好的效果。
对LaTeX源文件进行修订有几种选择,包括changebar,vertbars,framed等宏包和latexdiff工具(见http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changebars的讨论)。
其中最实用,功能最全的latexdiff,这是一个perl写的工具集。主要包括latexdiff和latexrevise两个工具,前者分析两个源文件之间的差异,并生成带颜色的修订标志。用法:
latexdiff original.tex revised.tex >diff.tex
然后编译diff就可以生成带标注的文件。如果编译diff.tex时有错误,可能是因为TeX命令后有空格造成的。按latexdiff-man的说法,包含命令参数的大括号必须紧跟在命令后,中间不能有空格,同时参数也必须写在大括号里。因此可以写
\section{\textem{This is an emphasized section title}}
不能写
\section {\textem{This is an emphasized section title}}
也不能写
\section\textem{This is an emphasized section title}
如果错误在于数学公式,可以尝试选项:--math-markup=level ,其中的level可以取0,1,2,3。
也可以使用Lyx中的修订功能,将TeX源文件导入,并选择【追踪文本变更】和【在输出中显示变更】,对文件进行修订后导出,导出后的文件也显示标注。
选自:http://blog.sina.com.cn/s/blog_7005b0de0101dg2l.html
扩展阅读:https://www.sharelatex.com/blog/2013/02/16/using-latexdiff-for-marking-changes-to-tex-documents.html
https://tex.stackexchange.com/questions/87536/problem-using-latexdiff-and-pdflatex-with-custom-command
发表评论 取消回复