Put tune title, image and following content into a table.

Use tabularx to put tune title, image and any following content into
a table. This should (a) get the following content closer to the tune image,
and (b) stop LaTeX splitting them over a page.
This commit is contained in:
Jim Hague 2013-08-05 18:06:00 +01:00
parent 53b947e75a
commit f74f9cc59c
1 changed files with 22 additions and 15 deletions

View File

@ -6,6 +6,7 @@
\usepackage[margin=0.75in]{geometry}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage[UKenglish]{babel}
\usepackage[UKenglish]{isodate}
@ -49,24 +50,22 @@
% Args are tune name, tune title, tune subtitle, composer, tune graphic
% filename, change name, change title, credit.
\newcommand{\showtune}[8]{%
\vfill
\begin{center}
\phantomsection
\begin{tabularx}{\textwidth}{LCR}
\addcontentsline{toc}{section}{#2}
\begin{tabular*}{\textwidth}{@{} p{0.25\textwidth} @{\extracolsep{\fill}} c >{\raggedleft\arraybackslash}p{0.25\textwidth} @{}}
& \hypertarget{#1}{\Large{#2}} & \emph{#4} \\
\ifemptyarg{#3}{}{%
& #3 & \\
}%
\end{tabular*}
\includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{#5}
\end{center}
\ifemptyarg{#8}{}{%
From {#8}.
}%
\ifemptyarg{#6}{}{%
Change: \hyperlink{#6}{#7}.
}%
}
\multicolumn{3}{c}{%
\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{#5}%
}\tabularnewline
\multicolumn{3}{p{\textwidth}}{%
\ifemptyarg{#8}{}{From {#8}. }%
\ifemptyarg{#6}{}{Change: \hyperlink{#6}{#7}.}%
}\tabularnewline
\end{tabularx}
\vfill
}
% Show the tune first line. Generate table row.
@ -226,7 +225,15 @@ anniversary in 2013.
\addcontentsline{toc}{chapter}{Tunes}
{
\newcolumntype{L}{p{0.25\textwidth}}%
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{0.25\textwidth}}%
\newcolumntype{C}{>{\centering\arraybackslash}X}%
\renewcommand{\tabularxcolumn}[1]{m{#1}}%
\renewcommand{\tabcolsep}{0pt}
\input{tunes.tex}
}
% -----