685e33f7773df4d7364edb55eaad48ab9050d0c9
3 LATEXFLAGS
="-file-line-error -halt-on-error"
5 docs
=( thesis presentation
)
12 [[ "$1" != *.tex
&& "$1" != *.pre
]] && fn
="$1.tex" || fn
="$1"
14 grep -Po '(?<=\\input{).*(?=})|(?<=\\include{).*(?=})' $fn |\
15 while read l
; do deps
"$l"; done
19 for dep
in $
(deps
"$1"); do
20 if [ "$dep" -nt "$2" ]; then
21 log
"$dep is newer than $2, thus recompiling"
29 pdflatex
$LATEXFLAGS -ini -jobname="$2" "&pdflatex $1\dump"
32 [ $ret -ne 0 ] && exit 1
36 pdflatex
$LATEXFLAGS $1 ||
exit 1
38 if grep -q '^\\bibdata{' $1.aux
39 then bibtex
$1 ||
exit 1
42 if grep -q '\@istfilename' $1.aux
43 then makeglossaries
$1 ||
exit 1
47 then makeindex
$1 ||
exit 1
51 pdflatex
$LATEXFLAGS $1 |
tee $tmpf ||
exit 1
53 if grep -Fiq "Rerun" $tmpf
54 then pdflatex
$LATEXFLAGS $1 ||
exit 1
62 if [ ! -f $1.tex
]; then
63 log
"Skipping $1, no tex available"
66 [ -f preamble.tex
] && pre
=preamble.tex
67 [ -f $1.pre
] && pre
=$1.pre
69 if [ ! -z $pre ]; then
71 recompile
$pre $1.
fmt\
73 || log
"preamble up to date"
77 recompile
"$1.tex" "$1.pdf"\
79 || log
"document up to date"
84 while [ $# -ne 0 ]; do
86 rm -fv $1.
{acn
,acr
,alg
,aux
,bbl
,blg
,idl
,idx
,ilg
,ind
,fmt,glg
,glo
,gls
,\
87 ist
,loa
,lof
,log
,lol
,lot
,nav
,out
,pdf
,snm
,tdo
,toc
,vrb
}
93 for doc
in "${docs[@]}"; do
98 while [ $# -ne 0 ]; do
99 if [ $1 = "clean" ]; then
102 else clean
"${docs[@]}"