近期不少用户问到如何用latexdiff来进行修订代码,如果大家用overleaf的话,也有类似的功能,不过使用本身不复杂,一个命令行就好了,排错会比较麻烦,尤其是有hyperref等宏包时,需要比较扎实的基础才能调试比较好的效果。


LaTeX源文件进行修订有几种选择,包括changebarvertbarsframed等宏包和latexdiff工具(见http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changebars的讨论)。

其中最实用,功能最全的latexdiff,这是一个perl写的工具集。主要包括latexdifflatexrevise两个工具,前者分析两个源文件之间的差异,并生成带颜色的修订标志。用法:

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

点赞(6)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部