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-z...
----------------------------------------------------------------------
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