.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "TEXDIFF 1" .TH TEXDIFF 1 "2009-09-24" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" \&\fBtexdiff\fR \- Compares two (La)TeX documents to create a merged version showing changes, similar to that of 'Change Tracking' in some word processors. .SH "SYNOPSIS" .IX Header "SYNOPSIS" texdiff [\-\-nofloats|\-n] old.tex new.tex [diff.tex] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The first two files are compared and a new TeX file is output. When the output file is processed with (La)TeX it marks new changes with blue and old text with red with a strike-through line. Furthermore, passages with changes are marked at the margin with grey bars by the LaTeX \f(CW\*(C`changebar\*(C'\fR package (although only after running \f(CW\*(C`dvips\*(C'\fR, in \&\f(CW\*(C`xdvi\*(C'\fR the bars are one inch too far left to compensate the one inch offset inserted by TeX printer drivers). .PP \&\f(CW\*(C`texdiff\*(C'\fR uses and therefore requires the \f(CW\*(C`wdiff\*(C'\fR command to insert these marks. If LaTeX macros are included in those striked out or underlined passages, the latex run will most likely fail. The source of most problems lies in \f(CW\*(C`wdiff\*(C'\fR tearing apart pairs of braces. Therefore \f(CW\*(C`texdiff\*(C'\fR is a perl script that calls \f(CW\*(C`wdiff\*(C'\fR internally and fixes \f(CW\*(C`wdiff\*(C'\fR's output by re-pairing braces again and handling some commonly used LaTeX macros. .PP For texdiff to work, the following LaTeX code must be inserted in the preamble of the LaTeX document: .PP .Vb 3 \& \eusepackage{xcolor} \eusepackage{ulem} \eusepackage{changebar} \& \enewcommand\eTLSins[1]{\ecbstart{}\etextcolor{ins}{\euline{#1}}\ecbend{}} \& \enewcommand\eTLSdel[1]{\ecbdelete{}\etextcolor{del}{\esout{#1}}} .Ve .PP Define editing colors \f(CW\*(C`ins\*(C'\fR and \f(CW\*(C`del\*(C'\fR with existing \f(CW\*(C`xcolor\*(C'\fR color names: \ecolorlet{ins}{blue} \ecolorlet{del}{red} .PP Or from scratch: \edefinecolor{ins}{rgb}{0, 0.5, 0} .PP These macros are \s-1NOT\s0 automatically interted at \ebegin{document} like the original scripts did (see the \fB\s-1ACKNOWLEDGMENTS\s0\fR section below), because this will not work on files of a multi-file document (those included by \einclude or \einput). Furthermore, if you insert the macros manually, you can tune them as you like, i. e. change text color or position of changebars. Have a look at the documentation of the ulem and changebar packages on how to do this! .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-nofloats\fR, \fB\-n\fR" 4 .IX Item "--nofloats, -n" If given, skips contents of figure environments, but does show insertions and deletions in the caption commands. This is done to avoid complex messups in subfloat or complex figure environments. .IP "\fB\-\-debug\fR, \fB\-d\fR" 4 .IX Item "--debug, -d" Turns on debugging. Temporary files that contain numbered braces are kept and a raw difference file is written as output file name appended with '\-wdiff.tex'. In addition, several regular expression diagnostics are printed. \fBWarning: produces a lot of output.\fR .SH "AUTHOR" .IX Header "AUTHOR" Mark Doll gmx.net>, Cengiz Gunay users.sf.net>. .SH "ACKNOWLEDGMENTS" .IX Header "ACKNOWLEDGMENTS" .IP "\fB*\fR" 4 .IX Item "*" Version 0.4, by \s-1CG\s0, 2009/09/15. Added use of GetOpt to take an optional parameter to skip float (e.g., figure or table) contents. Added an optional debug mode. Embedded \s-1POD\s0 documentation. Fixed problem with insertion and deletions appearing in the middle of sectioning commands by throwing off LaTeX. .IP "\fB*\fR" 4 .IX Item "*" Version 0.3, modified by Cengiz Gunay , 2009/06/30. Added some Latex commands that should be excluded and fixed handling of '\e%' characters. .IP "\fB*\fR" 4 .IX Item "*" Version 0.2, is a perl implementation of TeXdiff by Mark Doll , 2006/08/09. It was derived from the original bash and perl scripts created by Robert Maron , available at http://www.robmar.net/TexDiff/. This version of texdiff is available at http://mark.doll.name/texdiff/. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyleft 2006\-2009, Mark Doll and Cengiz Gunay .PP This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.