On Tue, Jan 08, 2002 at 12:40:02PM +0100, Herbert Voss wrote:
> On 8 Jan 2002, Xavier de Blas wrote:
>
> > I' making versions of my thesis everymonth. I want to make a diff
> > between de results (pdf) for showing it to my thesis director.
> >
> > It's not a diff between de source (.lyx) it's a diff between de result.
> >
> > Anyone has done this? how?
>
> There is a package bar (or so) which puts vertical
> bars at the margins.
The package is called changebar.sty
If you have file-old.lyx and file-new.lyx what you need to do is
lyx -e latex file-old.lyx
lyx -e latex file-new.lyx
chbar.sh file-old.tex file-new.tex >file-diff.tex
latex file-diff
bibtex file-diff
latex file-diff
latex file-diff
dvips file-diff -o file-diff.ps
Personally, I use a script to process the .tex file (the attached lyxdiff2
script).
Also, I use a script to perform the above commands (actually, I keep my old
version using CVS, so the commands are a little bit different).
This script is also attached (lyxdiff).
#!/usr/bin/tcsh
set f = $2:r
mv $2 $2.diff-bak
cvs update -r$1 $2
rm -f $f.tex
lyx --export latex $2
lyxdiff2 $f.tex >! $f-diff-1.tex
cvs update -A $2
mv $2.diff-bak $2
rm -f $f.tex
lyx --export latex $2
lyxdiff2 $f.tex >! $f-diff-1.tex
chbar.sh $f-diff-1.tex $f-diff-2.tex >! $f-diff-3.tex
latex $f-diff-3
bibtex $f-diff-3
latex $f-diff-3
latex $f-diff-3
set paper = `awk '/papersize/{print $2}' $2`
if ($paper == "letterpaper") then
dvips -t letter $f-diff-3 -o $f-diff.ps
else
dvips -t a4 $f-diff-3 -o $f-diff.ps
endif
echo "\nerrors:"
grep "^\!" $f-diff-3.log
rm -f $f.tex $f-diff-1.tex $f-diff-2.tex $f-diff-3*
#!/usr/bin/perl
while (<>) {
if (!/^%/) {
$begin = 1 if (/begin{document}/);
if ($begin) {
s/ \n/\n/g;
s/ / /g;
s/(.) /$1\n/g unless (/&/);
}
print;
}
}