😊

LaTeXでgit更新の差分をPDFにする

2021/04/21に公開1

はじめに

\LaTeX の原稿を修正したときに,修正内容の差分を分かりやすく PDF にして確認したい場合があります。
とくに、先生に原稿をチェックしていただくときに、差分が直感的に分かりやすいようにしたいです。

このような原稿の差分をチェックする\LaTeXのコマンドに latexdiff ならびに latexdiff-vc があります。

latexdiff-vclatexdiff コマンドをオーバーラップしたものになります。
差分を分かりやすく表示する latexdiff コマンドに対して、 git などのバージョン管理と連携させるのが latexdiff-vc コマンドとなります。

このご時世、\LaTeXを書くときは基本的に git などのバージョン管理システムを利用していると思われるため、 latexdiff-vc を利用することにします。

latexdiff-vc

latexdiff-vc は Tex Live を導入するとデフォルトで入っているコマンドです。

以下のように使うことができます。

latexdiff-vc -e utf8 --git --flatten --force -r 286bfd7 main.tex

特徴的なオプションとして、--flattenがあります。
input{}などを利用して \TeXファイルを分割して書いている場合は、 flatten を指定する必要があります。

-r は修正前の過去のコミット ID を指定します。
ブランチ名なども指定可能です。

このようにコマンドを打つと、 main-diff286bfd7.tex ファイルが生成されます。
あとは、このファイルを pdf にすれば差分が青と赤で表示されます。

Image from Gyazo

GitHubで編集を提案

Discussion

sudamesudame

すぐコマンドを忘れてしまうので、毎回このページを参考にしています。ありがとうございます。

日本語で LaTeX 文書を書いている場合、デフォルトの波下線による変更箇所の強調表示では、変更箇所が行を貫いて表示されてしまう問題があります。

latexdiff-vc -e utf8 -t CFONT --git --flatten --force -r 286bfd7 main.tex

のように -t CFONT オプションを付けて文字色だけを変えるようにすると期待どおりの結果が得られます。