mirror of https://github.com/CGAL/cgal
129 lines
3.4 KiB
Bash
Executable File
129 lines
3.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Script for converting the CGAL manuals to PDF with bookmarks.
|
|
# Have to do a separate run of latex to generate this because otherwise
|
|
# the things that are linked via the hyperref package are colored in the
|
|
# PostScript manual as well.
|
|
#
|
|
# N.B. gs version 6.51 works best for the basic library conversion.
|
|
# version 6.50 gives up or segmentation faults or does other nasty
|
|
# things.
|
|
|
|
if [ $# -ne 0 ] ; then
|
|
DOCDIRS="$*"
|
|
elif [ -f wrapper.tex ]; then
|
|
DOCDIRS="."
|
|
elif [ -f docdirs ]; then
|
|
DOCDIRS=`cat docdirs`
|
|
else
|
|
DOCDIRS=""
|
|
fi
|
|
|
|
DISTILL="/opt/adobe/AcroDist_2.1/bin/distill"
|
|
|
|
origTEXINPUTS=$TEXINPUTS
|
|
|
|
TEXINPUTS=../../examples/:../../demo:$TEXINPUTS
|
|
for DIR in $DOCDIRS; do
|
|
TEXINPUTS=$DIR:$TEXINPUTS
|
|
cd $DIR
|
|
echo "now in directory $DIR..."
|
|
CURR_DIR=`pwd`
|
|
|
|
sed -e '
|
|
s/\\setboolean{usehyperref}{false}/\\setboolean{usehyperref}{true}/
|
|
s/\\setboolean{useminitoc}{true}/\\setboolean{useminitoc}{false}/
|
|
' wrapper.tex > pdf_wrapper.tex
|
|
|
|
if [ -f docdirs_passed_tex ] ; then
|
|
DOC_SUBDIRS=`cat docdirs_passed_tex`
|
|
elif [ -f docdirs ] ; then
|
|
DOC_SUBDIRS=`cat docdirs`
|
|
else
|
|
DOC_SUBDIRS=""
|
|
fi
|
|
IONLY="\includeonly{"
|
|
for SUBDIR in ${DOC_SUBDIRS}; do
|
|
TEXINPUTS=${SUBDIR}:${SUBDIR}_ref:$TEXINPUTS
|
|
IONLY="$IONLY,${SUBDIR}/main,${SUBDIR}_ref/main"
|
|
done
|
|
IONLY="$IONLY}"
|
|
|
|
echo $IONLY > ionly
|
|
export TEXINPUTS
|
|
|
|
# must get rid of the .aux files as they may contain table of contents
|
|
# commands from minitoc that should not be used with the hyperref package
|
|
if [ -f docdirs ] ; then
|
|
\rm -f */*.aux
|
|
fi
|
|
echo
|
|
echo " ...$DIR's first LaTeX pass"
|
|
echo
|
|
latex pdf_wrapper
|
|
|
|
echo
|
|
echo " ...$DIR's bibtex "
|
|
echo
|
|
bibtex pdf_wrapper
|
|
# add table of contents line for bibliography
|
|
if [ -f pdf_wrapper.bbl ]; then
|
|
sed 's/\\begin{thebibliography}{.*}/&\\lcTex{\\addcontentsline{toc}{chapter}{Bibliography}}/' pdf_wrapper.bbl > new_pdf_wrapper.bbl
|
|
\mv new_pdf_wrapper.bbl pdf_wrapper.bbl
|
|
fi
|
|
|
|
if [ -f pdf_wrapper.idx ]; then
|
|
echo
|
|
echo " ...making $DIR's index"
|
|
echo
|
|
makeindex pdf_wrapper
|
|
index_fix pdf_wrapper.ind
|
|
fi
|
|
|
|
echo
|
|
echo " ...$DIR's second LaTeX pass "
|
|
echo
|
|
latex pdf_wrapper
|
|
|
|
if [ -f pdf_wrapper.ref ]; then
|
|
echo
|
|
echo " ... sorting reference pages "
|
|
echo
|
|
sort -f +2 -3 pdf_wrapper.ref > pdf_wrapper.ref_sorted
|
|
cp pdf_wrapper.ref_sorted pdf_wrapper.ref
|
|
fi
|
|
|
|
echo
|
|
echo " ... $DIR's final LaTeX pass"
|
|
echo
|
|
latex pdf_wrapper
|
|
|
|
echo
|
|
echo " ... creating $DIR's PostScript"
|
|
echo
|
|
|
|
dvips -t letter -o pdf_wrapper.ps pdf_wrapper
|
|
|
|
echo
|
|
echo " ... creating $DIR's PDF"
|
|
echo
|
|
ps2pdf pdf_wrapper.ps
|
|
case $CURR_DIR in
|
|
*installation) \mv pdf_wrapper.pdf installation.pdf;;
|
|
*general) \mv pdf_wrapper.pdf general_intro.pdf;;
|
|
*kernel) \mv pdf_wrapper.pdf kernel.pdf;;
|
|
*kernel_d) \mv pdf_wrapper.pdf kernel_d.pdf;;
|
|
*basic) \mv pdf_wrapper.pdf basic_lib.pdf;;
|
|
*support) \mv pdf_wrapper.pdf support_lib.pdf;;
|
|
*use_of_stl) \mv pdf_wrapper.pdf use_of_stl.pdf;;
|
|
*)
|
|
echo "UNKNOWN manual part $CURR_DIR; creating ref-manual.pdf";
|
|
\mv pdf_wrapper.pdf ref-manual.pdf
|
|
esac
|
|
echo "...leaving directory $DIR"
|
|
cd ..
|
|
done
|
|
|
|
TEXINPUTS=$origTEXINPUTS
|
|
export TEXINPUTS
|