Mercurial > dottes
annotate makeBooke.sh @ 748:ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Sort alternate .abc in subdir 'Compact' under the booke dir. Use that as
the graphic for A5 output, assuming it will be vertically more compact.
Use Bear Dance as an example, as it has commentary that currently
overflows an A5 landscape page.
For the moment, transposed Bookes don't transpose and so don't use Compact.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 13 Oct 2017 15:44:15 +0100 |
parents | b45a87f4ccdb |
children | f5f6517a8bdf |
rev | line source |
---|---|
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
1 #!/bin/bash |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
2 # |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
3 # Build the Booke. Move subfiles into place and build the Booke into a PDF. |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
4 # |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
5 # The Booke tune content and all EPS and PDF tune graphics must be |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
6 # present already. Run makeGraphics.sh first and then |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
7 # makeBookeTunePages.sh. |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
8 # |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
9 |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
10 if [ $# -lt 2 ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
11 echo "Usage: makeBooke.sh <A4|A5> <book dir name> [<book dir name>...]" |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
12 exit 1 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
13 fi |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
14 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
15 dir=`pwd` |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
16 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
17 builddir=$dir/build |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
18 booketex=$builddir/dottes.tex |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
19 bookepdf=$builddir/dottes.pdf |
748
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
20 usecompact="" |
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
21 |
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
22 if [ "$1" = "--use-compact" ]; then |
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
23 usecompact="yes" |
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
24 shift |
ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Jim Hague <jim.hague@acm.org>
parents:
677
diff
changeset
|
25 fi |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
26 |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
27 papersize=$1 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
28 shift |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
29 |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
30 mkdir -p $builddir |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
31 |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
32 if [ $# -eq 1 ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
33 bookename=$1 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
34 for item in title subtitle instrument |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
35 do |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
36 rm -f $builddir/$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
37 if [ -r $1/$item.txt ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
38 cp $dir/$1/$item.txt $builddir/$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
39 else |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
40 touch $builddir/$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
41 fi |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
42 done |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
43 else |
606
d5357ee6b4b2
Rework makeAll.sh to make multiple Bookes and a Bumper Booke too.
Jim Hague <jim.hague@acm.org>
parents:
603
diff
changeset
|
44 bookename="Bumper" |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
45 echo "The Bumper Booke" > $builddir/title.txt |
606
d5357ee6b4b2
Rework makeAll.sh to make multiple Bookes and a Bumper Booke too.
Jim Hague <jim.hague@acm.org>
parents:
603
diff
changeset
|
46 echo "The collected Bookes of Dottes" > $builddir/subtitle.txt |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
47 rm -f $builddir/instrument.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
48 if [ -r $1/instrument.txt ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
49 cp $1/instrument.txt $builddir/instrument.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
50 else |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
51 touch $builddir/instrument.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
52 fi |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
53 fi |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
54 |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
55 cp dottes.tex $builddir |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
56 cp buildno.txt $builddir |
304
9c5cabaabbec
Replace buzzard EPS with cropped PDF.
Jim Hague <jim.hague@acm.org>
parents:
266
diff
changeset
|
57 cp buzzard.pdf $builddir |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
58 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
59 rm -f $builddir/tunes.tex |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
60 rm -f $builddir/firstlines.tex |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
61 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
62 while [ $# -gt 0 ] |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
63 do |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
64 section=$dir/$1 |
675
7ad6c0aa958d
Strip any '-<instrument>' from section name for booke text.
Jim Hague <jim.hague@acm.org>
parents:
606
diff
changeset
|
65 # Section name - strip any instrument name off the end. |
7ad6c0aa958d
Strip any '-<instrument>' from section name for booke text.
Jim Hague <jim.hague@acm.org>
parents:
606
diff
changeset
|
66 sectionname=${1/-*/} |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
67 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
68 for item in title subtitle instrument |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
69 do |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
70 rm -f $builddir/$1-$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
71 if [ -r $section/$item.txt ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
72 cp $section/$item.txt $builddir/$1-$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
73 else |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
74 touch $builddir/$1-$item.txt |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
75 fi |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
76 done |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
77 for item in intro |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
78 do |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
79 rm -f $builddir/$1-$item.tex |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
80 if [ -r $section/$item.md ]; then |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
81 pandoc --from=markdown --to=latex --output=$builddir/$1-$item.tex $section/$item.md |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
82 else |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
83 touch $builddir/$1-$item.tex |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
84 fi |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
85 done |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
86 |
677
b45a87f4ccdb
Make sure section names strip any '-<instrument>' filename decoration.
Jim Hague <jim.hague@acm.org>
parents:
675
diff
changeset
|
87 sed -e "s/@SECTION@/$1/" -e "s/@SECTIONNAME@/$sectionname/" dottes.tex.section-tunes >> $builddir/tunes.tex |
b45a87f4ccdb
Make sure section names strip any '-<instrument>' filename decoration.
Jim Hague <jim.hague@acm.org>
parents:
675
diff
changeset
|
88 sed -e "s/@SECTION@/$1/" -e "s/@SECTIONNAME@/$sectionname/" dottes.tex.section-firstlines >> $builddir/firstlines.tex |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
89 |
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
90 shift |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
91 done |
601
507d853433ef
Create a section title page in the print version.
Jim Hague <jim.hague@acm.org>
parents:
582
diff
changeset
|
92 |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
93 for filename in $dir/*.${papersize}.tex |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
94 do |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
95 name=`basename $filename .${papersize}.tex` |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
96 cp $filename $builddir/$name.tex |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
97 done |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
98 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
99 cd $builddir |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
100 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
101 xelatex $booketex |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
102 xelatex $booketex |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
103 xelatex $booketex |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
104 |
603
ef0d66742e01
Revise build to allow multi-section books.
Jim Hague <jim.hague@acm.org>
parents:
602
diff
changeset
|
105 mv $bookepdf $dir/$bookename-${papersize}.pdf |
266
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
106 |
06e140f48543
Revise scripts for building printed Bookes.
Jim Hague <jim.hague@acm.org>
parents:
diff
changeset
|
107 cd $dir |