CTAN Comprehensive TeX Archive Network

CTAN update: latexdiff

Date: January 7, 2026 2:19:04 PM CET
Frederik Tilmann submitted an update to the latexdiff package. Version: 2026-01-02 License: gpl3 Summary description: Determine and mark up significant differences between LaTeX files Announcement text:
New features: add directive pairs %BEGIN DIF(ADD|DEL), %END DIF(ADD|DEL) that causes blocks to be marked up as a whole add directive pair %BEGIN DIFNOMARKUP, %END DIFNOMARKUP that can suppress markup locally add option for letter-level markup for single substituted words, controlled by configuration variable MAXCHANGESLETTER, which limits this behaviour to a small number of changes. By default this is set to 1 - other sensible settings are 0 and 2. Bug fixes: Fix a bug in pre-/postprocessing that led to odd behaviour if some characters with special meaning, like _,^ were used in particular contexts in verbatim environments. Fixes #305 Fix a bug in the preprocessing that detects \[, \] as math expression (it was interpreting \] as + ] instead of correctly \ + ] Commands that were both in the safecmd and textcmd list, and which have additional arguments beyond the last textual one (optional or non-optional) could lead to errors, if there was a change in those earlier arguments (fixes #306, first reported through debian bug report) super- and subscripts without enclosing curly braces were assumed to be a simple expression, while in reality they could be commands with complicated (nested) arguments. These cases are not processed correctly. Fixes #279 in show-textcmd and show-safecmd some extra regex characters are now properly removed special preamble additions for highlighting graphics or lines in verbatim text no longer overwrite the definitions in a user-included preamble file (via --preamble option). If the user-included preamble file does not define important commands, then they continue to be added (some simple heuristics are used to decide whether to add or not are used, so this decision might not be perfect). Fixes #310 nested array blocks now no longer lead to errors, even when nothing is changed in them (fixes #287). sometimes, \protect commands would become separated from the commands they are supposed to apply, too. They are now kept together in the same token. Fixes #284 Improper definition of the DIFverbatim environment led to warnings. This has been corrected now. Fixes #320. In --flatten mode, input commands in verbatim environments were erroneously expanded. This is now suppressed. Fixes #321 \i is now a safe command \frac ab is now processed correctly (Fixes #322) Modified behaviour: Commands/RegExs explicitly defined as not safe with --exclude-safecmd are now also considered unsafe in COARSE and WHOLE math markup (Fixes #311) --no-del now also removes deleted comments --show-... commands now have different behaviour dependent on whether old.tex and new.tex are specified. If they are not then the initial setup is shown. If they are specified, then the full configuration is shown, which includes some additions of internal commands, and modifications based on what packages are present on the system, or are used in the .tex files. Either way, no differencing takes place. Finally, I highlight a blog written on the occasion of this release: https://www.linkedin.com/pulse/some-reflections-latexdiff-frederik-tilmann-zcenf
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/latexdiff The package’s files themselves can be inspected at https://mirrors.ctan.org/support/latexdiff/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs

latexdiff – Determine and mark up significant differences between files

Latexdiff is a Perl script for visual mark up and revision of significant differences between two files. Various options are available for visual markup using standard packages such as color. Changes not directly affecting visible text, for example in formatting commands, are still marked in the source. A rudimentary revision facility is provided by another Perl script, latexrevise, which accepts or rejects all changes. Manual editing of the difference file can be used to override this default behaviour and accept or reject selected changes only.

Packagelatexdiff
Version 2026-01-02
Copyright2004–2024 F J Tilmann
MaintainerFrederik Tilmann

Announcements

more

Guest Book Sitemap Contact Contact Author