\documentclass[12pt]{amsart} %%%%% MARGINS %%%%% \setlength{\columnsep}{50pt} \setlength{\voffset}{-50pt} \setlength{\textheight}{650pt} \setlength{\hoffset}{-50pt} \setlength{\textwidth}{465pt} \newlength{\oldparindent} \setlength{\oldparindent}{\parindent} \setlength{\parindent}{0pt} \setlength{\parskip}{\baselineskip} %%%%% COUNTERS %%%%% \newcounter{Object} \newcounter{SubObject} %%%%% DEFINITIONS %%%%% \def\ex{\addtocounter{Object}{1}% {\bf Example \theObject:} \setcounter{SubObject}{0}} \def\exlabeljane{% { } \parbox{87pt}{\text{ }\\ Jane Smith\\ 321 Main Street\\ City, State 54321} { }} \def\exlabeljohn{% { } \parbox{87pt}{\text{ }\\ John Smith\\ 123 Main Street\\ City, State 12345} { }} \def\janecode{% Jane Smith\(\backslash\)\(\backslash\)% 321 Main Street\(\backslash\)\(\backslash\)% City, State 54321} \def\johncode{% John Smith\(\backslash\)\(\backslash\)% 123 Main Street\(\backslash\)\(\backslash\)% City, State 12345} \def\note{\addtocounter{Object}{1}% {\bf Note \theObject:} \setcounter{SubObject}{0}} \def\subobject{\addtocounter{SubObject}{1}% $\boldsymbol{(\roman{SubObject})}$ } \def\tip{\addtocounter{Object}{1}% {\bf Tip \theObject:} \setcounter{SubObject}{0}} \def\trick{\addtocounter{Object}{1}% {\bf Trick \theObject:} \setcounter{SubObject}{0}} \begin{document} \begin{center} {\bf Latex Package jlabels} Jamal K. Tartir jktartir@hotmail.com \end{center} \vspace{15pt} \begin{center} A latex package designed to make letter-sized pages of labels. \end{center} \vspace{15pt} \begin{center} {\bf Section I: Getting Started} \end{center} \note This package has been tested with only the amsart documentclass. The following six commands have been defined. \(\backslash\)beginjlabels[opfs] \(\backslash\)endjlabels \(\backslash\)jlabelt[opint]\{address\} \(\backslash\)myjlabel\{alias\}\{address\} \(\backslash\)jlabel[opint]\{alias\} \(\backslash\)jlabelLengths[oplu]% \{leftm\}% \{topm\}% \{width\}% \{height\}% \{rows\}% \{cols\}% \{hgap\}% \{vgap\} \note The following command must be placed in the preamble. \(\backslash\)jlabelLengths[oplu]% \{leftm\}% \{topm\}% \{width\}% \{height\}% \{rows\}% \{cols\}% \{hgap\}% \{vgap\} Definitions and explanations of the arguments are given below. oplu: optional length unit (e.g., 1in, 2cm, 3pt, etc.) The default value for oplu is 1in. The required arguments leftm, \(\ldots,\) vgap must be numbers only (no units are entered). Negative numbers are permitted. leftm: left margin topm: top margin width: label width height: label height rows: number of rows cols: number of columns hgap: horizontal gap (space between columns) vgap: vertical gap (space between rows) \ex The following commands are equivalent. \(\backslash\)jlabelLengths[1in]% \{.1875\}\{.5\}\{2.625\}\{1\}\{10\}\{3\}\{.125\}\{0\} \(\backslash\)jlabelLengths% \{.1875\}\{.5\}\{2.625\}\{1\}\{10\}\{3\}\{.125\}\{0\} \(\backslash\)jlabelLengths[72.27pt]% \{.1875\}\{.5\}\{2.625\}\{1\}\{10\}\{3\}\{.125\}\{0\} \note The \(\backslash\)jlabelLengths command sets the page layout as necessary. Length commands such as \(\backslash\)hoffset, \(\backslash\)voffset, \(\backslash\)textwidth, \(\backslash\)textheight, etc. should not be used. \tip As a way of keeping notes, several \(\backslash\)jlabelLengths commands can be put in the preamble with the unused ones commented out. \note Labels are created by placing \(\backslash\)jlabelt[opint]\{Address\} commands between\linebreak \(\backslash\)beginjlabels[opfs] and \(\backslash\)endjlabels within the body of the document. The optional argument of the \(\backslash\)beginjlabels command determines whether the page is filled by columns (opfs = c) or rows (opfs = r). The default value is c. The optional argument of the \(\backslash\)jlabelt command is the number of times the label is printed and its default value is 1. \ex The following sequence of commands placed in the body of the document produces the label \exlabeljohn three times and the label \exlabeljane once. \enlargethispage{\baselineskip} \(\backslash\)beginjlabels \(\backslash\)jlabelt[3]\{\johncode\} \(\backslash\)jlabelt\{\janecode\} \(\backslash\)endjlabels \note The command \(\backslash\)jlabelt\{\} creates a blank label. \ex The command \(\backslash\)jlabelt[4]\{\} creates 4 blank labels. \note The \(\backslash\)jlabelt command will create new pages as necessary. \note The command \(\backslash\)myjlabel\{alias\}\{address\} allows \(\backslash\)jlabel[opint]\{alias\} to be used in place of \(\backslash\)jlabelt[opint]\{address\}. \note The \(\backslash\)myjlabel command should be placed in the preamble (or personal sty file), not within the document environment. \ex The command shown below allows \(\backslash\)jlabel[3]\{home\} to be used in place of \(\backslash\)jlabelt[3]\{\johncode\}. \(\backslash\)myjlabel\{home\}\{\johncode\} \begin{center} {\bf Section II: Adjusting Labels} \end{center} \note By default, the labels are left justified. This can be changed by changing the definition of \(\backslash\)jlabeljustify from l to r or c. \ex To right justify [center] the labels, place the command \(\backslash\)def\(\backslash\)jlabeljustify\{r\} [\(\backslash\)def\(\backslash\)jlabeljustify\{c\}] at the appropriate place in the document. \note By default, the text of the label is placed in the center of the label. Changing the values of leftm and topm (negative values are allowed) in the \(\backslash\)jlabelLengths command will shift all labels in the document. \note The text of an individual label can be shifted by placing the text in the tabular environment and then using the \(\backslash\)hspace* and \(\backslash\)raisebox commands. \ex The command shown below will move the label \exlabeljohn right 2 inches and down 1 inch. \(\backslash\)jlabelt\{\%\\ \(\backslash\)hspace*\{4in\}\%\\ \(\backslash\)raisebox\{-2in\}\{\%\\ \(\backslash\)begin\{tabular\}\{\(\backslash\)jlabeljustify\}\\ \johncode\\ \(\backslash\)end\{tabular\}\}\} \note The lengths used in the \(\backslash\)hspace* and \(\backslash\)raisebox commands are twice the amount that the text will actually move. This is because the jlabels package centers the text in the middle of the label. \trick An easy way to shift the text of a label left is to put an \(\backslash\)hspace* command at the end of the longest line. \ex The command shown below will move the label \exlabeljohn left 1 inch. \(\backslash\)jlabelt\{\johncode\(\backslash\)hspace*\{2in\}\} \tip Adjust individual labels as little as possible. The tediousness of this task is one of the reasons that this package was written. \end{document}