diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/midnight/labels.doc')
-rw-r--r-- | Master/texmf-dist/doc/generic/midnight/labels.doc | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/midnight/labels.doc b/Master/texmf-dist/doc/generic/midnight/labels.doc new file mode 100644 index 00000000000..1cfa44d6ea6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/midnight/labels.doc @@ -0,0 +1,234 @@ +% labels.doc --- version 1.0 (24 October 1991) +% This is the documentation for labels.tex. +% To read this file, process it with (plain) TeX: tex labels.doc +% (To do that, you need manmac.tex, which has +% the macros for typesetting the TeXbook, as explained in appendix E. +% It comes free with the standard distribution of TeX.) +% +% NOTE: Processing this file with TeX will create empty files +% index.tex and answers.tex in your directory. And if you +% have a file pages.tex in your directory, TeX will probably +% get very confused. +% The manmac format will try to load a font called cmman; if +% TeX complains that it cannot find that font you can savely +% ignore that, since the font is not actually used. +% +% This file: copyright (c) 1991 Marcel van der Goot. +% You may redistribute this file and printed versions of it. +% +% original: csvax.cs.caltech.edu [131.215.131.131] in pub/tex +% (use anonymous ftp). Also in various archives. +% +% Marcel van der Goot +% marcel@cs.caltech.edu +% Caltech 256--80 +% Pasadena, CA 91125 +% (818) 356--4603 + +% Doc history: +% 10 Sep 1991: Added paragraph about centering labels. +% 22 Apr 1991: First version + +% ------ definitions for manual pages: +% The documentation is typeset using Knuth's ``manmac'' macros, with a +% few additional things defined here. You are free to use or adapt these +% extra definitions. + +\input manmac % the macros used for typesetting The TeXbook (appendix E) +\catcode`^=7 % manmac makes ^ active for creating an index + % we don't make an index, and we need ^ to be non-active + +{\catcode`\^^M=12 \endlinechar=-1 % 12 = other +\long\gdef\manpagehead#1^^M#2^^M#3^^M^^M% tex-file, description, version + {\egroup % matches \bgroup in \manpage + \par\vfill\eject + \edef\rhead{\manualname: #1\unskip}% + \setbox1=\hbox{\titlefont #1\quad}% + \setbox3=\vtop{\advance\hsize by-\wd1 \parindent=0pt \raggedright + #2\par + #3\par + \cnotice + }% + \line{\box1\box3}% + \bigskip\bigskip\bigskip\noindent + }% +} % restore \catcode`\^^M + +\outer\def\manpage + {\bgroup\catcode`\^^M=12 + \manpagehead + } + +\hsize=6.5in\vsize=8.9in % default plain TeX values +\pagewidth=\hsize \pageheight=\vsize + +\def\cnotice{Copyright \copyright\ 1991 Marcel R. van der Goot} +\def\manualname{Midnight Macros} + +% LaTeX logo, from latex.tex (except for the capital `A': manmac +% doesn't have a real smallcaps font) +\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc A}\kern-.15em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} + +\tenpoint + +% (end of extra definitions) + +% -------------------- labels.doc: + +\pageno=12 % follows dolines.doc + +\manpage labels.tex +Macros to print address labels and bulk letters. +Version: 1.0 (24 October 1991) (doc: 10 Sep 1991) + +The macros defined in labels.tex can be used to print address labels. Such +labels can be printed on normal paper, if you want to cut them yourself, +or on peel-off labels. (Peel-off labels are available in various sizes for +most types of printers and photo-copiers.) +In order to use the macros +you always have to start with |\input labels|, which reads +labels.tex\footnote*{To use labels.tex you also need Midnight/dolines.tex and +Midnight/loop.tex, which are input automatically.}. +We will first explain how to +typeset labels, then how to print bulk letters. + +There are two slightly different ways to print labels. The first one is to say +\begintt +\beginlabels +... +\endlabels +\endtt +where in place of `|...|' you type the labels separated by empty lines. +The second is to simply say +\begintt +\labelfile{...} +\endtt +where `|...|' is the name of a file that contains the labels. In either case +a label consists of several lines, and labels are separated by one +or more empty lines. You end your file as usual, with |\bye|. +Labels.tex does not specify which font to use, which +in plain \TeX\ means that by default a 10 points Roman font is used. +However, for legibility +it is usually better to use a sans-serif font, for instance by writing +\begintt +\font\sf=cmss12 +\sf \baselineskip=14pt +\endtt +In order to typeset labels, you must define the size and other attributes +of labels. (There are default values, but they are +unlikely to suit your needs, especially if you want to print on +peel-off labels.) These attributes must be set before you call +|\beginlabels| or |\labelfile|; therefore, a typical input file has the form +\beginlines +|\input labels| +\nobreak +|\vlbls=5 \hlbls=2| +\goodbreak +|\vlblsize=5cm| +|\labelfile{customers.lbl}| +\nobreak +|\bye| +\endlines +where file `customers.lbl' has the addresses that must be typeset. The +assignments to |\vlbls|, |\hlbls|, and |\vlblsize| define certain attributes. +Next we describe which attributes there are. + +First you have to tell \TeX\ how labels must appear on a page. |\vlbls| +must denote the vertical number of labels per page, |\hlbls| the horizontal +number. |\vfirst| specifies the amount of white space between the top of the +page and the top of the first label; |\hfirst| is the amount of white space +to the left of the first label. Dimensions |\vinter| and |\hinter| specify +the white space between labels. + +Then you have to specify the size of each label. |\vlblsize| and |\hlblsize| +specify the vertical and horizontal sizes of a single label. |\vindent| is +the white space between the top of the label and the baseline of the first +line. (|\vindent| is similar to \TeX's |\topskip| parameter.) |\hindent| +is the amount of white space between the left edge of a label and the +text of the label. + +The parameters mentioned above are sufficient to typeset labels. There +are however a few special parameters that are sometimes useful. +By default, there is no outline around the labels. That is suitable for +printing on peel-off labels, but inconvenient for use with previewers or +plain paper. You can set |\lbloutline| to the thickness of the lines +you want around your labels, e.g., |\lbloutline=0.5pt|. The outlines +are drawn at the outside of the label (i.e., in the space between the +labels). + +If there is too much text on a label, an error message is given; for reference, +the message contains the input text corresponding to the label. A label +with an error is not typeset. +When you typeset labels, by default a file `lblerror.tex' is created, which +has the text of all the labels that did not fit. This makes it convenient to +process those labels again, e.g., with |\labelfile|. +However, if you set |\erroraction=0| before you start typesetting labels, +file `lblerror.tex' is not created. Setting |\erroraction=1| does not only +suppress generation of the error file, it also forces printing of the labels +that have errors. Any other value of |\erroraction| causes the default +behavior. + +\danger The error messages refer to the natural size of a label. If +|\vindent| and |\hindent|, which are glue parameters, have shrink components, +it is possible that the text will actually fit on the label. However, usually +these indentations have no stretch or shrink components. + +\danger There are two token registers, |\beforelbl| and |\afterlbl|, that +can be used to put additional text on each label. +They contain \<vertical material> that is inserted just before and after +the text of the label, respectively. By default, these sequences are empty. +One can for instance specify +\begintt +\beforelbl={\line{---Confidential---\hfil}\smallskip} +\endtt +to put ``---Confidential---'' at the beginning of each address. {\sl Note:\/} +Since addresses are normally read from bottom to top, the post office +prefers it if you don't put text after the address, unless it is part +of the address. E.g., using |\afterlbl={\noindent USA}| is ok, but use +|\beforelbl| if you want to add an ``attention:\dots'' line to each label. + +\danger If you want to use the labels for something else than addresses, you +may want to center the text on the label. Horizontal centering can be obtained +with |\hindent=0pt plus1fil|. Note that this centers the text according to +the widest line; it does not center each line separately. +Vertical centering is a bit more complicated, because of the way \TeX\ stacks +boxes vertically. The following centers the label text vertically: +\begintt +\count255=\baselineskip +\vindent=\count255sp plus1fil +\endtt +This works because the actual vertical indentation is |\vindent| minus +|\baselineskip|, since \TeX\ automatically inserts |\baselineskip| glue. + +Within a label, you can type `|&|' and `|#|' for +`\&' and `\#'. (In \TeX, you usually have to type `|\&|' and `|\#|' to get +these symbols.) You can use macros in a label, for instance for font changes. +A line of a label must contain balanced braces; a `|%|' sign +will concatenate the next line. (Usually, labels do not contain macros, nor +braces, nor percentage-signs.) +If for some reason you want an empty line in the middle of a label, +write a `tie' (`|~|') on that line. (The |~| is replaced by a space in the +output.) + +Address labels are often used to send an identical letter to each addressee. +The command |\bulk| makes it easy to print the address on each letter. You +need two files, one with all the addresses, and one with the standard letter. +Say that they are called `addr.tex' and `letter.tex', respectively. The command +\begintt +\bulk{addr}{letter} +\endtt +will typeset a copy of the letter for each address. In the letter you can +use the control sequence |\bulkaddress|. This stands for a vbox that contains +the address to which the letter corresponds. (The vbox contains an hbox for +each line of the address; parameters like |\vindent| and |\hlblsize| are not +important when |\bulk| is used.) Since `letter.tex' is processed many times, +it is best to put any definitions that apply to all letters in the file +that contains the |\bulk| command, rather than in the letter itself. +Each letter is read within a group, so all non-global definitions and +assignments in the letter are local to the letter. Also note that the +vbox containing the address is typeset before the letter is read. +The |\bulk| command does not generate address labels; for that you have +to use |\labelfile{addr}|. + +\bye |