blob: 97d3cf91d7c1b877f9a589ec8a5024cc2d9dc03c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
#! /depot/gnu/plat/bin/bash
MYDIR=`dirname $0`
# DEFAULT_FORMAT must be upper case...
DEFAULT_FORMAT=PDF
USE_DEFAULT_FORMAT=true
# This is needed to support kpathsea based TeX installations. Others are
# not supported. ;-)
TEXINPUTS=$MYDIR/../texinputs:
export TEXINPUTS
usage() {
echo "usage: $0 [options...] file ..."
exit 2
}
build_html() {
# This doesn't work; l2hinit.perl uses the current directory, not it's own
# location. Need a workaround for this.
if [ "$ADDRESS" ] ; then
latex2html -init_file $MYDIR/../perl/l2hinit.perl -address "$ADDRESS" \
$1 || exit $?
else
latex2html -init_file $MYDIR/../perl/l2hinit.perl $1 || exit $?
fi
(cd $FILE; $MYDIR/node2label.pl *.html) || exit $?
}
build_dvi() {
latex $1 || exit $?
if [ -f $1.idx ] ; then
`dirname $0`/fix_hack $1.idx || exit $?
makeindex $1.idx || exit $?
fi
latex $1 || exit $?
}
build_ps() {
dvips -N0 -f $1 >$1.ps || exit $?
}
build_pdf() {
# We really have to do it three times to get all the page numbers right,
# since the length of the ToC makes a real difference.
pdflatex $1 || exit $?
pdflatex $1 || exit $?
`dirname $0`/toc2bkm.py -c section $FILE || exit $?
if [ -f $1.idx ] ; then
`dirname $0`/fix_hack $1.idx || exit $?
makeindex $1.idx || exit $?
fi
pdflatex $1 || exit $?
}
# figure out what our targets are:
while [ "$1" ] ; do
case "$1" in
--pdf|--pd)
BUILD_PDF=true
USE_DEFAULT_FORMAT=false
shift 1
;;
--ps)
BUILD_PS=true
USE_DEFAULT_FORMAT=false
shift 1
;;
--dvi|--dv|--d)
BUILD_DVI=true
USE_DEFAULT_FORMAT=false
shift 1
;;
--html|--htm|--ht|--h)
BUILD_HTML=true
USE_DEFAULT_FORMAT=false
shift 1
;;
-a|--address|--addres|--addre|-addr|--add|--ad|--a)
ADDRESS="$2"
shift 2
;;
-*)
usage
;;
*)
break;;
esac
done
if [ $# = 0 ] ; then
usage
fi
if [ $USE_DEFAULT_FORMAT = true ] ; then
eval "BUILD_$DEFAULT_FORMAT=true"
fi
for FILE in $@ ; do
FILE=${FILE%.tex}
if [ "$BUILD_DVI" -o "$BUILD_PS" ] ; then
build_dvi $FILE
fi
if [ "$BUILD_PDF" ] ; then
build_pdf $FILE
fi
if [ "$BUILD_PS" ] ; then
build_ps $FILE
fi
if [ "$BUILD_HTML" ] ; then
if [ ! "$BUILD_DVI" -o ! "$BUILD_PDF" ] ; then
# need to get aux file
build_dvi $FILE
fi
build_html $FILE
fi
rm -f $FILE.aux $FILE.log $FILE.out $FILE.toc $FILE.bkm
if [ ! "$BUILD_DVI" ] ; then
rm -f $FILE.dvi
fi
done
|