annotate makeBooke.sh @ 116:19ba410d891f

Ensure tune graphic is confined to a single page. Set a maximum height for the graphic of 0.9 text area as well as the current target width of the text width. And also keep the aspect ratio. So if the height is small enough, you get full width. Otherwise the graphic is shrunk enough to keep it all on one page. Perhaps one can then go back and edit the tune to fit it into fewer lines.
author Jim Hague <jim.hague@acm.org>
date Fri, 16 Mar 2012 10:40:09 +0000
parents c4efe8b5eea1
children 8f3b50ede59c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
1 #!/bin/bash
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
2 #
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
3 # Build the Booke. First assemble the book LaTeX, then build it
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
4 # into a PDF.
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
5 #
42
0e7d2830cb8b Put making tune graphics required by web and book into separate dir and make separately.
Jim Hague <jim.hague@laicatc.com>
parents: 40
diff changeset
6 # All EPS and PDF tune graphics must be present already. Run
0e7d2830cb8b Put making tune graphics required by web and book into separate dir and make separately.
Jim Hague <jim.hague@laicatc.com>
parents: 40
diff changeset
7 # makeGraphics.sh to make these.
0e7d2830cb8b Put making tune graphics required by web and book into separate dir and make separately.
Jim Hague <jim.hague@laicatc.com>
parents: 40
diff changeset
8 #
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
9
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
10 if [ $# != 1 ]; then
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
11 echo "Usage: makeBooke.sh <book dir name>"
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
12 exit 1
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
13 fi
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
14
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
15 dir=`pwd`
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
17 booke=$dir/$1
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
18 builddir=$dir/build
42
0e7d2830cb8b Put making tune graphics required by web and book into separate dir and make separately.
Jim Hague <jim.hague@laicatc.com>
parents: 40
diff changeset
19 graphicsdir=$dir/graphics/$1
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
20 output=dottes.tex
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
21 outputpdf=dottes.pdf
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
22 outputa4=dottesona4.tex
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
23 outputa4pdf=dottesona4.pdf
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
24
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
25 mkdir -p $builddir
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
26
40
93955def7313 Revise page footers, and add build number.
Jim Hague <jim.hague@laicatc.com>
parents: 39
diff changeset
27 cp buildno.txt $builddir
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
28 if [ -r $booke/subtitle.txt ]; then
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
29 cp $booke/subtitle.txt $builddir
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
30 else
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
31 touch $builddir/subtitle.txt
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
32 fi
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
33 if [ -r $booke/intro.txt ]; then
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
34 cp $booke/intro.txt $builddir
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
35 else
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
36 touch $builddir/intro.txt
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
37 fi
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
38 cp dottes.tex.header $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
39
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
40 # Now, for each tune, make the tune graphic and add it, inside a
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
41 # centre section, so the document. Then add a TOC entry.
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
42 find $booke -name "*.abc" | sort |
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
43 while read filename
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
44 do
110
a63e39fc3410 Add basic diacritic handling for LaTeX and web.
Jim Hague <jim.hague@acm.org>
parents: 108
diff changeset
45 title=`$dir/abctitle.py --latex $filename`
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
46 name=`basename $filename .abc`
37
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
47 echo -E "\begin{center}" >> $builddir/$output
115
c4efe8b5eea1 Add internal hyperlinks to the book.
Jim Hague <jim.hague@acm.org>
parents: 110
diff changeset
48 echo -E "\phantomsection" >> $builddir/$output
116
19ba410d891f Ensure tune graphic is confined to a single page.
Jim Hague <jim.hague@acm.org>
parents: 115
diff changeset
49 echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.9\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
37
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
50 echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
51 echo -E "\end{center}" >> $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
52 done
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
53
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
54 cat dottes.tex.firstlines >> $builddir/$output
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
55
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
56 find $booke -name "*.abc" | sort |
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
57 while read filename
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
58 do
110
a63e39fc3410 Add basic diacritic handling for LaTeX and web.
Jim Hague <jim.hague@acm.org>
parents: 108
diff changeset
59 title=`$dir/abctitle.py --latex $filename`
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
60 name=`basename $filename .abc`
115
c4efe8b5eea1 Add internal hyperlinks to the book.
Jim Hague <jim.hague@acm.org>
parents: 110
diff changeset
61 echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
62 done
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
63
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
64 cat dottes.tex.footer >> $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
65
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
66 cp $outputa4 $builddir
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
67
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
68 cd $builddir
34
80af9457d566 Remove use of abc pacakge and do the graphics outselves.
Jim Hague <jim.hague@acm.org>
parents: 32
diff changeset
69 pdflatex $output
80af9457d566 Remove use of abc pacakge and do the graphics outselves.
Jim Hague <jim.hague@acm.org>
parents: 32
diff changeset
70 pdflatex $output
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
71 pdflatex $outputa4
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
72
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
73 mv $outputpdf $dir/$1.pdf
65
6ced110a62aa Fix renaming of the A4 booklet.
Jim Hague <jim.hague@acm.org>
parents: 50
diff changeset
74 mv $outputa4pdf $dir/${1}-booklet.pdf
21
b61b090cd4c7 Produce an A4 PDF document with the A5 pages in booklet form.
Jim Hague <jim.hague@acm.org>
parents: 16
diff changeset
75
b61b090cd4c7 Produce an A4 PDF document with the A5 pages in booklet form.
Jim Hague <jim.hague@acm.org>
parents: 16
diff changeset
76 cd $dir