Dokument-Änderungen sichtbar machen mit »latexdiff«

Wer für gewöhnlich mit einer der großen Textverarbeitungen wie LibreOffice Writer oder Microsoft Office Word arbeitet, kennt das recht nützliches Tool zum Abgleich zweier Dokumente mit dem Ziel, deren inhaltliche Gemeinsamkeiten oder Unterschiede visuell sichtbar zu machen. So könnte man ein Publikationsmanuskript an einen Co-Autoren weitergeben und es nach Rück-Erhalt auf Unterschiede zum versendeten »Original« vergleichen: Sichtbar werden würden all jene Stellen, an denen Wörter/Textpassagen ersetzt, gelöscht oder ergänzt worden sind.

 

Ein solches Werkzeug gibt es auch für LaTeX-Dokumente und nennt sich latexdiff. Das Paket ist für gewöhnlich in einer voll installierten TeXLive-Installation unter GNU/Linux verfügbar, zur Installation unter Windows muss man etwas weiter gehen, da eine Perl-Installation vorausgesetzt wird und das Perl-Script latexdiff in einen der Unterordner des Perl-Verzeichnisses kopiert werden muss. Näheres steht dazu hier. Auf gleicher Seite sowie hier findet man auch gleich ein paar optische Beispiele. Eine ausführliche Dokumentation zu allen möglichen Optionen bietet die offizielle Dokumentation.

 

Prinzipiell ist die Anwendung sehr einfach: unter GNU/Linux wird ein Terminal-Fenster in jenem Ordner gestartet (oder dorthin navigiert), in dem die zu vergleichenden .tex-Dateien liegen. Dann:

latexdiff Original.tex Revision.tex > Unterschied.tex

Die erzeugte .tex-Datei Unterschied.tex wird nun ganz einfach kompiliert und heraus kommt ein Dokument, in dem farblich die Unterschiede hervorgehoben sind.

 

(Danke für den Tipp an M.!)

\mbox-geschützte Zitate vermeiden

Wer auf die oben gezeigte Weise ein Dokument kompiliert, erhält ggfs. – d.h. wenn das Dokument eine Menge fortlaufender Zitate enthält, die nun korrigiert worden sind – ein etwas zerrissenes Layout, bei dem Gruppen aus mehreren Zitaten über den Seitenrand hinauslaufen, ohne umgebrochen worden zu sein.

 

Grund dafür ist, dass jede dieser Zitat-Gruppen in eine \mbox{Zitat} eingefasst wurde, um den ursprünglichen Stil zu bewahren. Um das zu umgehen, gibt man latexdiff noch eine Option mit:

latexdiff --disable-citation-markup Original.tex
Revision.tex > Unterschied.tex

Das nun erzeugte Dokument enthält zwar nicht mehr die alten (»falschen«) Zitate, dafür aber alle neuen (»korrigierten«) ohne \mbox{ }, sodass sie umbrechen.