跟随我的上一个问题,我已成功创建了一个差异大型复杂项目的文件,可以看到其结果这里。(最后通过更新latexdiff到最新版本:1.0.3,它不在 Ubuntu 12.04 ppas 中,并使用:PICTUREENV=(?:picture|DIFnomarkup|lstlisting|figure|table)[\w\d*@]*
作为配置文件。
能够滚动浏览文档并查看所做的所有改进真是太好了。谢谢 latexdiff!
下一个问题是 pdf 文档非常大,而且更改相对较少 - 我不能指望我的考官浏览所有 300 页以寻找红色和蓝色文本来指示更改。我需要的是变更摘要。这至少会包含已更改的文本。理想情况下,它还会包含上下文的周围单词和(可能性不大)更改的页码。我想到过以下方法:
- 重新定义
\DIFdelbegin
环境 - 使用像 grep 这样的正则表达式从 dif.tex 中提取包含的所有行
\DIF
并单独编译 - 使用 latexdiff 命令执行此操作(我已检查文档,但不知道如何操作。
- 采用完全不同的方法来解决此问题是否会更好(制作一个可访问的更改列表,不包括保持不变的文本)。
我知道类似问题已在此网站上关闭。希望这个问题的清晰度和示例的提供能够对其他人有用。
答案1
自 1.1.0 版本以来,latexdiff 中有一项新功能,即仅输出进行了更改的页面。
查看 option
--only-changes
tolatexdiff-vc
或 options-s ONLYCHANGEDPAGE
或-s ZLABEL
for latexdiff
。前者更加方便,因为后期处理是在后台完成的。
(我知道这个问题确实很老了,但是自从最初的答案发布以来,latexdiff 在这方面的改进是显着的)
答案2
我认为迄今为止最简单的方法是使用grep
。的 GNU 实现grep
(如果您运行的是 GNU/Linux,则可以使用)提供了一个名为的开关-C
来执行您想要的操作:它提供匹配项周围的上下文行。
这样的事情应该会有帮助
grep -C 5 '\\DIF' source.tex > destination.tex
这将提供匹配前 5 行和匹配后 5 行。修改性欲。
失败的原因
- 如果上下文行跨越 LaTeX 环境/组边界,您的新文档将无法编译。
- 如果一个
\DIF
存在于另一个的 5 行“半径”内,grep
则 的输出将包含重复项。如果您的编辑确实很少,这可能不是什么大问题,但您可能需要目视检查。
答案3
手动操作。
我发现创建“更改摘要”的最佳方法是搜索差异文件并手动挑选我需要的更改。这很棒,因为它允许我仅包含需要的更改,并包含足够的上下文,以便其他人了解进行更改的原因。
结果(见差异汇总.pdf),以及相关的.tex 文件和可重现的代码和示例数据论文已放在 GitHub 上,以鼓励透明和可重复研究:https://github.com/Robinlovelace/thesis-reproducible。希望这对其他希望优化使用 LaTeX 提交和修改论文项目的人有所帮助。