blob: 3bcd0027db1d1663a76e66ecbae24ee150710a29 (
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
|
#!/bin/sh
# dvipdft, completely rewritten by Thomas Esser for teTeX after an
# original script by Mark A. Wicks
#
# Thomas Esser. Public Domain.
#
# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and
# TeX Live.
# This script makes a first (fast) run with dvipdfm, then calls gs on
# the resulting pdf file to get the thumbnails and finally calls dvipdfm.
progname=dvipdft
version=20090604.0046
# set trap for error
trap '
echo "$progname: fatal error." >&2
exit 1
' 1
test -f /bin/sh5 && test -z "$RUNNING_SH5" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
&& { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; }
unset RUNNING_SH5
test -f /bin/bsh && test -z "$RUNNING_BSH" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \
&& { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; }
unset RUNNING_BSH
# hack around a bug in zsh:
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
help="Usage: $progname [options] dvifile
$progname --help
$progname --version"
quoteit()
{
echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@"
}
# process args 1 to (n-1) and scan for a -o argument keep a properly
# quoted backup of the options, so that they can be restored later
unset s outfile
while test $# -gt 1; do
case $1 in
-o) outfile=$2;;
esac
s="$s${s+ }"`quoteit "$1"`
shift
done
# check for last argument
case $1 in
--help)
echo "$help"
exit 0
;;
--version)
echo "$progname version $version by Thomas Esser and others"
exit 0
;;
"")
echo "$help"
exit 1
;;
esac
# args 1 to (n-1) are gone, last one must be the dvifile
dvifile="$1"
# outfile comes from -o argument, else it is derived from the input file
test -n "$outfile" \
|| outfile=`echo "$dvifile" | sed 's@.*/@@; s@\.dvi$@@; s@$@.pdf@'`
# outBase is part of the thumbname files just as dvipdfm expects them:
outBase=`echo "$outfile" | sed 's@\.pdf$@@'`
ls "$outBase".[1-9]* >/dev/null 2>&1 && {
echo "$progname: Please move the following files out of the way:" >&2
ls "$outBase".[1-9]* >&2
exit 1
}
# restore args 1 to (n-1):
eval set x "$s"; shift
# set trap for cleanup
trap '
rm -f "$outBase".[1-9]*
' 0
# Run dvipdfm with the fastest options for the first pass
echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2
dvipdfm ${1+"$@"} -z0 "$dvifile"
# run gs
echo "$progname: running gs" >&2
gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile"
# run dvipdfm with the users specified options for the last pass
echo "$progname: running dvipdfm -t $@ $dvifile" >&2
dvipdfm ${1+"$@"} -t "$dvifile"
|