Kaydet (Commit) dbc879e9 authored tarafından Fred Drake's avatar Fred Drake

Allow the user to operate the script in debugging mode (-D), which just does

a "set -x".

Allow keeping a transcript, using -l, in $FILE.how.

Allow keeping of all the temp files created by the process, using -k.
üst c9f2c14d
...@@ -5,12 +5,16 @@ MYDIR=`dirname $0` ...@@ -5,12 +5,16 @@ MYDIR=`dirname $0`
# DEFAULT_FORMAT must be upper case... # DEFAULT_FORMAT must be upper case...
DEFAULT_FORMAT=PDF DEFAULT_FORMAT=PDF
USE_DEFAULT_FORMAT=true USE_DEFAULT_FORMAT=true
DISCARD_TEMPS=true
# This is needed to support kpathsea based TeX installations. Others are # This is needed to support kpathsea based TeX installations. Others are
# not supported. ;-) # not supported. ;-)
TEXINPUTS=$MYDIR/../texinputs: TEXINPUTS=`dirname $MYDIR`/texinputs:$TEXINPUTS
export TEXINPUTS export TEXINPUTS
LOGFILE=/usr/tmp/mkhowto-$LOGNAME-$$.how
LOGGING=''
usage() { usage() {
echo "usage: $0 [options...] file ..." echo "usage: $0 [options...] file ..."
exit 2 exit 2
...@@ -38,6 +42,8 @@ build_dvi() { ...@@ -38,6 +42,8 @@ build_dvi() {
} }
build_ps() { build_ps() {
# note weird sequence of redirects is used to get stderr to the old stdout
# and the new stdout goes to a file
dvips -N0 -f $1 >$1.ps || exit $? dvips -N0 -f $1 >$1.ps || exit $?
} }
...@@ -81,6 +87,18 @@ while [ "$1" ] ; do ...@@ -81,6 +87,18 @@ while [ "$1" ] ; do
ADDRESS="$2" ADDRESS="$2"
shift 2 shift 2
;; ;;
-l|--logging|--loggin|--loggi|--logg|--log|--lo|--l)
LOGGING=true
shift 1
;;
-D|--debugging|--debuggin|--debuggi|--debugg|--debug|--debu|--deb|--de)
DEBUGGING=true
shift 1
;;
-k|--keep|--kee|--ke|--k)
DISCARD_TEMPS=''
shift 1
;;
-*) -*)
usage usage
;; ;;
...@@ -97,26 +115,38 @@ if [ $USE_DEFAULT_FORMAT = true ] ; then ...@@ -97,26 +115,38 @@ if [ $USE_DEFAULT_FORMAT = true ] ; then
eval "BUILD_$DEFAULT_FORMAT=true" eval "BUILD_$DEFAULT_FORMAT=true"
fi fi
if [ "$DEBUGGING" ] ; then
set -x
fi
for FILE in $@ ; do for FILE in $@ ; do
FILE=${FILE%.tex} FILE=${FILE%.tex}
if [ "$BUILD_DVI" -o "$BUILD_PS" ] ; then if [ "$BUILD_DVI" -o "$BUILD_PS" ] ; then
build_dvi $FILE build_dvi $FILE 2>&1 | tee -a $LOGFILE
fi fi
if [ "$BUILD_PDF" ] ; then if [ "$BUILD_PDF" ] ; then
build_pdf $FILE build_pdf $FILE 2>&1 | tee -a $LOGFILE
fi fi
if [ "$BUILD_PS" ] ; then if [ "$BUILD_PS" ] ; then
build_ps $FILE build_ps $FILE 2>&1 | tee -a $LOGFILE
fi fi
if [ "$BUILD_HTML" ] ; then if [ "$BUILD_HTML" ] ; then
if [ ! "$BUILD_DVI" -o ! "$BUILD_PDF" ] ; then if [ ! "$BUILD_DVI" -o ! "$BUILD_PDF" ] ; then
# need to get aux file # need to get aux file
build_dvi $FILE build_dvi $FILE 2>&1 | tee -a $LOGFILE
fi
build_html $FILE 2>&1 | tee -a $LOGFILE
fi
if [ "$DISCARD_TEMPS" ] ; then
rm -f $FILE.aux $FILE.log $FILE.out $FILE.toc $FILE.bkm 2>&1 \
| tee -a $LOGFILE
if [ ! "$BUILD_DVI" ] ; then
rm -f $FILE.dvi 2>&1 | tee -a $LOGFILE
fi fi
build_html $FILE
fi fi
rm -f $FILE.aux $FILE.log $FILE.out $FILE.toc $FILE.bkm # the the logfile around
if [ ! "$BUILD_DVI" ] ; then if [ "$LOGGING" ] ; then
rm -f $FILE.dvi cp $LOGFILE $FILE.how
fi fi
rm -f $LOGFILE
done done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment