forked from CryHavoc/dottes
Add a A4 portrait book with multiple tunes per page.
Also add a script to make all variants of a single book, and look for <tune name>.tex files, and if one exists add it after the tune.
This commit is contained in:
parent
3de2f67cd0
commit
50c67f52c8
|
@ -7,11 +7,16 @@
|
||||||
<p>
|
<p>
|
||||||
@INTRO@
|
@INTRO@
|
||||||
<p>
|
<p>
|
||||||
You can download a PDF with a booklet of these tunes. There is a
|
You can download a PDF with a booklet of these tunes. There is an
|
||||||
<a href="@BOOK@.pdf">single-sided A5 landscape book</a>, or if you
|
<a href="@BOOK@-A5.pdf">A5 landscape book</a> with one
|
||||||
have a printer that can do duplex (i.e. print on both sides of the
|
tune per page, or an <a href="@BOOK@-A4.pdf">A4 book with two or more tunes
|
||||||
|
per page.
|
||||||
|
<p>
|
||||||
|
If you have a printer that can do duplex (i.e. print on both sides of the
|
||||||
paper), you might like the
|
paper), you might like the
|
||||||
<a href="@BOOK@-booklet.pdf">double-sided A4 producing an A5 booklet</a>.
|
<a href="@BOOK@-A5bookletA4.pdf">A5 booklet</a>.
|
||||||
|
Prin this onto A4 paper using both sides of the paper, and fold in half.
|
||||||
|
This makes an A5 booklet.
|
||||||
<p>
|
<p>
|
||||||
Issue @BUILD@
|
Issue @BUILD@
|
||||||
<p>
|
<p>
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
\documentclass[a4paper,11pt]{article}
|
||||||
|
\usepackage{fontspec}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
\usepackage{longtable}
|
||||||
|
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\hypersetup{
|
||||||
|
bookmarks=true,%
|
||||||
|
colorlinks=true,%
|
||||||
|
citecolor=black,%
|
||||||
|
filecolor=black,%
|
||||||
|
linkcolor=black,%
|
||||||
|
urlcolor=black
|
||||||
|
}
|
||||||
|
|
||||||
|
% ----- Common variables
|
||||||
|
|
||||||
|
\def \build {\input{buildno.txt}}
|
||||||
|
|
||||||
|
% ----- Appearance
|
||||||
|
|
||||||
|
%\setmainfont{Century Schoolbook L}
|
||||||
|
\setmainfont{Times New Roman}
|
||||||
|
|
||||||
|
% ----- Page setup
|
||||||
|
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
|
||||||
|
% 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}
|
||||||
|
|
||||||
|
% -----
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
% ----- Headers and footers
|
||||||
|
|
||||||
|
\pagestyle{fancyplain}
|
||||||
|
\fancyhf{}
|
||||||
|
\lfoot{Issue \build}
|
||||||
|
\rfoot{\thepage}
|
||||||
|
\renewcommand{\headrulewidth}{0pt}
|
||||||
|
|
||||||
|
% ----- Title page and contents
|
||||||
|
|
||||||
|
\title{Ye Crie Havock Booke of Dottes \\ \input{subtitle.txt}}
|
||||||
|
|
||||||
|
\author{Cry Havoc}
|
||||||
|
|
||||||
|
\date{\today}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
% -----
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
|
||||||
|
\input{intro.txt}
|
||||||
|
|
||||||
|
This book is a 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
|
|
@ -40,6 +40,11 @@
|
||||||
|
|
||||||
% -----
|
% -----
|
||||||
|
|
||||||
|
% Don't show section numbers.
|
||||||
|
\setcounter{secnumdepth}{-1}
|
||||||
|
|
||||||
|
% -----
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
% ----- Headers and footers
|
% ----- Headers and footers
|
|
@ -10,5 +10,5 @@
|
||||||
\usepackage{ifpdf,ifxetex}
|
\usepackage{ifpdf,ifxetex}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\includepdf[pages=-, nup=1x2, booklet=true]{dottes.pdf}
|
\includepdf[pages=-, nup=1x2, booklet=true]{dottesA5.pdf}
|
||||||
\end{document}
|
\end{document}
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Build all forms of the Booke.
|
||||||
|
|
||||||
|
if [ $# != 1 ]; then
|
||||||
|
echo "Usage: makeAll.sh <book dir name>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
makeABooke()
|
||||||
|
{
|
||||||
|
./makeGraphics.sh $1
|
||||||
|
./makeBookeA5.sh $1
|
||||||
|
./makeBookeA4.sh $1
|
||||||
|
./makeWebItems.sh $1
|
||||||
|
./makeWeb.sh $1
|
||||||
|
}
|
||||||
|
|
||||||
|
makeABooke $1
|
||||||
|
./makeCello.sh $1
|
||||||
|
make ABooke $1-Morris
|
|
@ -0,0 +1,90 @@
|
||||||
|
#!/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.
|
||||||
|
#
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
cp dottes.tex.a4header $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
|
||||||
|
title=`$dir/abcfield.py --field T --latex $filename`
|
||||||
|
name=`basename $filename .abc`
|
||||||
|
echo -E "\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
|
||||||
|
text=$booke/$name.tex
|
||||||
|
if [ -r $text ]; then
|
||||||
|
cat $text >> $builddir/$output
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cat dottes.tex.firstlines >> $builddir/$output
|
||||||
|
|
||||||
|
find $booke -name "*.abc" | sort |
|
||||||
|
while read filename
|
||||||
|
do
|
||||||
|
title=`$dir/abcfield.py --field T --latex $filename`
|
||||||
|
name=`basename $filename .abc`
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
xdvipdfmx -p a5 -l $outputxdv
|
||||||
|
else
|
||||||
|
xelatex $output
|
||||||
|
xelatex $output
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv $outputpdf $dir/$1-A4.pdf
|
||||||
|
|
||||||
|
cd $dir
|
|
@ -8,7 +8,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ $# != 1 ]; then
|
if [ $# != 1 ]; then
|
||||||
echo "Usage: makeBooke.sh <book dir name>"
|
echo "Usage: makeBookeA5.sh <book dir name>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -17,11 +17,11 @@ dir=`pwd`
|
||||||
booke=$dir/$1
|
booke=$dir/$1
|
||||||
builddir=$dir/build
|
builddir=$dir/build
|
||||||
graphicsdir=$dir/graphics/$1
|
graphicsdir=$dir/graphics/$1
|
||||||
output=dottes.tex
|
output=dottesA5.tex
|
||||||
outputxdv=${output/%.tex/.xdv}
|
outputxdv=${output/%.tex/.xdv}
|
||||||
outputpdf=${output/%.tex/.pdf}
|
outputpdf=${output/%.tex/.pdf}
|
||||||
outputa4=dottesona4.tex
|
outputa4=dottesA5onA4booklet.tex
|
||||||
outputa4pdf=dottesona4.pdf
|
outputa4pdf=dottesA5onA4booklet.pdf
|
||||||
|
|
||||||
mkdir -p $builddir
|
mkdir -p $builddir
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ if [ -r $booke/intro.txt ]; then
|
||||||
else
|
else
|
||||||
touch $builddir/intro.txt
|
touch $builddir/intro.txt
|
||||||
fi
|
fi
|
||||||
cp dottes.tex.header $builddir/$output
|
cp dottes.tex.a5header $builddir/$output
|
||||||
|
|
||||||
# Now, for each tune, make the tune graphic and add it, inside a
|
# Now, for each tune, make the tune graphic and add it, inside a
|
||||||
# centre section, so the document. Then add a TOC entry.
|
# centre section, so the document. Then add a TOC entry.
|
||||||
|
@ -51,6 +51,10 @@ find $booke -name "*.abc" | sort |
|
||||||
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.9\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
|
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.9\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
|
||||||
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
|
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
|
||||||
echo -E "\end{center}" >> $builddir/$output
|
echo -E "\end{center}" >> $builddir/$output
|
||||||
|
text=$booke/$name.tex
|
||||||
|
if [ -r $text ]; then
|
||||||
|
cat $text >> $builddir/$output
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
cat dottes.tex.firstlines >> $builddir/$output
|
cat dottes.tex.firstlines >> $builddir/$output
|
||||||
|
@ -87,7 +91,7 @@ else
|
||||||
fi
|
fi
|
||||||
xelatex $outputa4
|
xelatex $outputa4
|
||||||
|
|
||||||
mv $outputpdf $dir/$1.pdf
|
mv $outputpdf $dir/$1-A5.pdf
|
||||||
mv $outputa4pdf $dir/${1}-booklet.pdf
|
mv $outputa4pdf $dir/${1}-A5bookletA4.pdf
|
||||||
|
|
||||||
cd $dir
|
cd $dir
|
Loading…
Reference in New Issue