• CTAN update: latexdiff

    From CTAN Announcements@petra@ctan.org to CTAN Announcements on Wed Jan 7 15:19:04 2026
    From Newsgroup: comp.text.tex

    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 packagerCOs Catalogue entry can be viewed at
    https://ctan.org/pkg/latexdiff

    The packagerCOs 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
    --- Synchronet 3.21a-Linux NewsLink 1.2