annotate makeBookeA5.sh @ 248:440172d9f5d6

Redo the printed Booke title page. Put a big title in English Towne, the official Havoc font. Add a title for each volume, and also print the subtitle on the cover. Add the buzzard, too. On A5, we now need to split the title page across two physical pages. This looks OK to me.
author Jim Hague <jim.hague@acm.org>
date Fri, 14 Jun 2013 23:19:25 +0100
parents 1e4443d58177
children 4fb2e5728879
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
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
10 # Restore titles like 'Exploding Potato, The' to the
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
11 # expected 'The Exploding Potato'.
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
12 fixtitle()
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
13 {
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
14 retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
15 }
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
16
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
17 if [ $# != 1 ]; then
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
18 echo "Usage: makeBookeA5.sh <book dir name>"
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
19 exit 1
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
20 fi
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
21
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
22 dir=`pwd`
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
23
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
24 booke=$dir/$1
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
25 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
26 graphicsdir=$dir/graphics/$1
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
27 output=dottesA5.tex
119
15ce1ecb5ba3 Fix page size issue on xetex on Squeeze.
Jim Hague <jim.hague@acm.org>
parents: 118
diff changeset
28 outputxdv=${output/%.tex/.xdv}
15ce1ecb5ba3 Fix page size issue on xetex on Squeeze.
Jim Hague <jim.hague@acm.org>
parents: 118
diff changeset
29 outputpdf=${output/%.tex/.pdf}
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
30 outputa4=dottesA5onA4booklet.tex
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
31 outputa4pdf=dottesA5onA4booklet.pdf
0
215b3a1aa761 Beginnings.
Jim Hague <jim.hague@laicatc.com>
parents:
diff changeset
32
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
33 mkdir -p $builddir
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
34
40
93955def7313 Revise page footers, and add build number.
Jim Hague <jim.hague@laicatc.com>
parents: 39
diff changeset
35 cp buildno.txt $builddir
248
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
36 cp buzzard.eps $builddir
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
37 if [ -r $booke/title.txt ]; then
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
38 cp $booke/title.txt $builddir
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
39 else
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
40 touch $builddir/title.txt
440172d9f5d6 Redo the printed Booke title page.
Jim Hague <jim.hague@acm.org>
parents: 229
diff changeset
41 fi
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
42 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
43 cp $booke/subtitle.txt $builddir
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
44 else
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
45 touch $builddir/subtitle.txt
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
46 fi
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
47 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
48 cp $booke/intro.txt $builddir
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
49 else
39
9681f6cd9c2b Change subtitle and intro files to .txt extension.
Jim Hague <jim.hague@laicatc.com>
parents: 38
diff changeset
50 touch $builddir/intro.txt
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
51 fi
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
52 cp dottes.tex.a5header $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
53
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
54 # 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
55 # 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
56 find $booke -name "*.abc" | sort |
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
57 while read filename
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
58 do
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
59 name=`basename $filename .abc`
122
295ba8275ab4 Make output larger where possible.
Jim Hague <jim.hague@laicatc.com>
parents: 120
diff changeset
60 title=`$dir/abcfield.py --field T --latex $filename`
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
61 fixtitle "$title"
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
62 title=$retval
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
63
122
295ba8275ab4 Make output larger where possible.
Jim Hague <jim.hague@laicatc.com>
parents: 120
diff changeset
64 echo -E "\newpage" >> $builddir/$output
37
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
65 echo -E "\begin{center}" >> $builddir/$output
115
c4efe8b5eea1 Add internal hyperlinks to the book.
Jim Hague <jim.hague@acm.org>
parents: 110
diff changeset
66 echo -E "\phantomsection" >> $builddir/$output
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
67 echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.85\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
68 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
69 echo -E "\end{center}" >> $builddir/$output
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
70
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
71 changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
72 changetitle=""
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
73 if [ -n "$changefile" ]; then
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
74 changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
75 fixtitle "$changetitle"
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
76 changetitle=$retval
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
77 changename=`basename $changefile .abc`
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
78 echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $builddir/$output
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
79 fi
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
80 done
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
81
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
82 cat dottes.tex.firstlines >> $builddir/$output
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
83
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
84 find $booke -name "*.abc" | sort |
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
85 while read filename
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
86 do
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
87 name=`basename $filename .abc`
122
295ba8275ab4 Make output larger where possible.
Jim Hague <jim.hague@laicatc.com>
parents: 120
diff changeset
88 title=`$dir/abcfield.py --field T --latex $filename`
229
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
89 fixtitle "$title"
1e4443d58177 Modify Change tune handling.
Jim Hague <jim.hague@acm.org>
parents: 181
diff changeset
90 title=$retval
115
c4efe8b5eea1 Add internal hyperlinks to the book.
Jim Hague <jim.hague@acm.org>
parents: 110
diff changeset
91 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
92 done
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
93
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
94 cat dottes.tex.footer >> $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
95
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
96 cp $outputa4 $builddir
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
97
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
98 cd $builddir
119
15ce1ecb5ba3 Fix page size issue on xetex on Squeeze.
Jim Hague <jim.hague@acm.org>
parents: 118
diff changeset
99
15ce1ecb5ba3 Fix page size issue on xetex on Squeeze.
Jim Hague <jim.hague@acm.org>
parents: 118
diff changeset
100 # The version of xetex on Squeeze doesn't do pass the A5 landscape instruction
15ce1ecb5ba3 Fix page size issue on xetex on Squeeze.
Jim Hague <jim.hague@acm.org>
parents: 118
diff changeset
101 # down to the PDF generator. So split out and do manually.
120
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
102 #
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
103 # And, sigh, this fails on Sid. The first page comes out as A4 portrait.
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
104 # So try to work out which we are using and run the appropriate command.
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
105 ver=`xetex -version | head -n 1`
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
106 ver=${ver/*TeX Live /}
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
107 ver=${ver/\/*/}
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
108 if [ "$ver" == "2009" ]; then
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
109 xelatex -no-pdf $output
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
110 xelatex -no-pdf $output
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
111 xdvipdfmx -p a5 -l $outputxdv
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
112 else
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
113 xelatex $output
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
114 xelatex $output
4b0025be9d22 Try to cope with Squeeze and Sid xetex problems.
Jim Hague <jim.hague@acm.org>
parents: 119
diff changeset
115 fi
118
8f3b50ede59c Switch to XeTeX to render. Opens up random OpenType fonts and UTF-8.
Jim Hague <jim.hague@acm.org>
parents: 116
diff changeset
116 xelatex $outputa4
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
117
181
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
118 mv $outputpdf $dir/$1-A5.pdf
6a0bdabfb255 Add a A4 portrait book with multiple tunes per page.
Jim Hague <jim.hague@acm.org>
parents: 122
diff changeset
119 mv $outputa4pdf $dir/${1}-A5bookletA4.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
120
b61b090cd4c7 Produce an A4 PDF document with the A5 pages in booklet form.
Jim Hague <jim.hague@acm.org>
parents: 16
diff changeset
121 cd $dir