# [TriLUG] A challenge: 8,000 serial number labels

Andrew Perrin trilug@trilug.org
Sat, 29 Sep 2001 11:56:14 -0400 (EDT)

Greetings.

For a study, I need a lot of little stickers printed with serial
numbers: 800 numbers, 10 stickers each. I'm using Avery 5167 labels, which
are 1/2" x 1 3/4", 80 to a sheet (4 across by 20 down).  The challenge: to
get the numbers lined up with the labels.

My thought was to use LaTeX and the envlab style; I wrote a quick perl
script that generated the document, then used pdflatex to make a pdf
file.  It *seemed* to work fine; I got 100 pages of serial numbers in
vertical blocks of 10, just as I wanted.

However, unfortunately for some reason the numbers don't line up with the
labels on the sheet, although (I think) I've configured envlab correctly
for them.  Appendix A at the bottom of this message is the perl script,
which includes the envlab \SetLabel declaration.

So, finally, the question: using LaTeX, or ANY other tool (I'll even hold
my nose and do Windows if necessary), can anyone suggest a tactic to get
these printed? I am really not happy about manually typing 8,000 numbers,
which I think would be necessary using the label templates in StarOffice,
Word, etc.

---Appendix A: sn.pl---
#!/usr/local/bin/perl -w

use strict;

print <<END;
\\documentclass{letter}
\\SetLabel{2in}{0.5in}{.5in}{.75in}{.25in}{4}{20}
\\makelabels
\\begin{document}
\\startlabels
END

for (my $i = 101 ;$i <= 900 ; $i += 4) { my$j = $i + 1; my$k = $i + 2; my$l = $i + 3; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{$l}\n"; print "\\mlabel{}{$i}\\mlabel{}{$j}\\mlabel{}{$k}\\mlabel{}{\$l}\n";
print "\\mlabel{}{}\\mlabel{}{}\\mlabel{}{}\\mlabel{}{}\n";
}
print "\\end{document}\n";

----------------------------------------------------------------------
Andrew J Perrin - andrew_perrin@unc.edu - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
269 Hamilton Hall, CB#3210, Chapel Hill, NC 27599-3210 USA