LATEXREVISE(1) LATEXREVISE(1)

latexrevise - selectively remove markup and text from latexdiff output

latexrevise [ OPTIONS ] [ diff.tex ] > revised.tex

latexrevise reads a file "diff.tex" (output of latexdiff), and remove the markup commands. If no filename is given the input is read from standard input. The command can be used in ACCEPT, DECLINE, or SIMPLIFY mode, or can be used to remove user-defined latex commands from the input (see -c, -e, -m, and -n below). In ACCEPT mode, all appended text fragments (or preamble lines) are kept, and all discarded text fragments (or preamble lines) are deleted. In DECLINE mode, all discarded text fragments are kept, and all appended text fragments are deleted. If you wish to keep some changes, edit the diff.tex file in advance, and manually remove those tokens which would otherwise be deleted. Note that latexrevise only pays attention to the "\DIFaddbegin", "\DIFaddend", "\DIFdelbegin", and "\DIFdelend" tokens and corresponding FL varieties. All "\DIFadd" and "\DIFdel" commands (but not their contents) are simply deleted. The commands added by latexdiff to the preamble are also removed. In SIMPLIFY mode, "\DIFaddbegin, \DIFaddend, \DIFdelbegin, \DIFdelend" tokens and their corresponding "FL" varieties are kept but all other markup (e.g. "DIFadd" and <\DIFdel>) is removed. The result will not in general be valid latex-code but it will be easier to read and edit in preparation for a subsequent run in ACCEPT or DECLINE mode. In SIMPLIFY mode the preamble is left unmodified.

Run in ACCEPT mode (delete all blocks marked by "\DIFdelbegin" and "\DIFdelend").
Run in DECLINE mode (delete all blocks marked by "\DIFaddbegin" and "\DIFaddend").
Run in SIMPLIFY mode (Keep all "\DIFaddbegin", "\DIFaddend", "\DIFdelbegin", "\DIFdelend" tokens, but remove all other latexdiff markup from body).

Note that the three mode options are mutually exclusive. If no mode option is given, latexrevise simply removes user annotations and markup according to the following four options. These functions can be very useful outside the latexdiff context, too

Remove "\cmd{...}" sequences. "cmd" is supposed to mark some explicit annotations which should be removed from the file before release.
Remove explicit annotation environments from the text, i.e. remove
\begin{envir}
...
\end{envir}

blocks.

Remove the markup command "\cmd" but leave its argument, i.e. turn "\cmd{abc}" into "abc".
Similarly, remove "\begin{envir}" and "\end{envir}" commands but leave content of the environment in the text.
For constructions "\\cmd{..}{..}", remove the command, leave the content of first argument, and delete second argument, i.e. turn "\cmd{abc}{def}" into "abc".
Verbose output
Do not warn users about "\DIDadd{..}" or "\DIFdel{..}" statements which should have been removed already.

The current version is a beta version which has not yet been extensively tested. It has not been actively maintained so might not process output of newer versions of latexdiff entirely correctly. Please submit bug reports using the issue tracker of the github repository page https://github.com/ftilmann/latexdiff.git, or send them to tilmann -- AT -- gfz-potsdam.de. Include the serial number of latexrevise (Option --version). If you come across latexdiff output which is not processed correctly by latexrevise please include the problem file as well as the old and new files on which it is based, ideally edited to only contain the offending passage as long as that still reproduces the problem.

Note that latexrevise gets confused by commented "\begin{document}" or "\end{document}" statements

latexdiff

latexrevise does not make use of external commands and thus should run on any platform supporting PERL v5 or higher.

Copyright (C) 2004 Frederik Tilmann

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3

2021-12-27 perl v5.30.0