Mercurial > dottes
diff makeBookeA4.sh @ 181:6a0bdabfb255
Add a A4 portrait book with multiple tunes per page.
Also add a script to make all variants of a single book, and
look for <tune name>.tex files, and if one exists add it after the tune.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Sat, 26 Jan 2013 13:47:01 +0000 |
parents | |
children | 9dd24e61d6dd |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/makeBookeA4.sh Sat Jan 26 13:47:01 2013 +0000 @@ -0,0 +1,90 @@ +#!/bin/bash +# +# Build the Booke. First assemble the book LaTeX, then build it +# into a PDF. +# +# All EPS and PDF tune graphics must be present already. Run +# makeGraphics.sh to make these. +# + +if [ $# != 1 ]; then + echo "Usage: makeBookeA4.sh <book dir name>" + exit 1 +fi + +dir=`pwd` + +booke=$dir/$1 +builddir=$dir/build +graphicsdir=$dir/graphics/$1 +output=dottesA4.tex +outputxdv=${output/%.tex/.xdv} +outputpdf=${output/%.tex/.pdf} + +mkdir -p $builddir + +cp buildno.txt $builddir +if [ -r $booke/subtitle.txt ]; then + cp $booke/subtitle.txt $builddir +else + touch $builddir/subtitle.txt +fi +if [ -r $booke/intro.txt ]; then + cp $booke/intro.txt $builddir +else + touch $builddir/intro.txt +fi +cp dottes.tex.a4header $builddir/$output + +# Now, for each tune, make the tune graphic and add it, inside a +# centre section, so the document. Then add a TOC entry. +find $booke -name "*.abc" | sort | + while read filename + do + title=`$dir/abcfield.py --field T --latex $filename` + name=`basename $filename .abc` + echo -E "\begin{center}" >> $builddir/$output + echo -E "\phantomsection" >> $builddir/$output + echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output + echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output + echo -E "\end{center}" >> $builddir/$output + text=$booke/$name.tex + if [ -r $text ]; then + cat $text >> $builddir/$output + fi + done + +cat dottes.tex.firstlines >> $builddir/$output + +find $booke -name "*.abc" | sort | + while read filename + do + title=`$dir/abcfield.py --field T --latex $filename` + name=`basename $filename .abc` + echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output + done + +cat dottes.tex.footer >> $builddir/$output + +cd $builddir + +# The version of xetex on Squeeze doesn't do pass the A5 landscape instruction +# down to the PDF generator. So split out and do manually. +# +# And, sigh, this fails on Sid. The first page comes out as A4 portrait. +# So try to work out which we are using and run the appropriate command. +ver=`xetex -version | head -n 1` +ver=${ver/*TeX Live /} +ver=${ver/\/*/} +if [ "$ver" == "2009" ]; then + xelatex -no-pdf $output + xelatex -no-pdf $output + xdvipdfmx -p a5 -l $outputxdv +else + xelatex $output + xelatex $output +fi + +mv $outputpdf $dir/$1-A4.pdf + +cd $dir