如何使用 Latexdiff 建立“變更摘要”

如何使用 Latexdiff 建立“變更摘要”

跟隨我的上一個問題,我已經成功創建了一個差異特克斯一個大型、複雜專案的文件,其結果可見這裡。 (這是透過更新完成的乳膠差異到最新版本:1.0.3,它不在 Ubuntu 12.04 ppa 中,並使用:PICTUREENV=(?:picture|DIFnomarkup|lstlisting|figure|table)[\w\d*@]*作為設定檔

能夠滾動瀏覽文件並查看已做出的所有改進真是太好了。謝謝乳膠差異!

下一個問題是 pdf 文件非常大,並且更改相對稀疏 - 我不能指望我的審查員會瀏覽所有 300 頁尋找紅色和藍色文字來指示更改。我需要的是一個變更摘要。這至少包含已更改的文字。理想情況下,它還包含上下文周圍的單字和(長遠來看)更改的頁碼。我想過這樣做的方法:

  • 重新定義\DIFdelbegin環境
  • 使用像 grep 這樣的正規表示式從 dif.tex 中提取包含該內容的所有行\DIF並單獨編譯
  • 使用 Latexdiff 命令執行此操作(我已檢查文檔,但不知道如何操作。
  • 完全不同的方法是否可以更好地解決這個問題(製作一個可訪問的更改列表,而不包括保持不變的文字)。

我認識一個類似的問題網站已關閉。希望這個問題的清晰度和提供的範例對其他人有用。

答案1

自版本 1.1.0 以來,latexdiff 中有一個新功能,即僅輸出已進行更改的頁面。

查看選項 --only-changeslatexdiff-vc選項-s ONLYCHANGEDPAGE-s ZLABELfor latexdiff。前者比較方便,因為後製是在幕後完成的。

(我知道這個問題確實很老,但是自從發布原始答案以來,latexdiff 在這方面的改進非常重要)

答案2

我認為迄今為止最簡單的方法是使用grep. GNU 實作grep(如果您運行的是 GNU/Linux,這就是您所擁有的),提供了一個名為 的開關-C來完全執行您想要的操作:它提供了比賽周圍的上下文行。

像這樣的東西應該​​有幫助

grep -C 5 '\\DIF' source.tex > destination.tex

這將提供比賽前 5 行和比賽後 5 行。調整性慾旺盛

可能失敗的方式

  • 如果上下文行跨越 LaTeX 環境/群組邊界,您的新文件將無法編譯。
  • 如果 a\DIF存在於另一個的 5 行「半徑」內,grep則 的輸出將包含重複項。如果您的編輯確實稀疏,這可能不是什麼大問題,但您可能需要進行目視檢查。

答案3

手動執行。

我發現創建“變更摘要”的最佳方法是搜索差異特克斯文件並手動選擇我需要的更改。這很棒,因為它允許我只包含所需的更改,並包含足夠的上下文以允許其他人理解為什麼要進行更改。

結果(見差分和.pdf),連同相關的 .tex 檔案和可重現的程式碼和範例資料論文已放在 GitHub 上,以鼓勵透明和可重複的研究:https://github.com/Robinlovelace/thesis-reproducible。希望這對其他希望優化 LaTeX 提交和修改論文專案的人有用。

相關內容