# HG changeset patch # User Jim Hague # Date 1373625374 -3600 # Node ID 8bc92e044e0a3156a4908aa726bd30b8dc294289 # Parent dd4582ddbbf8e2f9e31798e2cc83dd648b37eb15 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. diff -r dd4582ddbbf8 -r 8bc92e044e0a dottes.tex --- 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} diff -r dd4582ddbbf8 -r 8bc92e044e0a makeBookeTunePages.sh --- 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