Provided by: latexdiff_1.3.2-1_all bug

NAME

       latexdiff - determine and markup differences between two latex files

SYNOPSIS

       latexdiff [ OPTIONS ] old.tex new.tex > diff.tex

DESCRIPTION

       Briefly, latexdiff is a utility program to aid in the management of revisions of latex documents. It
       compares two valid latex files, here called "old.tex" and "new.tex", finds significant differences
       between them (i.e., ignoring the number of white spaces and position of line breaks), and adds special
       commands to highlight the differences.  Where visual highlighting is not possible, e.g. for changes in
       the formatting, the differences are nevertheless marked up in the source. Note that old.tex and new.tex
       need to be real files (not pipes or similar) as they are opened twice (unless "--encoding" option is
       used)

       The program treats the preamble differently from the main document.  Differences between the preambles
       are found using line-based differencing (similarly to the Unix diff command, but ignoring white spaces).
       A comment, ""%DIF >"" is appended to each added line, i.e. a line present in "new.tex" but not in
       "old.tex".  Discarded lines
        are deactivated by prepending ""%DIF <"". Changed blocks are preceded  by comment lines giving
       information about line numbers in the original files.  Where there are insignificant differences, the
       resulting file "diff.tex" will be similar to "new.tex".  At the end of the preamble, the definitions for
       latexdiff markup commands are inserted.  In differencing the main body of the text, latexdiff attempts to
       satisfy the following guidelines (in order of priority):

       1. If  both  "old.tex"  and "new.tex" are valid LaTeX, then the resulting "diff.tex" should also be valid
          LateX. (NB If a few plain TeX commands are used within "old.tex" or "new.tex" then "diff.tex"  is  not
          guaranteed to work but usually will).

       2. Significant  differences are determined on the level of individual words. All significant differences,
          including differences between  comments  should  be  clearly  marked  in  the  resulting  source  code
          "diff.tex".

       3. If  a  changed passage contains text or text-producing commands, then running "diff.tex" through LateX
          should produce output where added and discarded passages are highlighted.

       4. Where there are insignificant differences, e.g. in the positioning of line breaks,  "diff.tex"  should
          follow the formatting of "new.tex"

       For  differencing the same algorithm as diff is used but words instead of lines are compared.  An attempt
       is made to recognize blocks which are completely changed such that they can  be  marked  up  as  a  unit.
       Comments  are  differenced  line  by  line  but the number of spaces within comments is ignored. Commands
       including all their arguments are generally compared as one unit, i.e., no mark-up is inserted  into  the
       arguments  of  commands.   However,  for  a  selected number of commands (for example, "\caption" and all
       sectioning commands) the last argument is known to be text. This text is split into words and differenced
       just as ordinary text (use options to show and change the list of  text  commands,  see  below).  As  the
       algorithm  has no detailed knowledge of LaTeX, it assumes all pairs of curly braces immediately following
       a command (i.e. a sequence of letters beginning with a backslash) are arguments for that command.   As  a
       restriction to condition 1 above it is thus necessary to surround all arguments with curly braces, and to
       not insert extraneous spaces.  For example, write

         \section{\textem{This is an emphasized section title}}

       and not

         \section {\textem{This is an emphasized section title}}

       or

         \section\textem{This is an emphasized section title}

       even  though  all  varieties are the same to LaTeX (but see --allow-spaces option which allows the second
       variety).

       For environments whose content does not conform to standard LaTeX or where graphical markup does not make
       sense all markup commands can be removed by setting the PICTUREENV configuration variable, set by default
       to  "picture"  and  "DIFnomarkup"  environments;  see   --config   option).    The   latter   environment
       ("DIFnomarkup")  can  be  used  to  protect  parts  of the latex file where the markup results in illegal
       markup. You have to surround the offending passage in both the old and new file by  "\begin{DIFnomarkup}"
       and  "\end{DIFnomarkup}". You must define the environment in the preambles of both old and new documents.
       I prefer to define it as a null-environment,

       "\newenvironment{DIFnomarkup}{}{}"

       but the choice is yours.  Any markup within the environment will be  removed,  and  generally  everything
       within the environment will just be taken from the new file.

       It is also possible to difference files which do not have a preamble.
        In  this  case,  the  file  is  processed  in  the main document mode, but the definitions of the markup
       commands are not inserted.

       All markup commands inserted by latexdiff begin with ""\DIF"".  Added blocks containing  words,  commands
       or  comments  which  are in "new.tex" but not in "old.tex" are marked by "\DIFaddbegin" and "\DIFaddend".
       Discarded blocks are marked by  "\DIFdelbegin"  and  "\DIFdelend".   Within  added  blocks  all  text  is
       highlighted  with  "\DIFadd"  like  this:  "\DIFadd{Added  text  block}"  Selected `safe' commands can be
       contained in these text blocks as well (use options to show and change the list  of  safe  commands,  see
       below).   All  other  commands as well as braces "{" and "}" are never put within the scope of "\DIFadd".
       Added comments are marked by prepending ""%DIF > "".

       Within deleted blocks text is highlighted with "\DIFdel".  Deleted  comments  are  marked  by  prepending
       ""%DIF < "".    Non-safe  command  and  curly  braces  within  deleted  blocks  are  commented  out  with
       ""%DIFDELCMD < "".

OPTIONS

   Preamble
       The following options determine the visual markup style by adding the appropriate command definitions  to
       the preamble. See the end of this section for a description of available styles.

       --type=markupstyle or -t markupstyle
           Add code to preamble for selected markup style. This option defines "\DIFadd" and "\DIFdel" commands.
           Available styles:

           "UNDERLINE  CTRADITIONAL  TRADITIONAL  CFONT  FONTSTRIKE  INVISIBLE  CHANGEBAR CCHANGEBAR CULINECHBAR
           CFONTCHBAR BOLD PDFCOMMENT"

           [ Default: "UNDERLINE" ]

       --subtype=markstyle or -s markstyle
           Add code to preamble for selected style for bracketing commands (e.g. to mark  changes  in   margin).
           This   option   defines  "\DIFaddbegin",  "\DIFaddend",  "\DIFdelbegin"  and  "\DIFdelend"  commands.
           Available styles: "SAFE MARGIN COLOR DVIPSCOL  ZLABEL ONLYCHANGEDPAGE (LABEL)*"

           [ Default: "SAFE" ] * Subtype "LABEL" is deprecated

       --floattype=markstyle or -f markstyle
           Add code to preamble for selected style which replace standard marking  and  markup  commands  within
           floats  (e.g.,  marginal  remarks  cause  an  error within floats so marginal marking can be disabled
           thus). This option defines all "\DIF...FL" commands.  Available  styles:  "FLOATSAFE  TRADITIONALSAFE
           IDENTICAL"

           [ Default: "FLOATSAFE" ]

       --encoding=enc or -e enc
           Specify  encoding  of old.tex and new.tex. Typical encodings are "ascii", "utf8", "latin1", "latin9".
           A list of available encodings can be obtained by executing

           "perl -MEncode -e 'print join ("\n",Encode-"encodings( ":all" )) ;' >

           If this option is used, then old.tex, new.tex are only opened once.  [Default encoding is utf8 unless
           the first few lines of the preamble contain an invocation "\usepackage[..]{inputenc}" in  which  case
           the  encoding  chosen  by  this  command is asssumed. Note that ASCII (standard latex) is a subset of
           utf8]

       --preamble=file or -p file
           Insert file at end of preamble  instead  of  generating  preamble.   The  preamble  must  define  the
           following  commands "\DIFaddbegin, \DIFaddend, \DIFadd{..}, \DIFdelbegin,\DIFdelend,\DIFdel{..}," and
           varieties  for  use  within  floats  "\DIFaddbeginFL,  \DIFaddendFL,  \DIFaddFL{..},  \DIFdelbeginFL,
           \DIFdelendFL, \DIFdelFL{..}" (If this option is set -t, -s, and -f options are ignored.)

       --packages=pkg1,pkg2,..
           Tell  latexdiff  that  .tex file is processed with the packages in list loaded.  This is normally not
           necessary if the .tex file includes the preamble,  as  the  preamble  is  automatically  scanned  for
           "\usepackage"  commands.   Use  of  the  --packages option disables automatic scanning, so if for any
           reason package specific parsing needs  to  be  switched  off,  use  --packages=none.   The  following
           packages trigger special behaviour:

           "amsmath"
                   Configuration variable MATHARRREPL is set to "align*" (Default: "eqnarray*"). (Note that many
                   of the amsmath array environments are already recognised by default as such)

           "endfloat"
                   Ensure that "\begin{figure}" and "\end{figure}" always appear by themselves on a line.

           "hyperref"
                   Change  name  of "\DIFadd" and "\DIFdel" commands to "\DIFaddtex" and "\DIFdeltex" and define
                   new "\DIFadd" and "\DIFdel" commands, which provide a wrapper for these commands, using  them
                   for the text but not for the link defining command (where any markup would cause errors).

           "apacite", "biblatex"
                   Redefine the commands recognised as citation commands.

           "siunitx"
                   Treat  "\SI"  as  equivalent  to citation commands (i.e. protect with "\mbox" if markup style
                   uses ulem package.

           "cleveref"
                   Treat "\cref,\Cref", etc as equivalent to citation commands (i.e.  protect  with  "\mbox"  if
                   markup style uses ulem package.

           "glossaries"
                   Define most of the glossaries commands as safe, protecting them with \mbox'es where needed

           "mhchem"
                   Treat  "\ce"  as  a  safe  command, i.e. it will be highlighted (note that "\cee" will not be
                   highlighted in equations as this leads to processing errors)

           "chemformula" or "chemmacros"
                   Treat "\ch" as a safe command outside equations, i.e. it will be highlighted (note that "\ch"
                   will not be highlighted in equations as this leads to processing errors)

           [ Default: scan the preamble for "\usepackage" commands to determine
             loaded packages. ]

       --show-preamble
           Print generated or included preamble commands to stdout.

   Configuration
       --exclude-safecmd=exclude-file or -A exclude-file or  --exclude-safecmd="cmd1,cmd2,..."
       --replace-safecmd=replace-file
       --append-safecmd=append-file or -a append-file or --append-safecmd="cmd1,cmd2,..."
           Exclude from, replace or append to the list of regular expressions (RegEx)  matching  commands  which
           are  safe  to  use  within  the scope of a "\DIFadd" or "\DIFdel" command.  The file must contain one
           Perl-RegEx per line (Comment lines beginning with # or % are ignored).  Note that the RegEx needs  to
           match  the  whole of the token, i.e., /^regex$/ is implied and that the initial "\" of the command is
           not  included.   The  --exclude-safecmd  and  --append-safecmd  options  can  be  combined  with  the
           ---replace-safecmd option and can be used repeatedly to add cumulatively to the lists.
            --exclude-safecmd and --append-safecmd can also take a comma separated list as input. If a comma for
           one  of the regex is required, escape it thus "\,". In most cases it will be necessary to protect the
           comma-separated list from the shell by putting it in quotation marks.

       --exclude-textcmd=exclude-file or -X exclude-file or --exclude-textcmd="cmd1,cmd2,..."
       --replace-textcmd=replace-file
       --append-textcmd=append-file or -x append-file or --append-textcmd="cmd1,cmd2,..."
           Exclude from, replace or append to the list of  regular  expressions  matching  commands  whose  last
           argument is text.  See entry for --exclude-safecmd directly above for further details.

       --replace-context1cmd=replace-file
       --append-context1cmd=append-file or
       --append-context1cmd="cmd1,cmd2,..."
           Replace  or  append  to  the  list  of  regex matching commands whose last argument is text but which
           require a particular context to work, e.g. "\caption" will only work within a figure or table.  These
           commands behave like text commands, except when they occur  in  a  deleted  section,  when  they  are
           disabled, but their argument is shown as deleted text.

       --replace-context2cmd=replace-file
       --append-context2cmd=append-file or
       --append-context2cmd="cmd1,cmd2,..."
           As corresponding commands for context1.  The only difference is that context2 commands are completely
           disabled in deleted sections, including their arguments.

           context2  commands  are  also  the only commands in the preamble, whose argument will be processed in
           word-by-word mode (which only works, if they occur no more than once in the preamble). The  algorithm
           currently  cannot  cope  with  repeated context2 commands in the preamble, as they occur e.g. for the
           "\author" argument in some journal styles (not in the standard styles, though If such a repetition is
           detected, the  whole  preamble  will  be  processed  in  line-by-line  mode.  In  such  a  case,  use
           "--replace-context2cmd"  option  to  just  select the commands, which should be processed and are not
           used repeatedly in the preamble.

       --exclude-mboxsafecmd=exclude-file or --exclude-mboxsafecmd="cmd1,cmd2,..."
       --append-mboxsafecmd=append-file or --append-mboxsafecmd="cmd1,cmd2,..."
           Define safe commands, which additionally need to be protected by  encapsulating  in  an  "\mbox{..}".
           This  is  sometimes  needed  to  get  around incompatibilities between external packages and the ulem
           package, which is  used for highlighting in the  default  style  UNDERLINE  as  well  as  CULINECHBAR
           CFONTSTRIKE

       --config var1=val1,var2=val2,... or -c var1=val1,..
       -c configfile
           Set  configuration  variables.   The  option  can  be  repeated  to  set  different  variables (as an
           alternative to the comma-separated list).  Available variables (see below for further explanations):

           "ARRENV" (RegEx)

           "COUNTERCMD" (RegEx)

           "CUSTODIFCMD" (RegEx)

           "FLOATENV" (RegEx)

           "ITEMCMD" (RegEx)

           "LISTENV"  (RegEx)

           "MATHARRENV" (RegEx)

           "MATHARRREPL" (String)

           "MATHENV" (RegEx)

           "MATHREPL" (String)

           "MINWORDSBLOCK" (Integer)

           "PICTUREENV" (RegEx)

           "SCALEDELGRAPHICS" (Float)

       --add-to-config varenv1=pattern1,varenv2=pattern2,...
           For configuration variables, which are  a  regular  expression  (essentially  those  ending  in  ENV,
           COUNTERCMD  and  CUSTOMDIFCMD,  see list above) this option provides an alternative way to modify the
           configuration variables. Instead of setting the complete pattern, with this option it is possible  to
           add  an  alternative  pattern. "varenv" must be one of the variables listed above that take a regular
           expression as argument, and pattern is any regular expression (which might need to be protected  from
           the shell by quotation). Several patterns can be added at once by using semi-colons to separate them,
           e.g. "--add-to-config "LISTENV=myitemize;myenumerate,COUNTERCMD=endnote""

       --show-safecmd
           Print list of RegEx matching and excluding safe commands.

       --show-textcmd
           Print list of RegEx matching and excluding commands with text argument.

       --show-config
           Show values of configuration variables.

       --show-all
           Combine all --show commands.

           NB For all --show commands, no "old.tex" or "new.tex" file needs to be specified, and no differencing
           takes place.

   Other configuration options:
       --allow-spaces
           Allow  spaces  between  bracketed  or braced arguments to commands.  Note that this option might have
           undesirable side effects (unrelated scope might get lumpeded with preceding commands) so should  only
           be  used  if  the default produces erroneous results.  (Default requires arguments to directly follow
           each other without intervening spaces).

       --math-markup=level
           Determine granularity of markup in displayed math environments: Possible values for level  are  (both
           numerical and text labels are acceptable):

           "off"  or  0: suppress markup for math environments.  Deleted equations will not appear in diff file.
           This mode can be used if all the other modes cause invalid latex code.

           "whole" or 1: Differencing on the level of whole equations. Even trivial changes to  equations  cause
           the  whole equation to be marked changed.  This mode can be used if processing in coarse or fine mode
           results in invalid latex code.

           "coarse" or 2: Detect changes within equations marked  up  with  a  coarse  granularity;  changes  in
           equation type (e.g.displaymath to equation) appear as a change to the complete equation. This mode is
           recommended  for  situations  where  the content and order of some equations are still being changed.
           [Default]

           "fine" or 3: Detect small change in equations and mark up at fine granularity.   This  mode  is  most
           suitable, if only minor changes to equations are expected, e.g. correction of typos.

       --graphics-markup=level
            Change highlight style for graphics embedded with C<\includegraphics> commands.

           Possible values for level:

           "none", "off" or 0: no highlighting for figures

           "new-only"  or  1:  surround  newly  added  or changed figures with a blue frame [Default if graphicx
           package loaded]

           "both" or 2:     highlight new figures with a blue frame and show deleted figures at  reduced  scale,
           and crossed out with a red diagonal cross. Use configuration variable SCALEDELGRAPHICS to set size of
           deleted figures.

           Note that changes to the optional parameters will make the figure appear as changed to latexdiff, and
           this figure will thus be highlighted.

           In  some  circumstances "Misplaced \noalign" error can occur if there are certain types of changes in
           tables. In this case please use "--graphics-markup=none" as a work-around.

       --disable-citation-markup or --disable-auto-mbox
           Suppress  citation  markup  and  markup  of  other  vulnerable  commands   in   styles   using   ulem
           (UNDERLINE,FONTSTRIKE, CULINECHBAR) (the two options are identical and are simply aliases)

       --enable-citation-markup or --enforce-auto-mbox
           Protect  citation  commands  and  other vulnerable commands in changed sections with "\mbox" command,
           i.e. use default behaviour for ulem package for other packages (the two options are identical and are
           simply aliases)

   Miscellaneous
       --verbose or -V
           Output various status information to stderr during processing.  Default is to work silently.

       --driver=type
           Choose driver for changebar package (only relevant for styles using
              changebar: CCHANGEBAR CFONTCHBAR CULINECHBAR CHANGEBAR). Possible drivers are listed in  changebar
           manual, e.g. pdftex,dvips,dvitops
             [Default: pdftex]

       --ignore-warnings
           Suppress  warnings  about  inconsistencies  in  length  between  input and parsed strings and missing
           characters.  These warning messages are often related to non-standard latex  or  latex  constructions
           with  a syntax unknown to "latexdiff" but the resulting difference argument is often fully functional
           anyway, particularly if the non-standard latex only occurs in  parts  of  the  text  which  have  not
           changed.

       --label=label or -L label
           Sets  the labels used to describe the old and new files.  The first use of this option sets the label
           describing the old file and the second use of the option sets the label for the new  file,  i.e.  set
           both  labels  like this "-L labelold -L labelnew".  [Default: use the filename and modification dates
           for the label]

       --no-label
           Suppress inclusion of old and new file names as comment in output file

       --visible-label
           Include old and new filenames (or labels set with "--label" option) as visible output.

       --flatten
           Replace "\input" and "\include" commands within body by the content of the files in  their  argument.
           If  "\includeonly"  is  present  in  the  preamble,  only those files are expanded into the document.
           However, no recursion is done, i.e. "\input" and "\include" commands within included sections are not
           expanded.  The included files are assumed to
            be located in the same directories as the old and new master files, respectively, making it possible
           to organise files into old and new directories.  --flatten is applied recursively, so inputted  files
           can  contain  further  "\input"  statements.   Also  handles  files  included  by  the import package
           ("\import" and "\subimport"), and "\subfile" command.

           Use of this option might result in  prohibitive  processing  times  for  larger  documents,  and  the
           resulting difference document no longer reflects the structure of the input documents.

       --filter-script=filterscript
           Run  files  through this filterscript (full path preferred) before processing.  The filterscript must
           take STDIN input and output to STDOUT.  When coupled with --flatten, each file will  be  run  through
           the filter as it is brought in.

       --ignore-filter-stderr
           When  running  with  --filter-script, STDERR from the script may cause readability issues.  Turn this
           flag on to ignore STDERR from the filter script.

       --help or -h
           Show help text

       --version
           Show version number

   Internal options
       These options are mostly for automated use by latexdiff-vc. They can be used directly, but the API should
       be considered less stable than for the other options.

       --no-links
           Suppress generation of hyperreferences, used for minimal diffs (option --only-changes  of  latexdiff-
           vc)

   Predefined styles
   Major types
       The  major  type  determine  the  markup of plain text and some selected latex commands outside floats by
       defining the markup commands "\DIFadd{...}" and "\DIFdel{...}" .

       "UNDERLINE"
                 Added text is wavy-underlined and blue, discarded text is struck out and  red  (Requires  color
                 and  ulem  packages).  Overstriking does not work in displayed math equations such that deleted
                 parts of equation are underlined, not struck out (this is a shortcoming inherent  to  the  ulem
                 package).

       "CTRADITIONAL"
                 Added  text  is  blue  and  set in sans-serif, and a red footnote is created for each discarded
                 piece of text. (Requires color package)

       "TRADITIONAL"
                 Like "CTRADITIONAL" but without the use of color.

       "CFONT"   Added text is blue and set in sans-serif, and discarded text is red and very small size.

       "FONTSTRIKE"
                 Added tex is set in sans-serif, discarded text small and struck out

       "CCHANGEBAR"
                 Added text is blue, and discarded text is red.  Additionally, the changed text is marked with a
                 bar in the margin (Requires color and changebar packages).

       "CFONTCHBAR"
                 Like "CFONT" but with additional changebars (Requires color and changebar packages).

       "CULINECHBAR"
                 Like "UNDERLINE" but with additional changebars (Requires color, ulem and changebar packages).

       "CHANGEBAR"
                 No mark up of text, but mark margins with changebars (Requires changebar package).

       "INVISIBLE"
                 No visible markup (but generic markup commands will still be inserted.

       "BOLD"    Added text is set in bold face, discarded is not shown.

       "PDFCOMMENT"
                 The pdfcomment package is used to underline new text, and mark deletions with  a  PDF  comment.
                 Note  that this markup might appear differently or not at all based on the pdf viewer used. The
                 viewer with best support for pdf markup is probably acroread. This style is only recommended if
                 the number of differences is small.

   Subtypes
       The subtype defines the commands that are inserted at the begin and end of  added  or  discarded  blocks,
       irrespectively  of  whether  these  blocks  contain  text  or  commands (Defined commands: "\DIFaddbegin,
       \DIFaddend, \DIFdelbegin, \DIFdelend")

       "SAFE"    No additional markup (Recommended choice)

       "MARGIN"  Mark beginning and end of changed blocks with symbols in the margin nearby (using the  standard
                 "\marginpar" command - note that this sometimes moves somewhat from the intended position.

       "COLOR"   An  alternative  way  of  marking  added  passages  in  blue,  and deleted ones in red.  (It is
                 recommeneded to use instead the main types to effect colored markup,  although  in  some  cases
                 coloring with dvipscol can be more complete, for example with citation commands).

       "DVIPSCOL"
                 An  alternative  way  of  marking  added  passages  in blue, and deleted ones in red. Note that
                 "DVIPSCOL" only works with the dvips converter, e.g. not pdflatex.  (it is recommeneded to  use
                 instead  the main types to effect colored markup, although in some cases coloring with dvipscol
                 can be more complete).

       "ZLABEL"  can be used to highlight only changed pages, but requires post-processing. It is  recommend  to
                 not   call   this   option  manually  but  use  "latexdiff-vc"  with  "--only-changes"  option.
                 Alternatively, use the script given within preamble of diff files made using this style.

       "ONLYCHANGEDPAGE"
                 also highlights changed pages, without  the  need  for  post-processing,  but  might  not  work
                 reliably if there is floating material (figures, tables).

       "LABEL"   is  similar  to  "ZLABEL",  but  does  not  need  the  zref  package  and  works  less reliably
                 (deprecated).

   Float Types
       Some of the markup used in the main text might cause problems when used within floats  (e.g.  figures  or
       tables).   For  this reason alternative versions of all markup commands are used within floats. The float
       type defines these alternative commands.

       "FLOATSAFE"
                 Use identical markup for text as in the main body, but set all commands marking the  begin  and
                 end  of changed blocks to null-commands.  You have to choose this float type if your subtype is
                 "MARGIN" as "\marginpar" does not work properly within floats.

       "TRADITIONALSAFE"
                 Mark additions the same way as in the main text.  Deleted environments are  marked  by  angular
                 brackets  \[  and  \]  and the deleted text is set in scriptscript size. This float type should
                 always be used with the "TRADITIONAL" and  "CTRADITIONAL" markup types as the \footnote command
                 does not work properly in floating environments.

       "IDENTICAL"
                 Make no difference between the main text and floats.

   Configuration Variables
       "ARRENV"  If a match to "ARRENV" is found within an inline math environment within  a  deleted  or  added
                 block, then the inlined math is surrounded by "\mbox{"..."}".  This is necessary as underlining
                 does not work within inlined array environments.

                 [ Default: "ARRENV"="(?:array|[pbvBV]matrix)"

       "COUNTERCMD"
                 If  a command in a deleted block which is also in the textcmd list matches "COUNTERCMD" then an
                 additional command "\addtocounter{"cntcmd"}{-1}", where cntcmd  is  the  matching  command,  is
                 appended  in  the  diff file such that the numbering in the diff file remains synchronized with
                 the numbering in the new file.

                 [ Default: "COUNTERCMD"="(?:footnote|part|section|subsection" ...

                 "|subsubsection|paragraph|subparagraph)"  ]

       "CUSTOMDIFCMD"
                 This option is for advanced users and allows definition of special versions of commands,  which
                 do not work as safe commands.

                 Commands  in  "CUSTOMDIFCMD"  that occur in added or deleted blocks will be given an ADD or DEL
                 prefix.  The prefixed versions of the command must  be  defined  in  the  preamble,  either  by
                 putting  them  in  the preamble of at least the new file, or by creating a custom preamble file
                 (Option --preamble).  For example the command "\blindtext" (from package  blindtext)  does  not
                 interact well with underlining, so that for the standard markup type, it is not satisfactory to
                 define  it as a safe command. Instead, a customised versions without underlining can be defined
                 in the preamble:

                 "\newcommand{\DELblindtext}{{\color{red}\blindtext}}"

                 "\newcommand{\ADDblindtext}{{\color{blue}\blindtext}}"

                 and then latexdiff should be invoked with the option "-c CUSTOMDIFCMD=blindtext".

                 [ Default: none ]

       "FLOATENV"
                 Environments whose name matches the regular expression in  "FLOATENV"  are  considered  floats.
                 Within these environments, the latexdiff markup commands are replaced by their FL variaties.

                 [ Default: "(?:figure|table|plate)[\w\d*@]*" ]

       "ITEMCMD" Commands representing new item line with list environments.

                 [ Default: \"item" ]

       "LISTENV" Environments whose name matches the regular expression in "LISTENV" are list environments.

                 [ Default: "(?:itemize|enumerate|description)" ]

       "MATHENV","MATHREPL"
                 If  both  \begin and \end for a math environment (environment name matching "MATHENV" or \[ and
                 \]) are within the same deleted block, they are replaced by a  \begin  and  \end  commands  for
                 "MATHREPL" rather than being commented out.

                 [ Default: "MATHENV"="(?:displaymath|equation)" , "MATHREPL"="displaymath" ]

       "MATHARRENV","MATHARRREPL"
                 as "MATHENV","MATHREPL" but for equation arrays

                 [ Default: "MATHARRENV"="eqnarray\*?" , "MATHREPL"="eqnarray" ]

       "MINWORDSBLOCK"
                 Minimum  number  of  tokens  required  to  form an independent block. This value is used in the
                 algorithm to detect changes of complete blocks by merging identical text  parts  of  less  than
                 "MINWORDSBLOCK" to the preceding added and discarded parts.

                 [ Default: 3 ]

       "PICTUREENV"
                 Within  environments  whose  name  matches the regular expression in "PICTUREENV" all latexdiff
                 markup is removed (in pathologic  cases  this  might  lead  to  inconsistent  markup  but  this
                 situation should be rare).

                 [ Default: "(?:picture|DIFnomarkup)[\w\d*@]*" ]

       "SCALEDELGRAPHICS"
                 If  "--graphics-markup=both"  is  chosen,  "SCALEDELGRAPHICS"  is  the factor, by which deleted
                 figures will be scaled (i.e. 0.5 implies they are shown at half linear size).

                 [ Default: 0.5 ]

       "VERBATIMENV"
                 RegEx describing environments like verbatim, whose  contents  should  be  taken  verbatim.  The
                 content  of  these  environments will not be processed in any way: deleted content is commented
                 out, new content is not marked up

                 [ Default:  "comment"  ]

       "VERBATIMLINEENV"
                 RegEx describing environments like verbatim, whose  contents  should  be  taken  verbatim.  The
                 content of environments described by VERBATIMLINEENV are compared in line mode, and changes are
                 marked  up using the listings package. The markup style is set based on the chosen mains markup
                 type (Option -t), or on an  analysis  of  the  preamble.   Note  that  "listings.sty"  must  be
                 installed.  If  this  file  is  not  found  the  fallback  solution is to treat VERBATIMLINEENV
                 environments treated exactly the same way as VERBATIMENV environments.

                 [ Default:  "(?:verbatim[*]?|lstlisting"  ]

COMMON PROBLEMS AND FAQ

       Citations result in overfull boxes
                 There is an incompatibility between the "ulem" package, which "latexdiff" uses for  underlining
                 and  striking  out  in  the  UNDERLINE  style,  the  default  style,  and the way citations are
                 generated. In order to be able to mark up citations properly, they are enclosed with an "\mbox"
                 command. As mboxes cannot be broken across lines, this procedure frequently results in overfull
                 boxes, possibly obscuring the content as it extends beyond the right margin.  The  same  occurs
                 for some other packages (e.g., siunitx). If this is a problem, you have two possibilities.

                 1.  Use  "CFONT"  type  markup  (option  "-t  CFONT"):  If  this markup is chosen, then changed
                 citations are no longer marked up with the wavy line (additions) or struck out (deletions), but
                 are still highlighted in the appropriate color, and deleted text  is  shown  with  a  different
                 font. Other styles not using the "ulem" package will also work.

                 2.  Choose  option  "--disable-citation-markup"  which  turns  off the marking up of citations:
                 deleted citations are no longer shown, and added citations are shown without markup. (This  was
                 the default behaviour of latexdiff at versions 0.6 and older)

                 For  custom  packages  you  can  define the commands which need to be protected by "\mbox" with
                 "--append-mboxsafecmd" and "--excludemboxsafecmd" options (submit  your  lists  of  command  as
                 feature request at github page to set the default behaviour of future versions, see section 6)

       Changes in complicated mathematical equations result in latex processing errors
                 Try options "--math-markup=whole".   If even that fails, you can turn off mark up for equations
                 with "--math-markup=off".

       How can I just show the pages where changes had been made
                 Use options -"-s ZLABEL"  (some postprocessing required) or "-s ONLYCHANGEDPAGE". "latexdiff-vc
                 --ps|--pdf"  with  "--only-changes"  option takes care of the post-processing for you (requires
                 zref package to be installed).

BUGS

       Option allow-spaces not implemented entirely consistently. It breaks the rules that number and type of
       white space does not matter, as different numbers of inter-argument spaces are treated as significant.

       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
       version number of latexdiff (from comments at the top of the source  or  use  --version).   If  you  come
       across  latex  files  that  are  error-free  and  conform  to the specifications set out above, and whose
       differencing still does not result in error-free latex, please send me those  files,  ideally  edited  to
       only  contain  the offending passage as long as that still reproduces the problem. If your file relies on
       non-standard class files, you must include those.  I will not look at examples where I  have  trouble  to
       latex the original files.

SEE ALSO

       latexrevise, latexdiff-vc

PORTABILITY

       latexdiff does not make use of external commands and thus should run on any platform  supporting Perl 5.6
       or  higher.   If  files  with  encodings  other  than ASCII or UTF-8 are processed, Perl 5.8 or higher is
       required.

       The standard version of latexdiff requires installation of the Perl package "Algorithm::Diff"  (available
       from  www.cpan.org  -  http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15)  but  a  stand-alone version,
       latexdiff-so, which has this package inlined,  is  available,  too.   latexdiff-fast  requires  the  diff
       command to be present.

AUTHOR

       Version 1.3.2 Copyright (C) 2004-2021 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

       Contributors of fixes and additions: V. Kuhlmann, J. Paisley, N.  Becker,  T.  Doerges,  K.  Huebner,  T.
       Connors,  Sebastian  Gouezel and many others.  Thanks to the many people who sent in bug reports, feature
       suggestions, and other feedback.

perl v5.34.0                                       2022-07-14                                       LATEXDIFF(1)