# How to create attendance sheets?

Is there a package for creating sheets you fill out by handwriting?

Like for example attendance sheets, a list of key borrowers, a sign-off sheet for dangerous stuff etc.

Basically some sort of table with a caption, multiple columns and helper-lines to separate different entries. Rows large enough for Joe-handwriter. Perhaps a counter in the first column and some paragraph of text above/below.

-
first I thought "this is a simple table" what's the big deal? but then I thought "how can I make just the right number of lines to fill up a single page?" now I'd like to find the answer! –  Yossi Farjoun Jan 24 '12 at 21:00
Have a look at mbork's answer on Contest: show off your skillz in TeX and friends –  cmhughes Jan 24 '12 at 21:18

Here's my feble attempt:

\documentclass{article}
\usepackage{forloop}
\newcommand{\aline}{\\\hline &&&&\rule{0cm}{1cm}}
\begin{document}
\newcounter{theyflines}

a paragraph of text
\medskip

\begin{tabular}{|p{2cm}|p{3cm}|p{2cm}|p{2cm}|p{3cm}|}
\hline
Name & Item & Pickup & Return& Signature
\forloop{theyflines}{1}{\value{theyflines} < 15}{\aline}\\
\hline
\end{tabular}
\medskip

a final paragraph of text.
\end{document}


There are ways to change the background so that it alternates in the rows, and it would be nice to automatically find out how many lines to put...but that's currently beyond my powers.

-

The following is a possible solution. You can change the inter-row distance by changing the dimension in the \NEXTROW macro.

\documentclass[10pt]{article}

\usepackage{lastpage}
\usepackage{booktabs}
\usepackage{a4wide}
\usepackage{fancyhdr}
\pagestyle{fancy}
\cfoot{{\thepage/\pageref{LastPage}}}

\def\starttable{%
\flushleft
\begin{tabular}{lllp{70mm}}
\toprule
\multicolumn{1}{r}{\textbf{Student Id}}
& \multicolumn{1}{l}{\textbf{Surname}}
& \multicolumn{1}{l}{\textbf{First Name}}
& \multicolumn{1}{l}{\textbf{Signature}}}
\def\stoptable{%
\\\bottomrule
\end{tabular}}
\newcommand\NEXTROW{\\[2pt]\midrule[0.025pt]}

\begin{document}

\starttable
\\\midrule 123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\NEXTROW   \ldots    & . & . &
\stoptable

\clearpage

\starttable
\\\midrule 123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\stoptable

\clearpage

\starttable
\\\midrule 123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\NEXTROW   123456779 & X & Y &
\stoptable

\end{document}

-
Are you trying to create an attendance sheet for the classes you are teaching? This is probably not the answer you expect to get but I wrote an AWK script which I use to collect attendance predrag.freeshell.org/teaching/downloads/awk/attendance.awk The advantage of having attendance in electronic form that it is very easy to use AWK for example to data mine all sorts of information about your students (last day of attendance, number of missed class periods etc). You could theoretically use clickers instead of calling roster to collect info. –  Predrag Punosevac Jan 25 '12 at 5:46
@Predrag Yes, you are right this is based on a form for class attendance. The poster didn't say what the thing was for, so I assumed something like this was fine. It should be easy to space out the rows by adding the right amount of space with \\[<dimension>]. I've changed the code to make that easier. Thanks for the script. I'll have a look at it some time later. –  Marc van Dongen Jan 25 '12 at 7:31