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
|
#!/bin/bash
NAME=ctable
# this script generates NAME's documentation into NAME.pdf
# and then installs (unless the environment variable NOINSTALL is not empty)
# NAME in TEXMFLOCAL
# This is not a make-like process. If you changed any files, then first run
# inst with the --Clean option, then run inst without options.
function die {
echo -e "$1"
exit 1
}
LOCAL=`kpsewhich --expand-var '$TEXMFLOCAL'`/tex/latex/$NAME
CLEAN={aux,idx,ilg,chk,fls,ind,log,glo,gls,out,tex}
ALLCLEAN={aux,idx,ilg,chk,fls,ind,log,glo,gls,out,tex,sty,cls,pdf}
function clean {
eval "rm -f $NAME.$CLEAN doc/*.$CLEAN"
}
function Clean {
eval "rm -f $NAME.$ALLCLEAN doc/*.$ALLCLEAN"
}
case "$1"
in
-c|--clean) clean; exit;;
-C|--Clean) Clean; exit;;
-h|--help) echo 'Usage: ./inst [-c|C|h]'; exit;;
?*) echo 'Illegal argument(s): use -c|-C|-h|--clean|--Clean|--help'; exit;;
esac
echo y |tex $NAME.ins >/dev/null
(
# recompile example graphics if any is missing:
cd doc
ln -sf ../$NAME.sty || exit 1 # use the $NAME.sty version to be installed
for i in [0-9][0-9]?; do
if [ ! -f $i.pdf -o ! -f s$i.pdf ]; then
echo Creating example graphics
./doit || exit 1
./doit -c
break
fi
done
rm $NAME.sty
cd ..
echo Creating documentation
pdflatex --recorder --interaction=batchmode $NAME.dtx || die "`texlog_extract $NAME.log`"
if [ -f $NAME.glo ]; then
makeindex -q -s gglo.ist -o $NAME.gls $NAME.glo || echo makeindex-error
fi
if [ -f $NAME.idx ]; then
makeindex -q -s gind.ist -o $NAME.ind $NAME.idx || exit 1
fi
pdflatex --recorder --interaction=nonstopmode $NAME.dtx > /dev/null || exit 1
# set environment variable NOINSTALL to skip installation in your textree
if [ "$NOINSTALL" = "" ]; then
echo Installing $NAME.{dtx,sty,pdf}
rm -rf $LOCAL
mkdir -p $LOCAL
cp $NAME.{dtx,sty,pdf} $LOCAL || exit 1
fi
sudo -i mktexlsr $LOCAL
exit 0
)
if [ $? != 0 ]; then
echo errors detected, see $NAME.log
else
echo $NAME successfully installed
fi
texlog_extract $NAME
# $Id: inst,v 1.28 2012/05/28 12:53:17 wybo Exp $
|