毫无疑问,微软Word是最常用的文档处理软件。这款“所见即所得”的文本处理器可满足许多作者的所有需求。对于许多AJE的客户来说, 微软Word中的跟踪修订功能尤为实用。然而,使用微软Word可能很难对某些文本进行格式调整和排版。
因此,许多科研人员更喜欢使用LaTeX。它可以提供专业的版面设计,提升排版质量,还拥有设置脚注、引文、表格和图片等便捷功能。尽管使用LaTeX编辑文档有诸多优点,但GNU Emacs、Vim和TeXworks等LaTeX编辑器很难显示出文本的修订情况。换言之,相较于LaTeX编辑器,微软Word更易实现跟踪修订的功能。
基于Perl语言的latexdiff工具,为TeX文件跟踪修订提供了解决方案。
latexdiff工具推出于2013年初,可用于显示多个作者所编辑的长文本的改动。这个工具编译“compare”(比较)文件,即可像编译典型的LaTeX文件一样,生成PDF文件,以不同颜色标示插入和删除的内容(如分别使用蓝色和红色字体),从而显示原文档和修订文档之间的差异。
本文AJE美国期刊专家旨在帮助您学习安装和使用latexdiff。
开始之前,请做好如下准备:
- 确保已经安装TeX系统,如用于MS Windows 的MiKTeX 21.6或用于Mac OS X的MacTeX-2021,以上均为开源软件。
- MS Windows系统必须预先安装Perl(5.8或更高版本)(Mac OS X系统自带Perl)。点击此处可下载安装包。
- 点击此处下载适用MS Windows系统的latexdiff源代码。对于Mac OS X,代码可从TeX Live Utility的任一CTAN库中下载。
- 解压latexdiff文件并将其复制到Perl > bin文件夹中(默认安装路径C:\ 盘)。
如您使用MS Windows系统
- 打开MiKTeX Package Manager,找到latexdiff软件包,右键单击,选择“Install package”(安装软件包)。
- 弹窗显示将安装1个软件包,删除0个软件包。点击“OK”( 确定)。
- 安装完成后,进入Tasks → Refresh file name database(任务→更新文件名数据库)
如您使用Mac OS X系统:
- 打开TeX Live Utility
- 搜索latexdiff
- 按住Ctrl键,单击latexdiff,选择“Install package”(安装软件包)
在继续操作之前,我们强烈建议您为每个LaTeX文件(如每篇论文或每部书稿)单独创建文件夹,因为编译器在编译过程中会生成采用通用名的辅助文件,可能覆盖此前生成的同名文件。
生成PDF比较文件有两种方法:第一,编译单个文件(即TeX文件包含序言和论文正文);第二,编译多个文件(即书稿或论文的每个章节均为单独的TeX文件,分章节撰写的学位论文和书稿均属于此类)。下面分别给出两种方法的操作指南。
编译单个文件
这种方法相对简单。
1.首先,确保原文档和修订文档在同一文件夹中。
原文档("article.tex")、修订文档("article - edited.tex")以及一些辅助文件位于同一文件夹中。
2.在你的操作系统中打开命令终端(Windows中称为 “命令提示符”或“终端”,Mac中称为“终端”),将路径切换至包含待编译论文的文件夹。更改路径的命令可能因操作系统而异。常用命令为"cd",例如,"cd C:\Documents "将路径切换至C:\盘的Documents文件夹。
命令终端窗口界面。用户输入选定文本,将路径切换至C:/盘 "latex"文件夹。
3.按照以下格式,调用latexdiff:
- latexdiff original_file.tex edited_file.tex > compare.tex
这个命令将比较"original_file.tex "和 "edited_file.tex "文件,生成可显示修订文档改动之处的新文件。该文件将被命名为 "compare.tex"。请注意, compare.tex文件中有大量不便于阅读和修改的代码。因此,如果需要修改,我们强烈建议您在edited_file.tex(即修订文档)中进行修改,然后运行latexdiff来生成compare.tex,而不是直接修改compare.tex。
图示文件夹与上图相同,但增加了latexdiff由 "article.tex "和 "article - edited.tex "创建的新文件 "compare.tex"。
compare.tex文件示意图,其中包含一些latexdiff命令,如"\DIFdelbegin "和"\DIFdelend"表示删除的文本。
4.使用你喜欢的LaTeX编译器,例如pdfLaTeX,根据compare.tex文件生成PDF文件。如果你希望正确显示引用的文献,可以像平常一样调用bibtex或biber。
编译compare.tex生成的PDF文件。红色删除线文本表示删除的内容,蓝色下划线文本表示增加的内容。
编译多个文件
这种情况略显复杂,需要用到TeX主文件(如main.tex),其中包含序言、 \begin{document} 和 \end{document} 命令,以及插入其他TeX文件(如书稿或文章的章节)的 \input{ } 命令。
1.首先,将所有的原文档放在一个子文件夹中,如original/;将所有修订文档(文件名与相应的原文档相同)放在另一个子文件夹中,如edited/。注意,某些情况下,前述TeX主文件可能未经修改(例如,如果所有可编辑文本都包含在组成文件中)。无论主文件是否修改过,original/和edited/子文件夹都应包含主文件。
包含LaTeX文件的“original”和“edited”文件夹。
“edited”文件夹中的文件。主文件“book.tex”未经修改,但部分其他文件曾修改过。
2.按照前述格式输入命令,将路径切换至上一级文件夹(包含original/和edited/的文件夹)。
3.按照以下格式调用latexdiff:
- latexdiff --flatten original/main.tex edited/main.tex > compare.tex
该命令基于original/和edited/文件夹中的所有文件,生成名为 "compare.tex "的比较文件。
4.compare.tex文件位于上一级文件夹,文件中包含所有文件对应的latexdiff代码。使用LaTeX编译器操作这个文件,可生成所需的PDF。
包含latexdiff生成的“compare.tex”文件的上级目录。
基于“compare.tex”生成的PDF文件示意图,图中显示了chapter.tex中的一处改动。
AJE希望该指南能帮助您生成PDF格式的比较文件,与同事分享交流。