[texhax] price labels templates
tom sgouros
tomfool at as220.org
Mon Nov 1 23:27:54 CET 2004
Below is a file I got from somewhere for mailing labels, which
sounds like what you need. I didn't write it, but I use it, and
modified it a bit. The only problem I find is that for easy mailing I
wish the labels were sorted in columns instead of rows.
-tom
------------------------
tomfool at as220 dot org
http://sgouros.com
http://whatcheer.net
% label.tex, Russell Brown (rbrown at ms.uky.edu)
% Change the "\input filename" to whatever you call your
% particular file
% The following is a format for printing mailing labels. To use, set
% the following six dimensions,
%
% \nrows = number of rows
% \ncols = number of columns
% \vcorner= vertical distance from top of page to top of first label
% \hcorner = horizontal distance from left edge of page to left edge of label
% \hlabel = horizontal width of label
% \vlabel = vertical height of label
%
% \hfudge = correction to make the horizontal alignment to work out correctly
% \vfudge = correction to make the vertical alignment to work out correctly
%
% These last two lengths require some experimenting.
%
% To type the labels, use the macro \lb which takes one argument, the
% entire address with lines separated by \\.
% Example \lb{line1 \\line2\\line3}
%
% If a label has too many lines,
% it will throw off the alignment of subsequent labels.
%
% In practice, you will want vcorner and hcorner to be larger than the
% physical corner in order that the address is not put right at the
% edge of the label.
%%%%%%%%%%%%%%%%%%%%%%%%%% USER DEFINED LENGTHS %%%%%%%%%%%%%%%%%%%%%%
% Everything else is computed using these 6 quantities.
\documentstyle{article}
\pagestyle{empty}
% \newcount\nrows\newcount \ncols
\newcount\nrows\newcount\ncols
\nrows=10 %Number of rows
\ncols=03 %Number of columns.
\newdimen\vcorner \newdimen\hcorner
\newdimen\vlabel \newdimen\hlabel
% 2.6in was empirically determined to work with Avery 5160 labels, on
% my Canon BJ-200, 1/2/02
\vcorner = 2.55in % vertical distance between upper left corner
% of page and upper left corner of first label
\hcorner = 0.3in % Horizontal distance between page and first
% label.
\vlabel = 1.0in % Height of label.
\hlabel = 2.7in % width of label.
\newdimen \vfudge \newdimen \hfudge
\vfudge = -0.11 in % experimentally determined quantity which is
% addedto vlabel to obtain physical
% spacing equal to vlabel. It turns out to
% equal the height of a line.
\hfudge = -0.25in
\newdimen \tempp
\tempp = \hcorner
\advance\tempp by -1.125in
\setlength{\oddsidemargin}{\tempp} % physical margin = \..sidemargin + 1.25in
\setlength{\evensidemargin}{\oddsidemargin}
\tempp = \hlabel \advance \tempp by 0.2in
\multiply \tempp by \ncols
\setlength{\textwidth}{\tempp}
\tempp=\vcorner \advance \tempp by -1.60in
\setlength{\topmargin}{\tempp}% Physical margin = \topmargin +1.5 in
\tempp = \vlabel \multiply\tempp by \nrows
\setlength{\textheight}{\tempp}
% \showthe \textheight\showthe \textwidth
\setlength{\headheight}{-.6in}
\setlength{\footheight}{0in}
\setlength{\baselineskip}{0in}
\setlength{\fboxsep}{0in} %% needed for boxes to come out right
%% hgt
\setlength{\parskip}{0in}
\setlength{\headsep}{0in}
\advance \vlabel by \vfudge
\advance \hlabel by \hfudge
\newcommand{\lb}[1]{
\fill 0.1in
\mbox{ \rule[-\vlabel]{0in}{\vlabel} %distance between labels is
%1 in+height of 1 line.
\begin{minipage}[t]{\hlabel}
\begin{flushleft}
{\sf #1}
\end{flushleft}
\end{minipage}
}
}
\begin{document}
\lb{Blah\\blah\\blah\\blah}
\lb{Blah\\blah\\blah\\blah}
\lb{Blah\\blah\\blah\\blah}
\end{document}
More information about the texhax
mailing list