diff dottes.tex @ 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 b4d568b70c33
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}