Releases: ftilmann/latexdiff
1.3.4
latexdiff
New features:
Enhancements:
- If amsmath is detected as one of the included packages then modify the sout command to wrap with \text in math mode, such that deleted text is actually struck out in equations; the standard behaviour is to underline instead of strike-out due to the limitations in the ulem package (based on the idea described in PR #263)
Bug fixes:
- Sometimes the introduction of aux commands to show deleted lists or descriptions leaves in place empty auxiliary
list environments, which would cause error messages (though skipping messages would result in a correct output pdf).
These are now removed. - add more mboxsafecmd and safecmd commands for SIunitx to stay compatible with newer versionsof SIunitx (PR #283, fixing issue #282)
- File added via --preamble option is no longer assumed to be ASCII, but read either with encoding as defined by --encoding option or using the encoding of the LOCALE (fixes issue #285 )
- Multicolumn argument is now treated as text
- When tikz-dependency package is used, & is no longer a safe command as it has special meaning inside dependency environment. The fix is a bit of a hack as really it should only be considered unsafe within dependency environment (fixes (mostly) issue #303 )
- The listings package has trouble with non-ASCII chars. The encoding is now set. Fixes #304
latexdiff-vc
Enhancements:
- if --flatten option is used, and no bbl file is included in the version management, then latexdiff-vc will try to run bibtex to generate the bbl file. Implements the suggestion of PR #127
- Efficiency boost: use -draftmode for non-interactive preliminary runs of latex (idea from PR #127)
Bug fixes:
- minor fix for --only-changed that makes detection of changed pages more reliable ( PR #297 )
1.3.3
New features:
- Option --no-del to remove all deleted text, contributed by github user tdegeus PR #252, fixing issue #66
Bug fixes:
- Abbreviations involving punctuations within them need special treatment because otherwise in some
circumstances ignoring white space differences in conjunction with merging according to MINWORDSBLOCK rule
could turn 'i.e.' into 'i.\PAR e.'. This is solved by hard-coding a few common abbreviations
and treated as atomic:
English: i.e., e.g. Deutsch: z.B.
Fixes issue #269 - In WHOLE and COARSE math modes, math environments with arguments such as \alignat are now treated properly. Fixes #251
- For FINE math mode, multiple improvements to the processing work flow yield more robust outcomes. In particular, changes
to the equation type, e.g. \begin{displaymath} -> \begin{equation} without modifications now usually no longer result
in errors. (Partially) fixes issues #235 and #244.- When encountering deleted math array environments such as align or eqnarray, rather than replacing them with a
fixed replacement environment (e.g. align* or eqnarray*), an asterisk is now added to the original command, which
in amsmath (and with eqnarray) will result in the same environment but without line numbers. Config variable MATHARRREPL
is therefore (nearly) redundant, and a depracation warning is given when it is set. References to MATHARRREPL have
been removed from the manual (there is one exception, when it's still being used: sometimes latexdiff can figure out
that there is a deleted array environment, but does not know which one). In this case, MATHARRREPL is still being used
to encapsulate these parts of the source, and therefore it is still set internally. But this is a quite rare situation).
Fixes issue #216
- When encountering deleted math array environments such as align or eqnarray, rather than replacing them with a
- Unlike 'array' environment, 'split' (amsmath) does not work in argument of \DIFadd or \DIFdl in UNDERLINE modes; therefore remove it from ARRENV configuration variable.
Exclude \begin and \end in math environments in COARSE and WHOLE modes. Fixes #258. Fixes #109 - --flatten now works for empty files. Fixes issue #242
- improved processing of Chinese and Japanese texts in that splitting is done based on characters. Thanks to LuXu (Oliver Lew) in git for working this out. Fixes #229, fixes #145
1.3.2
Change log 1.3.2
latexdiff
API adaptions:
- latexdiff now completes with exit code 0 after --help or --version command (see issue #248)
New features / feature extensions
- extend CUSTOMDIFCMD related postprocessing to deal properly with multiline commands, or a sequence of several commands in the same line (see github issue #204)
- support for additional macros from import package (\import, \inputfrom, \includefrom, \subimport,\subinputfrom, \subincludefrom). Provided by janniklasrose in PR #243 (fixes #239)
- replace default driver dvips->pdftex
Bug fixes:
- fix bug reported in issue #218 by replacing \hspace{0pt} after \mbox{..} auxiliary commands with \hskip0pt (IMPORTANT as old way apparently breaks latexdiff output under default setting with recent versions pdflatex)
- fix issue #206 affecting proper markup of text commands which are not also safe cmds and have multiple arguments
- fix issue #210 by adding \eqref (amsmath package) to the list of safe commands
- fix bug reported in issue #168 mangled verbatim line environment
- more ways to process \frac correctly with atomic arguments. Provided by julianuu PR #246
- fix a bug in biblatex mode, which prevented proper processing of modified \textcite (see: https://tex.stackexchange.com/questions/555157/latexdiff-and-biblatex-citation-commands)
- -h string fix: add -driver option
latexdiff-vc
Bug fixes:
- when setting config variables with the command lines it is now possible to use quotes to includes spaces in the value, e.g.
-c LATEX="pdflatex --shell-escape"
- as --only-changes is not compatible with graphics markup, --graphics-markup=none is now set automatically when this option is selected
- when --pdf or --postscript is select, then replace tildes in version names with underscores in output file (e.g. diffHEAD_1 instead of diff HEAD~1. This is necessary because pdflatex strips ~n strings at the end of the filename, when generating output file names
latexrevise
New features
- Introduce option -r / --replace which removes markup of the form \replaced{new text}{old text} in the changes package
- Functionality -c option: if comment to be deleted is the last in the line replace new line by space character. This is done to avoid errors or unintended line breaks from empty lines after deletion (which are interpreted as \par)
1.3.1.1
Release 1.3.1
Features:
- add some special processing for revtex bibliography commands, so that the spaces between bibliography commands
\bibfield
and\bibinfo
and their arguments are ignored.
Bug fixes:
- remove some warnings in flatten function in case included file is not found
- add minimal postprocessing to preamble commands
- pre-processing: replace routine for removing whitespace characters and comments between the argument of
\frac
commands to provide this functionality in a more robust way. In addition, it will replace commands like\frac12
with\frac{1}{2}
as pre-processing step. - add
\intertext
to list of unsafe math commands (@UNSAFEMATHCMD) - provide citation command patterns for biblatex and protect them with mbox'es.
- hardcode number of parameters for
\href
and\url
commands to allow spaces between commands and rguments even if--allow-spaces
option is not used (this is needed because some bibliography styles add such in-command-sequence spaces) - bibitem is now kept even in deleted blocks such that deleted references show up properly (this implies that the actual numbers in numerical referencing schemes will change) -
\bibitem
is hardwired to be the only member of this class
(a more detailed version of this change list can be found in the header comments in latexdiff file)
1.3.0
Feature extensions:
- treat options to \documentclass as potential package names (some packages allow implicit loading of or imply selected packages)
- verbatim and lstlisting environments are marked-up with line-by-line in a similar style to non-verbatim text (requires the listing package to be installed). Also see new configuration variable VERBATIMLINEENV (several issues and pull requests by jprotze)
- --flatten: now supports \verbatiminput and \lstlistinput
- --flatten: if file is not found, do not fail, simply warn and leave command unexpanded (inspired by issue #112). Don't even warn if file name contains #[0-9] as it is then most likely an argument within a command definition rather than an actual file (applies to \input, \subfile, \include commands)
- new config variable CUSTOMDIFCMD to allow defining special versions of commands in added or deleted blocks (Pull request by github user jprotze)
- added option -no-links, which suppress generation of hyperreferences. This is mostly (or only) useful in the context of the --only-changes option of latexdiff-vc in only-changes modes) (Pull request by github user jprotze)
Bug fixes:
- pattern matching of \verb and \lstinline commands had an error which meant they would trigger on commands beginning with \verb.
- In description environments, mark up item descriptions by effectively reating the insides of item commannds as text commands (fixes #161)
- improved pattern matching: now allows nested angular brackets, and is no longer confused by escaped curly braces
- improved pattern matching in COARSE mode: occasionally, the closing bracket or some other elements would be matched in an 'unnatural' way due to another sequence being more minimal in the computational sense, sometimes even causing errors due to tokens moving in or out of the scope of math environments. This is now discouraged by adding internal \DIFANCHOR commands (which are removed again in post-processing) (fixes issues reported via email by li_ruomeng )
- added to textcmds: \intertext from amsmath package
Release 1.2.1
Usability Enhancements
- add "DeclareOldFontCommand" to styles using \bf or \sf old style font commands (fixes issue #92 )
- minimal feature enhancement: treat '@' as allowed character in commands (strictly speaking requires prior \makeatletter statement, but always assuming @ to be a letter if it is part of a command name will usually lead to the correct behaviour (see http://tex.stackexchange.com/questions/346651/latexdiff-and-let)
- new option --add-to-config used to amend configuration variables, which are regex pattern lists
- introduce an invisible space (\hspace{0pt} after \mbox{..} auxiliary commands (not in math mode), to allow line breaks between added and deleted citations (change should not cause adverse behaviour otherwise)
Several improvements related to verbatim and to listings package
- improved markup: process lstinline commands in listings package correctly
for styles using colour, \verb and \lstinline arguments are marked up with colour (blue for added, red for deleted) - treat lstlisting and comment as equivalent to verbatim environment
- make environments that are treated like verbatim environments configurable (config variable VERBATIMENV)
- treat lstinlne as equivalent to verb command (partially addresses issue #38)
Bug fixes:
- bug fix: protecting inline math expressions for mbox did not work as intended (see stack exchange question: http://tex.stackexchange.com/questions/359412/compiling-the-latexdiff-when-adding-a-subscript-before-a-pmatrix-environment-cau)
- bug fix: when deleted \item commands are followed immediately by unsafe commands, they were not restored properly
(thanks to J. Protze for pull request) (pull request #89) - bug fix: deleted figures when endfloat package is activated
- bug fix: alignat environment now always processed correctly (fix issues #65)
- bug fix: avoid processing of commands as potential files in routine init_regex_arr (fix issue #70 )
- bug fix: --flatten option \endinput in included files now respected but only if \endinput stands right at the beginning of the line (issue #77)
- bug fix: flatten no longer processes commented out \include commands (from discussion in issue #77 )
latexdiff-vc
Usability enhancement:
Release 1.2.0
latexdiff
- highlight new and deleted figures
- bug fix in title mark-up. Previously deleted commands in title (such as \title, \author or \date) were marked up erroneously
- (minor) bug fixes in new 1.1.1 features: disabled label was commented out twice, additional spaces were introduced before list environment begin and end commands
- depracation fix: left brace in RegEx now needs to be escaped
- add type PDFCOMMENT based on issue #49 submitted by github user peci1 (Martin Pecka)
- make utf8 the default encoding
latexdiff and latexdiff-vc
- depracation fix: left brace in RegEx now needs to be escaped
Release 1.1.1
latexdiff version 1.1.1
- patch mhchem: allow ce in equations
- flatten now also expands \input etc. in the preamble (but not \usepackage!)
- Better support for Japanese ( contributed by github user kshramt )
- prevent duplicated verbatim hashes (patch contributed by github user therussianjig, issue #36)
- disable deleted label commands (fixes issue #31)
- introduce post-processing to reinstate most deleted environments and all needed item commands (fixes issue #1)
latexdiff-vc version 1.1.1
- better detection of RCS system
- undocumented option --debug/--nodebug to override default setting for debug mode (Default: 0)#
- bug fix: --flatten option combined with --pdf caused confusion of old and new file
latexdiff-1.1.1.1.tar.gz is the official release repository uploaded to CTAN