目次

Overleaf上で前のバージョンとの差分PDFを作成する:分割コンパイル・コンパイラ変更について


査読での使用について
差分PDFを2回目の査読に出して怒られた話も聞いたことがあるので,チーム内の確認のためだけに使用するのが無難かも

コンパイラがLaTeXであり,分割コンパイルをしていない場合は,以下の記事を見れば良いです:[備忘録] Overleaf 上で latexdiff を使用する方法

分割コンパイルを行う場合

main.texの中で\input{1}のようにして1.tex, 2.texなどを引っ張ってきているとします.

1. 前のバージョンのフォルダを作成する

Historyから前のバージョンのファイルをダウンロードすることができます.あらかじめ作業が一区切りついた段階でバージョンがわかるラベルをつけておくとこの時に便利です.

Historyをクリック > 前のバージョンの最終変更で3点マークをクリック > Download this version

ここでは,old_versionフォルダ以下に前のバージョンのファイルを図表やbibtexファイルも含めてすべて入れたとします.図表やbibtexファイルを入れないとエラーが出ることがあると思います

2. .latexmkrcという名前のファイルを作成

コンパイラがpdflatexの場合は

1
$pdflatex = "latexdiff --flatten old_version/main.tex main.tex > maindiff.tex; pdflatex %O maindiff";

というコマンドを.latexmkrcに書きます.前半で差分texファイルを作成し,後半で差分texファイルをコンパイルして差分PDFを作成しています.flattenオプションは分割コンパイルを行っている場合に必要です.

コンパイラがLaTeXの場合は

1
$latex = "latexdiff --flatten old_version/main.tex main.tex > maindiff.tex; uplatex %O  maindiff";

でいけると思います(参考:[備忘録] Overleaf 上で latexdiff を使用する方法

-t CTRADITIONAL

好みの問題ですが,-t CTRADITIONALをつけると修正前の記述がfootnoteにまわるので読みやすいかもしれないです.このオプションをつけない場合は,修正前の記述は打ち消し線赤字で文章中に表示されます(修正後の記述は波下線青字)

1
$latex = "latexdiff --flatten -t CTRADITIONAL old_version/main.tex main.tex > maindiff.tex; uplatex %O  maindiff";

3. Recompile

最後にRecompileします.生成されたPDFはRecompileボタンの右にあるDownload PDFボタンをクリックするとダウンロードできます

Compile Error Handling
Compile Error HandlingをStop on first errorにしないとエラー出た時に無限時間かかることがあるので注意する.Compile Error Handlingの設定は,Recompileと書いてあるボタンの右の三角から可能.
ローカルで行う場合
ローカルのLaTeX環境でも"latexdiff –flatten old_version/main.tex main.tex > maindiff.tex” をした後にmaindiff.texをコンパイルすれば同じことができるはず.

参考文献