如何使用 latexdiff 创建“变更摘要”

如何使用 latexdiff 创建“变更摘要”

跟随我的上一个问题,我已成功创建了一个差异大型复杂项目的文件,可以看到其结果这里。(最后通过更新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-changestolatexdiff-vc或 options-s ONLYCHANGEDPAGE-s ZLABELfor 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 提交和修改论文项目的人有所帮助。

相关内容