Mercurial > dottes
changeset 312:8bc92e044e0a
Move tune and first line inclusion code into macros.
Also use tune title, not name, as hyperlink targets. This removes the need to pass
the name into the macros.
| author | Jim Hague <jim.hague@acm.org> | 
|---|---|
| date | Fri, 12 Jul 2013 11:36:14 +0100 | 
| parents | dd4582ddbbf8 | 
| children | aa803fd1c3a6 | 
| files | dottes.tex makeBookeTunePages.sh | 
| diffstat | 2 files changed, 39 insertions(+), 12 deletions(-) [+] | 
line wrap: on
 line diff
--- a/dottes.tex Thu Jul 11 17:52:11 2013 +0100 +++ b/dottes.tex Fri Jul 12 11:36:14 2013 +0100 @@ -7,7 +7,7 @@ \usepackage{fancyhdr} \usepackage{longtable} \usepackage[UKenglish]{babel} -\usepackage[UKenglish]{isodate} +%\usepackage[UKenglish]{isodate} % Non-indented paragraphs with space between them. \usepackage{parskip} @@ -27,12 +27,46 @@ % ----- Common variables -\def \build {\input{buildno.txt}} -\def \instrument {\input{instrument.txt}} +\newcommand{\build}{\input{buildno.txt}} +\newcommand{\instrument}{\input{instrument.txt}} % Havoc purple is #9900cc. \definecolor{havocpurple}{rgb}{0.597,0,0.797} +% ----- Macros + +\makeatletter +\def\ifemptyarg#1{% + \if\relax\detokenize{#1}\relax % H. Oberdiek + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\makeatother + +% Show the main tune graphic and optional change. +% Args are change title (optional), tune title, tune graphic filename. +\newcommand{\showtune}[3][]{% + \vfill + \begin{center} + \phantomsection + \hypertarget{#2}{% + \includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{#3} + } + \addcontentsline{toc}{section}{#2} + \end{center} + \ifemptyarg{#1}{}{% + Change: \hyperlink{#1}{#1} + }% +} + +% Show the tune first line. Generate table row. +% Args are the tune title and the first line graphic filename. +\newcommand{\showfirstline}[2]{% + \hyperlink{#1}{#1} & % + \raisebox{-.25\height}{\includegraphics[width=0.65\textwidth,height=1.3cm]{#2}} \\ +} + % ----- Paper size document setup \input{docsetup.tex}
--- a/makeBookeTunePages.sh Thu Jul 11 17:52:11 2013 +0100 +++ b/makeBookeTunePages.sh Fri Jul 12 11:36:14 2013 +0100 @@ -42,21 +42,14 @@ 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}{section}{$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 "\showtune[$changetitle]{$title}{$graphicsdir/$name}" >> $tunesoutput - echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.65\textwidth,height=1.3cm]{$graphicsdir/firstline-$name}} \\\\" >> $indexoutput + echo -E "\showfirstline{$title}{$graphicsdir/firstline-$name}" >> $indexoutput done
