From 8554e9e6644d94ec715f64925c0b7e06b33bb8a4 Mon Sep 17 00:00:00 2001 From: Jim Hague Date: Fri, 12 Jul 2013 11:36:14 +0100 Subject: [PATCH] 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. --- dottes.tex | 40 +++++++++++++++++++++++++++++++++++++--- makeBookeTunePages.sh | 11 ++--------- 2 files changed, 39 insertions(+), 12 deletions(-) diff --git a/dottes.tex b/dottes.tex index 9e8eb68..2e70f78 100644 --- a/dottes.tex +++ b/dottes.tex @@ -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} diff --git a/makeBookeTunePages.sh b/makeBookeTunePages.sh index 5a36395..ea5b878 100755 --- a/makeBookeTunePages.sh +++ b/makeBookeTunePages.sh @@ -42,21 +42,14 @@ find $booke -name "*.abc" | sort | 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