forked from CryHavoc/dottes
Revise scripts for building printed Bookes.
A lot of stuff was being duplicated between different page size. Consolidate where possible, and in particular put as much into a single source file (dottes.tex) as possible. Making a single Booke is now potentially quicker, as the tune pages don't necessarily have to be regenerate every time.
This commit is contained in:
parent
6c216a49d3
commit
ade3337704
|
@ -0,0 +1 @@
|
|||
\documentclass[a4paper,11pt]{article}
|
|
@ -0,0 +1 @@
|
|||
\documentclass[a5paper,landscape,11pt]{article}
|
|
@ -0,0 +1,32 @@
|
|||
% ----- Page setup
|
||||
|
||||
% Adjust margins for A4 portrait. Increase width by 4cm and height by 4cm.
|
||||
\addtolength{\textwidth}{4cm}
|
||||
\addtolength{\hoffset}{-2cm}
|
||||
|
||||
\addtolength{\textheight}{4cm}
|
||||
\addtolength{\voffset}{-2cm}
|
||||
|
||||
% Move the top margin up a further cm.
|
||||
\addtolength{\textheight}{1cm}
|
||||
\addtolength{\voffset}{-1cm}
|
||||
|
||||
% -----
|
||||
|
||||
% Title page
|
||||
\newfontfamily\havocfont[Scale=3.5]{English Towne}
|
||||
|
||||
\newcommand*{\titleBoD}{\begingroup
|
||||
\centering
|
||||
{\Large \havocfont{Ye}}\\[\baselineskip]
|
||||
{\Huge \havocfont{Crie Havock}}\\[\baselineskip]
|
||||
{\Large \havocfont{Booke of}}\\[\baselineskip]
|
||||
{\Huge \havocfont{\instrument Dottes}}\\[\baselineskip]
|
||||
\vfill
|
||||
{\Huge \input{title.txt}}\\[\baselineskip]
|
||||
{\Large \input{subtitle.txt}}\\[\baselineskip]
|
||||
\vfill
|
||||
\includegraphics[width=0.5\textwidth,keepaspectratio]{buzzard}
|
||||
\vfill
|
||||
{Compiled by Jim Hague}\\
|
||||
\endgroup}
|
|
@ -0,0 +1,32 @@
|
|||
% ----- Page setup
|
||||
|
||||
% Adjust margins for A5 landscape. Increase width by 4cm and height by 4cm.
|
||||
\addtolength{\textwidth}{4cm}
|
||||
\addtolength{\hoffset}{-2cm}
|
||||
|
||||
\addtolength{\textheight}{4cm}
|
||||
\addtolength{\voffset}{-2cm}
|
||||
|
||||
% Move the top margin up a further cm.
|
||||
\addtolength{\textheight}{1cm}
|
||||
\addtolength{\voffset}{-1cm}
|
||||
|
||||
% -----
|
||||
|
||||
% Title page
|
||||
\newfontfamily\havocfont[Scale=2.1]{English Towne}
|
||||
|
||||
\newcommand*{\titleBoD}{\begingroup
|
||||
\centering
|
||||
{\Large \havocfont{Ye}}\\[\baselineskip]
|
||||
{\Huge \havocfont{Crie Havock}}\\[\baselineskip]
|
||||
{\Large \havocfont{Booke of}}\\[\baselineskip]
|
||||
{\Huge \havocfont{\instrument Dottes}}\\[\baselineskip]
|
||||
\vfill
|
||||
{\huge \input{title.txt}}\\%[\baselineskip]
|
||||
{\large \input{subtitle.txt}}\\[\baselineskip]
|
||||
\vfill
|
||||
\includegraphics[width=0.12\textwidth,keepaspectratio]{buzzard}
|
||||
\vfill
|
||||
{Compiled by Jim Hague}\\
|
||||
\endgroup}
|
|
@ -0,0 +1,104 @@
|
|||
\input{docclass.tex}
|
||||
|
||||
\usepackage{fontspec}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{longtable}
|
||||
\usepackage[toc]{multitoc}
|
||||
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
bookmarks=true,%
|
||||
colorlinks=true,%
|
||||
citecolor=black,%
|
||||
filecolor=black,%
|
||||
linkcolor=black,%
|
||||
urlcolor=black
|
||||
}
|
||||
|
||||
% ----- Common variables
|
||||
|
||||
\def \build {\input{buildno.txt}}
|
||||
\def \instrument {\input{instrument.txt}}
|
||||
|
||||
% ----- Paper size document setup
|
||||
|
||||
\input{docsetup.tex}
|
||||
|
||||
% ----- Appearance
|
||||
|
||||
\setmainfont{Times New Roman}
|
||||
|
||||
% Don't show section numbers.
|
||||
\setcounter{secnumdepth}{-1}
|
||||
|
||||
% -----
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ----- Title page
|
||||
|
||||
\begin{titlepage}
|
||||
\titleBoD
|
||||
\end{titlepage}
|
||||
|
||||
% ----- Headers and footers
|
||||
|
||||
\pagestyle{fancyplain}
|
||||
\fancyhf{}
|
||||
\lfoot{Issue \build}
|
||||
\rfoot{\thepage}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
% ----- Contents
|
||||
|
||||
\tableofcontents
|
||||
|
||||
% -----
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\input{intro.txt}
|
||||
|
||||
All tunes in this book are believed to be in the public domain, or at the
|
||||
very least enjoy widespread currency on the folk music scene. If I have
|
||||
inadvertantly transgressed on anyone's copyright, please contact me at
|
||||
\href{mailto:dottes@cryhavoc.org.uk}{\texttt{dottes@cryhavoc.org.uk}} and I will
|
||||
remove the offending tune.
|
||||
|
||||
Being folk tunes, many of the tunes herein have many variations.
|
||||
The music presented here is my attempt at reflecting what the musicians
|
||||
of Cry Havoc play. I'm in no way suggesting that they are
|
||||
in any way \emph{correct}. This is just how we go about them.
|
||||
|
||||
The Booke of Dottes is a constant work in progress. You can download the latest
|
||||
version from \url{http://dottes.cryhavoc.org.uk/}.
|
||||
|
||||
% -----
|
||||
|
||||
\section{Tunes}
|
||||
|
||||
Tunes are arranged in alphabetical order of tune title.
|
||||
|
||||
\newpage
|
||||
|
||||
\input{tunes.tex}
|
||||
|
||||
% -----
|
||||
|
||||
\newpage
|
||||
\section{List of tune first lines}
|
||||
|
||||
You know the feeling. Everyone has just launched into a well-loved tune.
|
||||
You've heard it before, but don't remember the name. So here's a list of
|
||||
tune first lines to help you figure out what it is in time to join in.
|
||||
|
||||
\setlength\LTleft{0pt}
|
||||
\setlength\LTright{0pt}
|
||||
\begin{longtable}{lr}
|
||||
\input{firstlines.tex}
|
||||
\end{longtable}
|
||||
|
||||
% -----
|
||||
|
||||
\end{document}
|
|
@ -1,86 +0,0 @@
|
|||
\documentclass[a4paper,11pt]{article}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{longtable}
|
||||
\usepackage[toc]{multitoc}
|
||||
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
bookmarks=true,%
|
||||
colorlinks=true,%
|
||||
citecolor=black,%
|
||||
filecolor=black,%
|
||||
linkcolor=black,%
|
||||
urlcolor=black
|
||||
}
|
||||
|
||||
% ----- Common variables
|
||||
|
||||
\def \build {\input{buildno.txt}}
|
||||
\def \instrument {\input{instrument.txt}}
|
||||
|
||||
% ----- Appearance
|
||||
|
||||
%\setmainfont{Century Schoolbook L}
|
||||
\setmainfont{Times New Roman}
|
||||
|
||||
% ----- Page setup
|
||||
|
||||
% Adjust margins for A4 portrait. Increase width by 4cm and height by 4cm.
|
||||
\addtolength{\textwidth}{4cm}
|
||||
\addtolength{\hoffset}{-2cm}
|
||||
|
||||
\addtolength{\textheight}{4cm}
|
||||
\addtolength{\voffset}{-2cm}
|
||||
|
||||
% Move the top margin up a further cm.
|
||||
\addtolength{\textheight}{1cm}
|
||||
\addtolength{\voffset}{-1cm}
|
||||
|
||||
% -----
|
||||
|
||||
% Don't show section numbers.
|
||||
\setcounter{secnumdepth}{-1}
|
||||
|
||||
% -----
|
||||
|
||||
% Title page
|
||||
\newfontfamily\havocfont[Scale=3.5]{English Towne}
|
||||
|
||||
\newcommand*{\titleDB}{\begingroup
|
||||
\centering
|
||||
{\Large \havocfont{Ye}}\\[\baselineskip]
|
||||
{\Huge \havocfont{Crie Havock}}\\[\baselineskip]
|
||||
{\Large \havocfont{Booke of}}\\[\baselineskip]
|
||||
{\Huge \havocfont{\instrument Dottes}}\\[\baselineskip]
|
||||
\vfill
|
||||
{\Huge \input{title.txt}}\\[\baselineskip]
|
||||
{\Large \input{subtitle.txt}}\\[\baselineskip]
|
||||
\vfill
|
||||
\includegraphics[width=0.5\textwidth,keepaspectratio]{buzzard}
|
||||
\vfill
|
||||
{Compiled by Jim Hague}\\
|
||||
\endgroup}
|
||||
|
||||
% -----
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ----- Title page
|
||||
|
||||
\begin{titlepage}
|
||||
\titleDB
|
||||
\end{titlepage}
|
||||
|
||||
% ----- Headers and footers
|
||||
|
||||
\pagestyle{fancyplain}
|
||||
\fancyhf{}
|
||||
\lfoot{Issue \build}
|
||||
\rfoot{\thepage}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
% ----- Contents
|
||||
|
||||
\tableofcontents
|
|
@ -1,89 +0,0 @@
|
|||
\documentclass[a5paper,landscape,11pt]{article}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{longtable}
|
||||
\usepackage[toc]{multitoc}
|
||||
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
bookmarks=true,%
|
||||
colorlinks=true,%
|
||||
citecolor=black,%
|
||||
filecolor=black,%
|
||||
linkcolor=black,%
|
||||
urlcolor=black
|
||||
}
|
||||
|
||||
% ----- Common variables
|
||||
|
||||
\def \build {\input{buildno.txt}}
|
||||
\def \instrument {\input{instrument.txt}}
|
||||
|
||||
% ----- Appearance
|
||||
|
||||
%\setmainfont{Century Schoolbook L}
|
||||
\setmainfont{Times New Roman}
|
||||
|
||||
% ----- Page setup
|
||||
|
||||
% Adjust margins for A5 landscape. Increase width by 4cm and height by 4cm.
|
||||
\addtolength{\textwidth}{4cm}
|
||||
\addtolength{\hoffset}{-2cm}
|
||||
|
||||
\addtolength{\textheight}{4cm}
|
||||
\addtolength{\voffset}{-2cm}
|
||||
|
||||
% Move the top margin up a further cm.
|
||||
\addtolength{\textheight}{1cm}
|
||||
\addtolength{\voffset}{-1cm}
|
||||
|
||||
% -----
|
||||
|
||||
% Don't show section numbers.
|
||||
\setcounter{secnumdepth}{-1}
|
||||
|
||||
% -----
|
||||
|
||||
% Title page
|
||||
\newfontfamily\havocfont[Scale=2.1]{English Towne}
|
||||
|
||||
\newcommand*{\titleDB}{\begingroup
|
||||
\centering
|
||||
{\Large \havocfont{Ye}}\\[\baselineskip]
|
||||
{\Huge \havocfont{Crie Havock}}\\[\baselineskip]
|
||||
{\Large \havocfont{Booke of}}\\[\baselineskip]
|
||||
{\Huge \havocfont{\instrument Dottes}}\\[\baselineskip]
|
||||
\vfill
|
||||
{\huge \input{title.txt}}\\%[\baselineskip]
|
||||
{\large \input{subtitle.txt}}\\[\baselineskip]
|
||||
\vfill
|
||||
\includegraphics[width=0.12\textwidth,keepaspectratio]{buzzard}
|
||||
\vfill
|
||||
{Compiled by Jim Hague}\\
|
||||
\endgroup}
|
||||
|
||||
% -----
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ----- Title page
|
||||
|
||||
\begin{titlepage}
|
||||
\pagestyle{empty}
|
||||
\titleDB
|
||||
\end{titlepage}
|
||||
|
||||
% ----- Headers and footers
|
||||
|
||||
\pagestyle{fancyplain}
|
||||
\fancyhf{}
|
||||
\lfoot{Issue \build}
|
||||
\rfoot{\thepage}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
|
||||
% ----- Contents
|
||||
|
||||
\tableofcontents
|
||||
|
||||
\newpage
|
|
@ -1,12 +0,0 @@
|
|||
% -----
|
||||
|
||||
\newpage
|
||||
\section{List of tune first lines}
|
||||
|
||||
You know the feeling. Everyone has just launched into a well-loved tune.
|
||||
You've heard it before, but don't remember the name. So here's a list of
|
||||
tune first lines to help you figure out what it is in time to join in.
|
||||
|
||||
\setlength\LTleft{0pt}
|
||||
\setlength\LTright{0pt}
|
||||
\begin{longtable}{lr}
|
|
@ -1,5 +0,0 @@
|
|||
\end{longtable}
|
||||
|
||||
% -----
|
||||
|
||||
\end{document}
|
|
@ -1,27 +0,0 @@
|
|||
% -----
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\input{intro.txt}
|
||||
|
||||
All tunes in this book are believed to be in the public domain, or at the
|
||||
very least enjoy widespread currency on the folk music scene. If I have
|
||||
inadvertantly transgressed on anyone's copyright, please contact me at
|
||||
\href{mailto:dottes@cryhavoc.org.uk}{\texttt{dottes@cryhavoc.org.uk}} and I will
|
||||
remove the offending tune.
|
||||
|
||||
Being folk tunes, many of the tunes herein have many variations.
|
||||
The music presented here is my attempt at reflecting what the musicians
|
||||
of Cry Havoc play. I'm in no way suggesting that they are
|
||||
in any way \emph{correct}. This is just how we go about them.
|
||||
|
||||
The Booke of Dottes is a constant work in progress. You can download the latest
|
||||
version from \url{http://dottes.cryhavoc.org.uk/}.
|
||||
|
||||
% -----
|
||||
|
||||
\section{Tunes}
|
||||
|
||||
Tunes are arranged in alphabetical order of tune title.
|
||||
|
||||
\newpage
|
12
makeAll.sh
12
makeAll.sh
|
@ -10,8 +10,10 @@ fi
|
|||
makeABooke()
|
||||
{
|
||||
./makeGraphics.sh "$1"
|
||||
./makeBookeA5.sh "$1"
|
||||
./makeBookeA4.sh "$1"
|
||||
./makeBookeTunePages.sh "$1"
|
||||
./makeBooke.sh "$1" A4
|
||||
./makeBooke.sh "$1" A5
|
||||
./makeBooklet.sh "$1"
|
||||
./makeWebGraphics.sh "$1"
|
||||
./makeWebAudio.sh "$1"
|
||||
./makeWeb.sh "$1" "$1" "$2"
|
||||
|
@ -20,8 +22,10 @@ makeABooke()
|
|||
makeATransposedBooke()
|
||||
{
|
||||
./makeGraphics.sh "$1"
|
||||
./makeBookeA5.sh "$1"
|
||||
./makeBookeA4.sh "$1"
|
||||
./makeBookeTunePages.sh "$1"
|
||||
./makeBooke.sh "$1" A4
|
||||
./makeBooke.sh "$1" A5
|
||||
./makeBooklet.sh "$1"
|
||||
./makeWebGraphics.sh "$1"
|
||||
./makeWeb.sh "$1" "$2" "$3"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Build the Booke. Move subfiles into place and build the Booke into a PDF.
|
||||
#
|
||||
# The Booke tune content and all EPS and PDF tune graphics must be
|
||||
# present already. Run makeGraphics.sh first and then
|
||||
# makeBookeTunePages.sh.
|
||||
#
|
||||
|
||||
if [ $# != 2 ]; then
|
||||
echo "Usage: makeBooke.sh <book dir name> <A4|A5>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
booke=$dir/$1
|
||||
papersize=$2
|
||||
builddir=$dir/build
|
||||
graphicsdir=$dir/graphics/$1
|
||||
booketex=$dir/dottes.tex
|
||||
bookepdf=$builddir/dottes.pdf
|
||||
|
||||
mkdir -p $builddir
|
||||
|
||||
cp dottes.tex $builddir
|
||||
cp buildno.txt $builddir
|
||||
cp buzzard.eps $builddir
|
||||
for item in title subtitle intro instrument
|
||||
do
|
||||
rm -f $builddir/$item.txt
|
||||
if [ -r $booke/$item.txt ]; then
|
||||
cp $booke/$item.txt $builddir
|
||||
else
|
||||
touch $builddir/$item.txt
|
||||
fi
|
||||
done
|
||||
|
||||
for filename in $dir/*.${papersize}.tex
|
||||
do
|
||||
name=`basename $filename .${papersize}.tex`
|
||||
cp $filename $builddir/$name.tex
|
||||
done
|
||||
|
||||
cd $builddir
|
||||
|
||||
xelatex $booketex
|
||||
xelatex $booketex
|
||||
xelatex $booketex
|
||||
|
||||
mv $bookepdf $dir/$1-${papersize}.pdf
|
||||
|
||||
cd $dir
|
108
makeBookeA4.sh
108
makeBookeA4.sh
|
@ -1,108 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Build the Booke. First assemble the book LaTeX, then build it
|
||||
# into a PDF.
|
||||
#
|
||||
# All EPS and PDF tune graphics must be present already. Run
|
||||
# makeGraphics.sh to make these.
|
||||
#
|
||||
|
||||
# Restore titles like 'Exploding Potato, The' to the
|
||||
# expected 'The Exploding Potato'.
|
||||
fixtitle()
|
||||
{
|
||||
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
|
||||
}
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: makeBookeA4.sh <book dir name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
booke=$dir/$1
|
||||
builddir=$dir/build
|
||||
graphicsdir=$dir/graphics/$1
|
||||
output=dottesA4.tex
|
||||
outputxdv=${output/%.tex/.xdv}
|
||||
outputpdf=${output/%.tex/.pdf}
|
||||
|
||||
mkdir -p $builddir
|
||||
|
||||
cp buildno.txt $builddir
|
||||
cp buzzard.eps $builddir
|
||||
if [ -r $booke/title.txt ]; then
|
||||
cp $booke/title.txt $builddir
|
||||
else
|
||||
touch $builddir/title.txt
|
||||
fi
|
||||
if [ -r $booke/subtitle.txt ]; then
|
||||
cp $booke/subtitle.txt $builddir
|
||||
else
|
||||
touch $builddir/subtitle.txt
|
||||
fi
|
||||
if [ -r $booke/intro.txt ]; then
|
||||
cp $booke/intro.txt $builddir
|
||||
else
|
||||
touch $builddir/intro.txt
|
||||
fi
|
||||
rm $builddir/instrument.txt
|
||||
if [ -r $booke/instrument.txt ]; then
|
||||
cp $booke/instrument.txt $builddir
|
||||
else
|
||||
touch $builddir/instrument.txt
|
||||
fi
|
||||
cp dottes.tex.a4header $builddir/$output
|
||||
cat dottes.tex.intro >> $builddir/$output
|
||||
|
||||
# Now, for each tune, make the tune graphic and add it, inside a
|
||||
# centre section, so the document. Then add a TOC entry.
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
title=`$dir/abcfield.py --field T --latex $filename`
|
||||
fixtitle "$title"
|
||||
title=$retval
|
||||
|
||||
echo -E "\vfill \begin{center}" >> $builddir/$output
|
||||
echo -E "\phantomsection" >> $builddir/$output
|
||||
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
|
||||
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
|
||||
echo -E "\end{center}" >> $builddir/$output
|
||||
|
||||
changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
|
||||
changetitle=""
|
||||
if [ -n "$changefile" ]; then
|
||||
changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
|
||||
fixtitle "$changetitle"
|
||||
changetitle=$retval
|
||||
changename=`basename $changefile .abc`
|
||||
echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $builddir/$output
|
||||
fi
|
||||
done
|
||||
|
||||
cat dottes.tex.firstlines >> $builddir/$output
|
||||
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
title=`$dir/abcfield.py --field T --latex $filename`
|
||||
fixtitle "$title"
|
||||
title=$retval
|
||||
echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output
|
||||
done
|
||||
|
||||
cat dottes.tex.footer >> $builddir/$output
|
||||
|
||||
cd $builddir
|
||||
|
||||
xelatex $output
|
||||
xelatex $output
|
||||
xelatex $output
|
||||
|
||||
mv $outputpdf $dir/$1-A4.pdf
|
||||
|
||||
cd $dir
|
129
makeBookeA5.sh
129
makeBookeA5.sh
|
@ -1,129 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Build the Booke. First assemble the book LaTeX, then build it
|
||||
# into a PDF.
|
||||
#
|
||||
# All EPS and PDF tune graphics must be present already. Run
|
||||
# makeGraphics.sh to make these.
|
||||
#
|
||||
|
||||
# Restore titles like 'Exploding Potato, The' to the
|
||||
# expected 'The Exploding Potato'.
|
||||
fixtitle()
|
||||
{
|
||||
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
|
||||
}
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: makeBookeA5.sh <book dir name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
booke=$dir/$1
|
||||
builddir=$dir/build
|
||||
graphicsdir=$dir/graphics/$1
|
||||
output=dottesA5.tex
|
||||
outputxdv=${output/%.tex/.xdv}
|
||||
outputpdf=${output/%.tex/.pdf}
|
||||
outputa4=dottesA5onA4booklet.tex
|
||||
outputa4pdf=dottesA5onA4booklet.pdf
|
||||
|
||||
mkdir -p $builddir
|
||||
|
||||
cp buildno.txt $builddir
|
||||
cp buzzard.eps $builddir
|
||||
if [ -r $booke/title.txt ]; then
|
||||
cp $booke/title.txt $builddir
|
||||
else
|
||||
touch $builddir/title.txt
|
||||
fi
|
||||
if [ -r $booke/subtitle.txt ]; then
|
||||
cp $booke/subtitle.txt $builddir
|
||||
else
|
||||
touch $builddir/subtitle.txt
|
||||
fi
|
||||
if [ -r $booke/intro.txt ]; then
|
||||
cp $booke/intro.txt $builddir
|
||||
else
|
||||
touch $builddir/intro.txt
|
||||
fi
|
||||
rm $builddir/instrument.txt
|
||||
if [ -r $booke/instrument.txt ]; then
|
||||
cp $booke/instrument.txt $builddir
|
||||
else
|
||||
touch $builddir/instrument.txt
|
||||
fi
|
||||
cp dottes.tex.a5header $builddir/$output
|
||||
cat dottes.tex.intro >> $builddir/$output
|
||||
|
||||
# Now, for each tune, make the tune graphic and add it, inside a
|
||||
# centre section, so the document. Then add a TOC entry.
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
title=`$dir/abcfield.py --field T --latex $filename`
|
||||
fixtitle "$title"
|
||||
title=$retval
|
||||
|
||||
echo -E "\vfill \begin{center}" >> $builddir/$output
|
||||
echo -E "\phantomsection" >> $builddir/$output
|
||||
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
|
||||
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
|
||||
echo -E "\end{center}" >> $builddir/$output
|
||||
|
||||
changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
|
||||
changetitle=""
|
||||
if [ -n "$changefile" ]; then
|
||||
changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
|
||||
fixtitle "$changetitle"
|
||||
changetitle=$retval
|
||||
changename=`basename $changefile .abc`
|
||||
echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $builddir/$output
|
||||
fi
|
||||
done
|
||||
|
||||
cat dottes.tex.firstlines >> $builddir/$output
|
||||
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
title=`$dir/abcfield.py --field T --latex $filename`
|
||||
fixtitle "$title"
|
||||
title=$retval
|
||||
echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output
|
||||
done
|
||||
|
||||
cat dottes.tex.footer >> $builddir/$output
|
||||
|
||||
cp $outputa4 $builddir
|
||||
|
||||
cd $builddir
|
||||
|
||||
# The version of xetex on Squeeze doesn't do pass the A5 landscape instruction
|
||||
# down to the PDF generator. So split out and do manually.
|
||||
#
|
||||
# And, sigh, this fails on Sid. The first page comes out as A4 portrait.
|
||||
# So try to work out which we are using and run the appropriate command.
|
||||
ver=`xetex -version | head -n 1`
|
||||
ver=${ver/*TeX Live /}
|
||||
ver=${ver/\/*/}
|
||||
if [ "$ver" == "2009" ]; then
|
||||
xelatex -no-pdf $output
|
||||
xelatex -no-pdf $output
|
||||
xelatex -no-pdf $output
|
||||
xdvipdfmx -p a5 -l $outputxdv
|
||||
else
|
||||
xelatex $output
|
||||
xelatex $output
|
||||
xelatex $output
|
||||
fi
|
||||
xelatex $outputa4
|
||||
|
||||
mv $outputpdf $dir/$1-A5.pdf
|
||||
mv $outputa4pdf $dir/${1}-A5bookletA4.pdf
|
||||
|
||||
cd $dir
|
|
@ -0,0 +1,62 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Generate the LaTeX for the Booke tune pages (tunes.tex) and the index
|
||||
# of first lines (firstlines.tex). These are generated into the build
|
||||
# directory.
|
||||
#
|
||||
# All EPS and PDF tune graphics must be present already. Run
|
||||
# makeGraphics.sh to make these.
|
||||
#
|
||||
|
||||
# Restore titles like 'Exploding Potato, The' to the
|
||||
# expected 'The Exploding Potato'.
|
||||
fixtitle()
|
||||
{
|
||||
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
|
||||
}
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: makeBookeTunePages.sh <book dir name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
booke=$dir/$1
|
||||
builddir=$dir/build
|
||||
graphicsdir=$dir/graphics/$1
|
||||
tunesoutput=$builddir/tunes.tex
|
||||
indexoutput=$builddir/firstlines.tex
|
||||
|
||||
mkdir -p $builddir
|
||||
|
||||
rm -f $tunesoutput $indexoutput
|
||||
|
||||
# Now, for each tune, make the tune graphic and add it, inside a
|
||||
# centre section, so the document. Then add a TOC entry.
|
||||
find $booke -name "*.abc" | sort |
|
||||
while read filename
|
||||
do
|
||||
name=`basename $filename .abc`
|
||||
title=`$dir/abcfield.py --field T --latex $filename`
|
||||
fixtitle "$title"
|
||||
title=$retval
|
||||
|
||||
echo -E "\vfill \begin{center}" >> $tunesoutput
|
||||
echo -E "\phantomsection" >> $tunesoutput
|
||||
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $tunesoutput
|
||||
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $tunesoutput
|
||||
echo -E "\end{center}" >> $tunesoutput
|
||||
|
||||
changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
|
||||
changetitle=""
|
||||
if [ -n "$changefile" ]; then
|
||||
changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
|
||||
fixtitle "$changetitle"
|
||||
changetitle=$retval
|
||||
changename=`basename $changefile .abc`
|
||||
echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $tunesoutput
|
||||
fi
|
||||
|
||||
echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $indexoutput
|
||||
done
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Assuming the existance of the A5 PDF of the given Booke, produce the
|
||||
# A4 booklet-that-prints-as-A5.
|
||||
#
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: makeBookelet.sh <book dir name>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
builddir=$dir/build
|
||||
|
||||
booke=$1-A5.pdf
|
||||
# This assumes dottesA5.pdf as input.
|
||||
booklet=$dir/dottesA5onA4booklet.tex
|
||||
bookletpdf=$builddir/dottesA5onA4booklet.pdf
|
||||
|
||||
mkdir -p $builddir
|
||||
|
||||
cp $booke $builddir/dottesA5.pdf
|
||||
|
||||
cd $builddir
|
||||
xelatex $booklet
|
||||
mv $bookletpdf $dir/${1}-A5bookletA4.pdf
|
Loading…
Reference in New Issue