天地有情

[LaTeX] latexdiff --- LaTeXファイルの重要な違いを特定してマークアップする

§1 はじめに

Latexdiffは,2つのLaTeXファイル間の重要な違いの視覚的なマークアップと改訂のためのPerlスクリプトです.
色などの標準的なLaTeXパッケージを使用して,ビジュアルマークアップにさまざまなオプションを使用できます.
書式設定コマンドなど,表示されているテキストに直接影響を与えない変更は,LaTeXソースにはまだマークされています.

1.1 インストール

必要に応じて,CTAN( https://ctan.org/pkg/latexdiff )から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.
(注) 別途 Perl のインストールが必要です.

1.2 マニュアル

コマンドラインから texdoc latexdiff-man を実行するか,
上記に同梱の latexdiff-man.pdf をお読み下さい.

§2 使い方

古いファイルold.texと新しいファイルnew.tex という2つのLaTeXファイル間の重要な違いの視覚的な
マークアップを得たい場合は,コマンドラインで次を操作します.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
● latexdiff [<options>] old.tex new.tex > diff.tex

  これで,差分ファイル diff.tex が生成され,これをコンパイルします.
  日本語文書(utf-8)の場合は,次のコマンドが便利です.

● ptex2pdf -l diff.tex
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


【補足説明】

差分ファイル diff.tex をエディタで開いて内容を確認すると,次のことがわかります.

● 差分表示に必要なマクロ
  \DIFから始まる複数のマクロ定義がプリアンブルに挿入されている.
  
● 削除された部分
  \DIFdelbegin \DIFdel{<削除された部分>}\DIFdelend
  \DIFdelは,デフォルトで赤色の打ち消し線が付く.

● 追加された部分
  \DIFaddbegin \DIFadd{<追加された部分>}\DIFaddend
  \DIFaddは,デフォルトで青色の波下線が付く.


§3 サンプル

(1)すべてデフォルト仕様の場合

■ ソースファイル(old1.tex, new1.tex)

old1-new1.png


■ コンパイルと結果

  latexdiff -e utf-8 old1.tex new1.tex > diff1.tex
  ptex2pdf -l diff1.tex

diff1.png


Latexdiff は,デフォルトで差分に下線を引いてくれるのですが,
日本語だとうまく改行が制御されず, 右マージンにオーバしてしまいます.

そこで, "-t CFONT" オプションで色とフォントの変更だけにした方が
いいように思えます.サンプルを(2)に示します.

(2)オプション(-t CFONT)を付加した場合


■ ソースファイル
  上記(1)と同じ.
  ただし.ファイル名は(old2.tex, new2.tex)

■ コンパイルと結果

  latexdiff -e utf-8 -t CFONT old2.tex new2.tex > diff2.tex
  ptex2pdf -l diff2.tex

diff2.png



(3)数式の簡単例


簡単な数式において,--math-markup=3 を付加しています.

■ ソースファイル
  (省略)

■ コンパイルと結果

   latexdiff -e utf8 -t CFONT --math-markup=3 old3.tex new3.tex > diff3.tex
   ptex2pdf -l diff3.tex

diff3.png



(EOF)
スポンサーサイト
  1. 2017/08/16(水) 08:56:04|
  2. LaTeX Tools