Mercurial > dottes
diff makeBookeA5.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 | makeBooke.sh@295ba8275ab4 |
children | 1e4443d58177 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/makeBookeA5.sh Sat Jan 26 13:47:01 2013 +0000 @@ -0,0 +1,97 @@ +#!/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: makeBookeA5.sh <book dir name>" + exit 1 +fi + +dir=`pwd` + +booke=$dir/$1 +builddir=$dir/build +graphicsdir=$dir/graphics/$1 +output=dottesA5.tex +outputxdv=${output/%.tex/.xdv} +outputpdf=${output/%.tex/.pdf} +outputa4=dottesA5onA4booklet.tex +outputa4pdf=dottesA5onA4booklet.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.a5header $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 "\newpage" >> $builddir/$output + echo -E "\begin{center}" >> $builddir/$output + echo -E "\phantomsection" >> $builddir/$output + echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.9\textheight,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 + +cp $outputa4 $builddir + +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 +xelatex $outputa4 + +mv $outputpdf $dir/$1-A5.pdf +mv $outputa4pdf $dir/${1}-A5bookletA4.pdf + +cd $dir