我刚刚对我的论文进行了重大修改,论文已使用 ConTeXt 排版。项目文件取自分布在 8 个目录中的大约 20-30 个文件,生成了一份 414 页的文档。
即使我将文件导出为非常不完整的 XML 格式,此文档对普通的 diffing 工具也具有惊人的抵抗力。是否有一种diff
或wdiff
技术可以生成更改列表,并且足够智能地检测整个部分是否被移动?
“最佳”方法是否只是wdiff
输入文件,然后以某种方式将这些差异连接成一个输出文件?
答案1
ConTeXt(或任何其他 TeX 宏包或引擎)无法知道您已经移动了部分内容。因此,除非您事先添加了一些结构(例如,通过将内容放入命名缓冲区或单独的输入文件中),否则 diff 输出将很大。
ConTeXt 中的 XML 导出确实使用了输出顺序,但使用非 XML 工具比较 XML 输出(无论好坏)并不容易,此外,它不完全是输入,因为文件和行号的链接丢失了(与导出有同样的问题pdf2txt
)。
我对大型项目中复杂变更跟踪的方法是使用版本控制系统和/或 IDE。但是如果你做不到这一点,我认为这pdf2txt
是你最不糟糕的选择,可以得到你喜欢的东西,或者也可以使用类似ConTeXt 的 XML 导出的diff
东西。xmldiff