Tables – Full Page Table Template for Forms and Blank Pages

blank-pageformstables

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?

Best Answer

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
  \cleaders\hbox to \hsize{\hskip \@totalleftmargin
          \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}

enter image description here

Related Question