Mercurial > dottes
view makeBookeTunePages.sh @ 312:8bc92e044e0a
Move tune and first line inclusion code into macros.
Also use tune title, not name, as hyperlink targets. This removes the need to pass
the name into the macros.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 12 Jul 2013 11:36:14 +0100 |
parents | c3b300378738 |
children | cbe9c10b5a3e |
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 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 fi echo -E "\showtune[$changetitle]{$title}{$graphicsdir/$name}" >> $tunesoutput echo -E "\showfirstline{$title}{$graphicsdir/firstline-$name}" >> $indexoutput done