目次

LaTeX文書の差分の作り方

前提

LaTeX文書を推敲して改訂する場合、語句や文節の挿入、削除あるいは書き直しに伴って、当初は綺麗だった改行位置がずれる場合がある。 この時、自動改行機能をもつエディタでは、親切に改行してくれてしまうが、改訂作業の確認が必要な大事な原稿を推敲する際には、自動改行はオフにしておく方がいい。さもないと、前の版と次の版の差を見るのがおおごとになる。

2つのLaTeXソースコードで改行位置やタブの変更があまり多くない場合

タブを揃え直したりせず、改行位置も変更していなければ、2つのソースコードの差は、追加したり削除した文字列の差でしかないので、テキストファイルの比較のために差分をとるコマンドを用いるて、比較できる。単語や文節の追加に伴って、改行位置を変更していくと、これがしにくくなる。

UNIX環境 (UNIX, Linux, FreeBSD, Mac OS X, Cygwin, GnuWin32, MinGW, GNU on Windows)

コマンドラインでdiffコマンドを用いる。

% diff latex_document_from.tex latex_document_to.tex

差分を保管したいなら、リダイレクトを用いる。

% diff latex_document_from.tex latex_document_to.tex > latex_document_from_to.diff.txt
Windows環境

Windows環境では、DOSプロンプトでfcコマンドを用いる。

C:\ fc latex_document_from.tex latex_document_to.tex

差分を保管したいなら、リダイレクトを用いる。

C:\ fc latex_document_from.tex latex_document_to.tex > latex_document_from_to_diff.txt

2つのLaTeXソースコードは確かに旧版と新版だがかなり変更してしまった場合

UNIX環境 (UNIX, Linux, FreeBSD, Cygwin, GnuWin32, MinGW, GNU on Windows)

LaTeXソースコードを直接比較して

diff latex_document_from.tex latex_document_to.tex

とすると、改行位置の変更にともなう、文書としては変更されていない部分が大量に変更箇所として表示されることがある。 それよりは、出来上がったdviファイルを比較する方が、改訂内容の比較が容易になることが期待される。 そのために、dvi2ttyというdviファイルからテキストファイルを生成するコマンドを用いる。

まずdvi2ttyがなければインストールする。 そして

dvi2tty latex_document_from.dvi > latex_document_from.txt
dvi2tty latex_document_to.dvi > latex_document_to.txt
diff latex_document_from.txt latex_document_to.txt

としてみる。

Adobe Acrobat Proが使える環境 (Windows, Mac OS X)

Acrobat Proの[View]メニューの中に、[Compare Documents]という項目がある。 選択すると、次のようなダイアログが現れる。

旧版(上)と新版(下)の2つのPDFファイルを指定してOKをクリックすると、新版をベースに旧版との差異のあったページに差異を追記したPDFファイルを生成してくれる。 このファイルを元に、2つのLaTeXソースコードではなくLaTeXで作成した文書を直接比較することができる。

ただし、改行位置の変更や文字の増減に伴って、微妙に文字の位置がずれたり、空白の幅がずれると、それも差異として検出する。特に数式はソースコードの改行の挿入などで、微妙に調整されやすいので、確認する時には慣れると良い。