Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
    
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
add comment

1 Answer 1

up vote 4 down vote accepted

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.