view makeBookeTunePages.sh @ 282:ced1d1ba42f6

Various revisions of printed book presentation. 1. Purple background on the front and and new blank back pages. 2. UK English for hyphenation and date presentation. 3. Dedication and 'About Havoc' section. 4. Footer just page number in centre of page. 5. Revised copyright discussion. 6. Since it's a book, make content, intro and first lines to chapters. And prompt individual tunes to sections. 7. Omit 'Tunes' chapter heading. It doesn't look good in A5.
author Jim Hague <jim.hague@acm.org>
date Fri, 05 Jul 2013 18:56:34 +0100
parents 06e140f48543
children c3b300378738
line wrap: on
line source

#!/bin/bash
#
# Generate the LaTeX for the Booke tune pages (tunes.tex) and the index
# of first lines (firstlines.tex). These are generated into the build
# directory.
#
# All EPS and PDF tune graphics must be present already. Run
# makeGraphics.sh to make these.
#

# Restore titles like 'Exploding Potato, The' to the
# expected 'The Exploding Potato'.
fixtitle()
{
    retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
}

if [ $# != 1 ]; then
    echo "Usage: makeBookeTunePages.sh <book dir name>"
    exit 1
fi

dir=`pwd`

booke=$dir/$1
builddir=$dir/build
graphicsdir=$dir/graphics/$1
tunesoutput=$builddir/tunes.tex
indexoutput=$builddir/firstlines.tex

mkdir -p $builddir

rm -f $tunesoutput $indexoutput

# 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
        name=`basename $filename .abc`
        title=`$dir/abcfield.py --field T --latex $filename`
        fixtitle "$title"
        title=$retval

        echo -E "\vfill \begin{center}" >> $tunesoutput
        echo -E "\phantomsection" >> $tunesoutput
        echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $tunesoutput
        echo -E "\addcontentsline{toc}{section}{$title}" >> $tunesoutput
        echo -E "\end{center}" >> $tunesoutput

        changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
        changetitle=""
        if [ -n "$changefile" ]; then
            changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
            fixtitle "$changetitle"
            changetitle=$retval
            changename=`basename $changefile .abc`
            echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $tunesoutput
        fi

        echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $indexoutput
    done