annotate makeBooke.sh @ 110:a63e39fc3410

Add basic diacritic handling for LaTeX and web. It would be nice if everyone used UTF-8, but it doesn't look like that works at present.
author Jim Hague <jim.hague@acm.org>
date Thu, 15 Mar 2012 14:32:53 +0000
parents 6ac6c797586d
children c4efe8b5eea1
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
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
48 echo -E "\includegraphics[width=\textwidth]{$graphicsdir/$name}" >> $builddir/$output
37
72b5d67756e1 Fix up troubles with \. echo -E disables expansion.
Jim Hague <jim.hague@laicatc.com>
parents: 34
diff changeset
49 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
50 echo -E "\end{center}" >> $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
51 done
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
52
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
53 cat dottes.tex.firstlines >> $builddir/$output
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
54
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
55 find $booke -name "*.abc" | sort |
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
56 while read filename
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
57 do
110
a63e39fc3410 Add basic diacritic handling for LaTeX and web.
Jim Hague <jim.hague@acm.org>
parents: 108
diff changeset
58 title=`$dir/abctitle.py --latex $filename`
50
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
59 name=`basename $filename .abc`
108
6ac6c797586d First line width again - make it a fraction of the text width.
Jim Hague <jim.hague@laicatc.com>
parents: 107
diff changeset
60 echo -E "$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
61 done
e666306c5ab1 Add list of tune first lines.
Jim Hague <jim.hague@laicatc.com>
parents: 42
diff changeset
62
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
63 cat dottes.tex.footer >> $builddir/$output
13
232a778181e3 First go at LaTeX booklet.
Jim Hague <jim.hague@laicatc.com>
parents: 0
diff changeset
64
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
65 cp $outputa4 $builddir
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
66
16
780f49972b68 Update book making command.
Jim Hague <jim.hague@acm.org>
parents: 13
diff changeset
67 cd $builddir
34
80af9457d566 Remove use of abc pacakge and do the graphics outselves.
Jim Hague <jim.hague@acm.org>
parents: 32
diff changeset
68 pdflatex $output
80af9457d566 Remove use of abc pacakge and do the graphics outselves.
Jim Hague <jim.hague@acm.org>
parents: 32
diff changeset
69 pdflatex $output
38
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
70 pdflatex $outputa4
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
71
01c4d873153f Quick attempt to parameterise different book builds.
Jim Hague <jim.hague@laicatc.com>
parents: 37
diff changeset
72 mv $outputpdf $dir/$1.pdf
65
6ced110a62aa Fix renaming of the A4 booklet.
Jim Hague <jim.hague@acm.org>
parents: 50
diff changeset
73 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
74
b61b090cd4c7 Produce an A4 PDF document with the A5 pages in booklet form.
Jim Hague <jim.hague@acm.org>
parents: 16
diff changeset
75 cd $dir