LaTeX diff: jak porovnat akademické texty a sledovat změny
Psal jsem diplomku v LaTeXu a vedoucí mi posílal revize. Problém? Word má Track Changes, LaTeX ne. Tak jsem hledal jak to řešit.
Proč je LaTeX jiný
V LaTeXu nemáš tlačítko "zobraz změny" jako ve Wordu. Je to prostě zdrojový kód:
\documentclass{article}
\usepackage[czech]{babel}
\begin{document}
\section{Úvod}
Toto je \textbf{důležitý} odstavec s \emph{důrazem}.
\end{document}
Při porovnávání dvou verzí je třeba rozlišit:
- Změny v obsahu – text, který se skutečně změnil
- Změny ve formátování – úpravy LaTeX příkazů
- Změny ve struktuře – reorganizace kapitol, sekcí
Latexdiff – základní nástroj pro porovnání
Co je latexdiff?
Latexdiff je Perl skript, který porovnává dva LaTeX soubory a generuje nový soubor se zvýrazněnými změnami. Výstupní dokument lze zkompilovat do PDF, kde jsou:
- Smazané části přeškrtnuté červeně
- Přidané části zvýrazněné modře
- Beze změny normálním formátováním
Instalace latexdiff
Linux (Ubuntu/Debian):
sudo apt-get install latexdiff
macOS (s Homebrew):
brew install latexdiff
Windows (MiKTeX): Latexdiff je součástí MiKTeX distribuce. Stačí mít aktualizovaný MiKTeX.
Základní použití latexdiff
# Porovnání dvou verzí dokumentu
latexdiff stara_verze.tex nova_verze.tex > diff.tex
# Kompilace výstupu
pdflatex diff.tex
Výsledné PDF obsahuje vizuálně zvýrazněné změny, které jsou ideální pro recenzenty nebo školitele.
Pokročilé možnosti
# Ignorování změn v mezerách
latexdiff --ignore-warnings stara.tex nova.tex > diff.tex
# Použití jiného stylu zvýraznění
latexdiff --type=UNDERLINE stara.tex nova.tex > diff.tex
# Zpracování více souborů (s \input nebo \include)
latexdiff-vc --git -r HEAD~1 main.tex
Typy zvýraznění změn
Latexdiff nabízí několik stylů zobrazení změn:
| Typ | Smazané | Přidané |
|---|---|---|
| UNDERLINE (výchozí) | Přeškrtnuté | Podtržené modře |
| CTRADITIONAL | Přeškrtnuté červeně | Modře |
| TRADITIONAL | Přeškrtnuté | Modře |
| CFONT | Menší písmo | Bezpatkové písmo |
| FONTSTRIKE | Přeškrtnuté sans-serif | Sans-serif |
Latexdiff-vc: Integrace s verzovacími systémy
Pro projekty pod Git kontrolou existuje rozšíření latexdiff-vc, které usnadňuje porovnání s předchozími verzemi:
# Porovnání s posledním commitem
latexdiff-vc --git -r HEAD~1 dokument.tex
# Porovnání dvou konkrétních commitů
latexdiff-vc --git -r abc123 -r def456 dokument.tex
# Porovnání s konkrétní větví
latexdiff-vc --git -r main dokument.tex
Workflow pro akademický tým
- Autor napíše první draft a commitne do Gitu
- Spoluautor přidá změny a commitne
- Vedoucí/recenzent si vygeneruje diff PDF:
latexdiff-vc --git -r v1.0 -r v2.0 clanek.tex pdflatex clanek-diffv1.0-v2.0.tex - Recenzent komentuje změny v diff PDF
- Cyklus se opakuje do finální verze
Online nástroje pro LaTeX diff
Overleaf – Track Changes
Overleaf je nejpopulárnější online LaTeX editor a nabízí vestavěnou funkci Track Changes (v placených plánech):
Výhody:
- Integrace přímo v editoru
- Komentáře a diskuse u změn
- Historie verzí s možností obnovení
- Spolupráce v reálném čase
Nevýhody:
- Track Changes pouze v placených plánech
- Závislost na online připojení
Diffchecker.com
Pro rychlé porovnání LaTeX kódu bez instalace:
- Otevřete diffchecker.com
- Vložte starý LaTeX kód vlevo
- Vložte nový LaTeX kód vpravo
- Zobrazte side-by-side nebo inline diff
Výhoda: Rychlé a jednoduché Nevýhoda: Zobrazuje změny v kódu, ne ve vysázeném dokumentu
PorovnejText.cz pro LaTeX
Náš nástroj PorovnejText.cz je ideální pro:
- Rychlé porovnání dvou verzí LaTeX souboru
- Kontrolu změn před commitem do Gitu
- Lokální zpracování – kód neopouští váš prohlížeč
- Syntax highlighting pro lepší čitelnost
Praktické workflow pro vědecké články
Struktura projektu
projekt/
├── main.tex # Hlavní dokument
├── kapitoly/
│ ├── uvod.tex
│ ├── metody.tex
│ ├── vysledky.tex
│ └── zaver.tex
├── obrazky/
│ └── ...
├── literatura.bib # Bibliografie
└── verze/
├── v1-draft.tex
├── v2-revize.tex
└── diff-v1-v2.pdf
Git workflow pro LaTeX
# Inicializace repozitáře
git init
git add .
git commit -m "Initial draft"
# Práce na revizích
git checkout -b revize-uvod
# ... úpravy ...
git add kapitoly/uvod.tex
git commit -m "Revize úvodu dle komentářů recenzenta"
# Generování diff pro recenzenta
latexdiff-vc --git -r main kapitoly/uvod.tex
pdflatex uvod-diff*.tex
Tagování verzí
# Po dokončení verze pro recenzi
git tag -a v1.0 -m "Verze pro první recenzi"
git push origin v1.0
# Po revizích
git tag -a v2.0 -m "Verze po první recenzi"
# Generování diff mezi verzemi
latexdiff-vc --git -r v1.0 -r v2.0 main.tex
Řešení běžných problémů
Problém 1: Chyby při kompilaci diff souboru
Latexdiff někdy generuje nevalidní LaTeX. Řešení:
# Použití bezpečnějšího módu
latexdiff --type=CFONT --subtype=SAFE stara.tex nova.tex > diff.tex
Problém 2: Matematické vzorce
Změny v matematických vzorcích mohou způsobit problémy. Tip:
# Vyloučení math prostředí z diff
latexdiff --config="MATHENV=equation,align" stara.tex nova.tex > diff.tex
Problém 3: Obrázky a tabulky
Latexdiff má problémy s plovoucími prostředími. Řešení:
# Použití flatten pro \input a \include
latexdiff --flatten stara.tex nova.tex > diff.tex
Problém 4: Velké dokumenty
Pro rozsáhlé dokumenty s mnoha změnami:
# Rozdělení na kapitoly a diff jednotlivě
for f in kapitoly/*.tex; do
latexdiff verze1/$f verze2/$f > diff/$f
done
Alternativní přístupy
Git diff pro rychlou kontrolu
# Zobrazení změn v terminálu
git diff HEAD~1 -- dokument.tex
# Barevný word-level diff
git diff --word-diff HEAD~1 -- dokument.tex
Pandoc pro konverzi
Pokud potřebujete porovnat LaTeX s jiným formátem:
# Konverze na Markdown pro jednodušší diff
pandoc dokument.tex -o dokument.md
Balíček changes v LaTeXu
Pro manuální označování změn přímo v dokumentu:
\usepackage{changes}
\begin{document}
Toto je \added{nový} text a toto bylo \deleted{smazáno}.
\replaced{novinka}{staré}.
\end{document}
Tipy pro efektivní spolupráci
Pro autory
- Commitujte často – menší změny = přehlednější diff
- Pište smysluplné commit zprávy – usnadní orientaci v historii
- Používejte větve – izolujte experimenty od hlavního textu
- Generujte diff před odesláním – zkontrolujte, co se změnilo
Pro recenzenty
- Vyžádejte si diff PDF – rychlejší než čtení celého dokumentu
- Komentujte konkrétní změny – odkazujte na sekce v diff
- Používejte verzované komentáře – udržujte historii diskuse
- Nastavte deadline – definujte termíny pro každou iteraci
Pro školitele závěrečných prací
- Vyžadujte Git repozitář – jednodušší sledování pokroku
- Nastavte milníky – draft, revize, finální verze
- Kontrolujte diff mezi verzemi – efektivnější než čtení celé práce
- Používejte tagování – v1-draft, v2-po-konzultaci, final
Porovnání nástrojů
| Nástroj | Výhody | Nevýhody | Cena |
|---|---|---|---|
| latexdiff | Lokální, offline, flexibilní | Vyžaduje instalaci, občas chyby | Zdarma |
| Overleaf Track Changes | Integrace, komentáře | Pouze placené plány, online | Od $15/měsíc |
| Git diff | Rychlé, integrované | Nezobrazuje vysázený dokument | Zdarma |
| PorovnejText.cz | Online, bez instalace | Kód, ne PDF | Zdarma |
| balíček changes | Manuální kontrola | Pracné pro větší změny | Zdarma |
Závěr
Sledování změn v LaTeX dokumentech je klíčové pro efektivní akademickou spolupráci. Hlavní nástroje jsou:
- latexdiff – pro generování diff PDF s vizuálně zvýrazněnými změnami
- latexdiff-vc – pro integraci s Git verzováním
- Overleaf – pro online spolupráci s Track Changes
- Online diff nástroje – pro rychlé porovnání kódu
Volba nástroje závisí na vašem workflow:
- Jednotlivec s Gitem → latexdiff-vc
- Tým na Overleaf → Overleaf Track Changes
- Rychlá kontrola → PorovnejText.cz nebo Diffchecker
Investice do správného nástroje se vrátí v podobě přehlednější spolupráce, rychlejších revizí a méně chyb při práci na akademických textech.
Potřebujete rychle porovnat dvě verze LaTeX kódu? Vyzkoušejte náš nástroj pro porovnání kódu – funguje přímo v prohlížeči bez instalace a vaše data zůstávají v bezpečí na vašem počítači.
Vyzkoušejte PorovnejText.cz zdarma
Nejrychlejší český nástroj pro porovnání textů. Vše probíhá ve vašem prohlížeči, žádná registrace není potřeba.
Porovnat texty nyní →Související články
Jak jsem psal bakalářku (a co bych udělal jinak)
Praktické tipy pro studenty - jak verzovat práci, zpracovat feedback od vedoucího a nepřijít o text.
Jak sleduji změny v textech od klientů
Klient pošle upravenou verzi a vy nevíte co změnil. Tohle je můj postup jak na to.
Kontrola plagiátu a porovnání textů - není to totéž
Studenti se mě občas ptají proč jim PorovnejText neukazuje procento plagiátu. Protože to není plagiarism checker.