# Full page table template

I am making a manual with LaTeX and at the end of the manual I want to insert a full-page blank table where I can have people sign to acknowledge that they have read the manual.

Currently I am doing this:

\section{Sign on sheet}
% NOTE: This is a very messy way of making a one page table.
\begin{tabularx}{\textwidth}{|+l|^X|^l|^X|}

\hline
\rowstyle{\bfseries}
Date & Name & Signature \\\hline\hline
1 January 2012 & John Citizen & XXXXXXXXX \\\hline
& & \\[0.4cm]\hline
& & \\[0.4cm]\hline
...
& & \\[0.4cm]\hline
\end{tabularx}


And I have to play around with the number of lines to make it fill the page. I use \\[0.4cm] to make the rows a little larger to leave space for handwriting when the document is printed. Is there a better way to do this?

-
Related: dynamic signature/date line, or is this a duplicate? Since your page size is not going to change often, you could just manually repeat one of the linked solutions to fill the page. –  Peter Grill Apr 13 '12 at 1:10
Here's a way to avoid having to input all those [0.4cm] extra-space specifiers: Load the array package in the preamble and issue the command \setlength\extrarowheight{0.4cm}. If you issue the latter command in the preamble it'll affect all tabular environment; to keep its scope local to just one tabularx environment, issue the command after an opening curly brace ({) and before the \begin{tabularx}{... statement, and issue a closing curly brace (}) after the end of the tabularx environment. –  Mico Apr 13 '12 at 1:19

I suggest a different approach, not using a tabular structure; the \linefill command in the example below is a modification of the same command from the exam document class; it fills the vertical space of height given as its argument with the pattern of horizontal lines declared by \linefill. You use a minipage with fixed height h for the header and then you symply use \linefill{\textheight-h} to fill the page with the pattern; the vertical separation between lines can be changed by using the length \linefillheight (initially set to 1cm):

\documentclass{article}

\newlength\linefillheight % vertical distance between lines
\setlength\linefillheight{1cm}

\newlength\wcolone %first column width
\setlength\wcolone{\dimexpr.25\textwidth-4mm\relax}
\newlength\wcoltwo %second column width
\setlength\wcoltwo{.5\textwidth}
\newlength\wcolthree % third column width
\setlength\wcolthree{\dimexpr.25\textwidth-4mm\relax}

\newcommand\linefill{\leavevmode
\rule{\wcolone}{0.4pt}\hspace*{4mm}\rule{.50\textwidth}{0.4pt}\hspace*{4mm}\rule{\dimexpr.25\textwidth-4mm\relax}{0.4pt}}

\makeatletter
\def\fillwithlines#1{%
\begingroup
\ifhmode
\par
\fi
\hrule height 0pt
\nobreak
\vrule height \linefillheight depth 0pt width 0pt
\linefill} \vskip #1 \hbox{}%
\endgroup}
\makeatother

\begin{document}

\noindent\begin{minipage}[c][1cm][t]{\textwidth}
\section{Sign on sheet}
\parbox{\dimexpr\wcolone+4mm\relax}{\textbf{Date}}%
\parbox{\dimexpr\wcoltwo+4mm\relax}{\textbf{Name}}%
\parbox{\wcolthree}{\textbf{Signature}}
\end{minipage}

\fillwithlines{\dimexpr\textheight-1cm\relax}

\end{document}


-