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 には、変更が行われたページのみを出力する新しい機能があります。

--only-changesのオプションまたはのlatexdiff-vcオプションまたは を確認してください 。前者の方が、後処理がバックグラウンドで行われるため、はるかに便利です。-s ONLYCHANGEDPAGE-s ZLABELlatexdiff

(この質問は本当に古いことは承知していますが、元の回答が投稿されて以来、この点における latexdiff の改善は顕著です)

答え2

最も簡単な方法は、 を使用することだと思いますgrep。 の GNU 実装grep(GNU/Linux を実行している場合はこれが使用できます) は、-Cまさに必要な操作を実行するために と呼ばれるスイッチを提供します。つまり、一致の周囲にコンテキスト行を提供します。

このようなものが役に立つはずだ

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

これにより、一致の前後に5行ずつ表示されます。アドリビドー

失敗する可能性のある方法

  • コンテキスト行が LaTeX 環境/グループの境界を越えると、新しいドキュメントのコンパイルは失敗します。
  • \DIF別の 5 行の「半径」内に存在する場合、grepの出力には重複が含まれます。編集が実際にまばらであれば、これはそれほど問題にならないかもしれませんが、視覚的に確認する必要があるかもしれません。

答え3

手動で行ってください。

「変更の概要」を作成するための最良の方法は、差分テキストファイルを作成し、必要な変更を手動で選択しました。これは、必要な変更のみを含めることができ、変更が行われた理由を他の人が理解できるように十分なコンテキストを含めることができ、非常に便利でした。

結果(差分.pdf)、関連する.texファイルと再現可能なコードとサンプルデータ論文は、透明性と繰り返し可能研究:https://github.com/Robinlovelace/thesis-reproducible論文プロジェクトの提出や変更のために LaTeX の使用を最適化したいと考えている他の人々にとっても、これが役立つことを願っています。

関連情報