summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/midnight/labels.doc
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/midnight/labels.doc')
-rw-r--r--Master/texmf-dist/doc/generic/midnight/labels.doc234
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