Mercurial > dottes
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 |
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 | 2 # |
3 # Build the Booke. First assemble the book LaTeX, then build it | |
4 # into a PDF. | |
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 | 9 |
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 | 12 exit 1 |
13 fi | |
14 | |
16 | 15 dir=`pwd` |
16 | |
17 booke=$dir/$1 | |
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 | 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 | 24 |
16 | 25 mkdir -p $builddir |
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 | 38 cp dottes.tex.header $builddir/$output |
13 | 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 | 42 find $booke -name "*.abc" | sort | |
43 while read filename | |
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 | 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 | 52 done |
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 | 64 cat dottes.tex.footer >> $builddir/$output |
13 | 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 | 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 |