summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/envlab/elguide.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/envlab/elguide.tex')
-rw-r--r--Master/texmf-dist/doc/latex/envlab/elguide.tex422
1 files changed, 354 insertions, 68 deletions
diff --git a/Master/texmf-dist/doc/latex/envlab/elguide.tex b/Master/texmf-dist/doc/latex/envlab/elguide.tex
index 630b94807e6..f0e43669de9 100644
--- a/Master/texmf-dist/doc/latex/envlab/elguide.tex
+++ b/Master/texmf-dist/doc/latex/envlab/elguide.tex
@@ -1,5 +1,3 @@
-
-
\documentclass{ltxguide}
@@ -31,9 +29,9 @@
\begin{document}
\title{Printing Envelopes and Labels in \LaTeXe: \EL\ Package.\\
-User Guide\thanks{\copyright Boris Veytsman, 1996}}
+User Guide\thanks{\copyright Boris Veytsman, 1996, 1997}}
\author{Boris Veytsman}
-\date{June 15, 1996}
+\date{July 16, 1997}
\maketitle
@@ -105,7 +103,8 @@ To install the package
\item (Optional) Look at the file |envlab.cfg| and change it
accordingly to your taste (see Section~\ref{sec:Cust}).
\item Move the files |envlab.sty| and |envlab.cfg| to the
- \LaTeX\ search path
+ \LaTeX\ search path\footnote{The users of kpathsea based \TeX---like
+ te\TeX---should also issue |texhash| to update the search database.}
\item Produce the documentation by \LaTeX ing the files |elguide.tex|
and (optional) |envlab.drv|.
\item Enjoy!
@@ -128,17 +127,15 @@ retrieves and typesets this information. In general one should not use
package types an error message if it cannot find the |makelabels|
command in the class it is called from\footnote{If you want to create
a custom letter class to be used with \EL, take care to write
- commands \cs{startlabels} and \cs{mlabel}\marg{from-address}\marg{to-address}
- to the |.aux| file. Also
- define a \cs{makelabels} command. The latter can do
- anything---\EL\ will redefine it anyway, but the package needs to see
- \cs{makelabels} defined at the start up}.
+ commands \cs{startlabels} and
+ \cs{mlabel}\marg{from-address}\marg{to-address} to the |.aux| file.
+ Also define a \cs{makelabels} command. The latter can do
+ anything---\EL\ will redefine it anyway, but the package needs to
+ see \cs{makelabels} defined at the start up}.
There are three ways to use \EL:
-
-
\subsubsection{Automatic generation of envelopes or labels}
\begin{decl}
|\makelabels|
@@ -301,15 +298,33 @@ nocapaddress]{envlab}
\subsection{Sizes of labels and envelopes}
-\EL\ package makes a distinction between envelopes and labels. The
-differences are:
-\begin{itemize}
- \item Envelopes are printed on separate pages, labels are printed
- several per page
- \item Envelopes might have return address, labels might not
- \item Envelopes are rotated by default, labels are never rotated
-\end{itemize}
-
+\NEWdescription{Version 1.2} \EL\ package recognizes three kinds of media:
+envelopes, labels and \NEWfeature{Version 1.2}``big labels''. Envelopes are
+printed one per physical page, they could be rotated (i.~e.\ inserted
+in the printer sidewise) and could carry both the shipping address and
+return address. Labels and big labels are peel-off labels that are
+printed several per physical page, they could not be rotated. The
+difference between labels and big labels is that labels have only
+shipping address while big labels have both return \emph{and} shipping
+addresses. These differences are summarized in Table~\ref{tab:diff}.
+The kind and the size of the media are set either by package options
+or by the corresponding commands.
+\begin{table}[tbp]
+ \begin{center}
+ \leavevmode
+ \begin{tabular}{cccc}
+ \hline
+ Media & Number per page & Rotation & Return address \\
+ \hline
+ Envelopes & One & Settable & Yes\\
+ Labels & Several & Not rotated & No\\
+ Big Labels & Several & Not rotated & Yes\\
+ \hline
+ \end{tabular}
+ \caption{Differences between envelopes, labels and big labels}
+ \label{tab:diff}
+ \end{center}
+\end{table}
\begin{decl}
@@ -319,7 +334,7 @@ differences are:
|personalenvelope|,\\
|c6envelope|,
|c65envelope|,
- |c5envelope|
+ |c5envelope|, |dlenvelope|
\end{decl}
\EL\ knows about a number of standard envelopes. The options listed in
Table~\ref{tab:Env} are used to typeset the addresses for envelopes
@@ -341,6 +356,7 @@ $9.5''\times4.125''$ envelopes, use the command
c6envelope & 162 mm & 114 mm\\
c65envelope & 224 mm & 114 mm\\
c5envelope & 229 mm & 162 mm\\
+ dlenvelope & 220 mm & 110 mm\\
\hline
\end{tabular}
\caption{Standard envelope sizes}
@@ -362,9 +378,11 @@ command |\SetEnvelope{8in}{4in}|.
\begin{decl}
|avery5160label|,
|avery5161label|,
-|avery5162label|,\\
-|avery5163label|,
-|avery5164label|
+|avery5162label|,
+|avery5163label|,\\
+|avery5164label|,
+|avery5262label|,
+|herma4625label|
\end{decl}
\EL\ knows also about a number of commercially available labels.
They are listed in Table~\ref{tab:Lab}. The dimensions $W$ and $H$ are
@@ -436,7 +454,11 @@ rows of labels on a sheet.
avery5163label & 4.19$''$ & 2$''$ & 0.5$''$ & 0.16$''$ &
0.19$''$ & 2 & 5\\
avery5164label & 4.19$''$ & 3.33$''$ & 0.5$''$ & 0.16$''$ &
- 0.19$''$ & 2 & 3\\
+ 0.19$''$ & 2 & 3\\
+ avery5262label & 110 mm & 34 mm & 21 mm & 4 mm &
+ 5 mm & 2 & 7\\
+ herma4625label & 105 mm & 42.3 mm & 0 mm & 5 mm &
+ 5 mm & 2 & 7\\
\hline
\end{tabular}
\caption{Standard label sizes}
@@ -454,6 +476,45 @@ preamble of your document the command |\SetLabel|\marg {$W$}\marg
command is completely analogous to the command |\SetEnvelope|
described above.
+\begin{decl}
+|avery5163biglabel|,
+|avery5164biglabel|
+\end{decl}
+\NEWfeature{Version 1.2}
+``Big labels'' are big enough to carry both shipping and return
+addresses, otherwise their dimensions are completely analogous to the
+ones of labels. The predefined big labels are listed in
+Table~\ref{tab:BigLab}. Note the difference between package options,
+say, |avery5163label| and |avery5163biglabel|: while the physical
+media is same, the formatting of addresses is quite different.
+
+\begin{table}[tbp]
+ \begin{center}
+ \leavevmode
+ \begin{tabular}{ccccccccc}
+ \hline
+ Package option & $W$ & $H$ & $t$ & $l$ & $r$ & $N_c$ & $N_r$\\
+ \hline
+ avery5163biglabel & 4.19$''$ & 2$''$ & 0.5$''$ & 0.16$''$ &
+ 0.19$''$ & 2 & 5\\
+ avery5164biglabel & 4.19$''$ & 3.33$''$ & 0.5$''$ & 0.16$''$ &
+ 0.19$''$ & 2 & 3\\
+ \hline
+ \end{tabular}
+ \caption{Standard big label sizes}
+ \label{tab:BigLab}
+ \end{center}
+\end{table}
+
+\begin{decl}
+ |\SetBigLabel|%
+ \marg{$W$}\marg{$H$}\marg{$t$}\marg{$l$}\marg{$r$}\marg{$N_c$}\marg{$N_r$}
+\end{decl}
+\NEWfeature{Version 1.2}
+If your label size is not listed in Table~\ref{tab:BigLab}, put in the
+preamble of your document the command |\SetBigLabel|\marg {$W$}\marg
+{$H$}\marg {$t$}\marg {$l$}\marg {$r$}\marg {$N_c$} \marg{$N_r$}.
+
\subsection{Printing details}\label{sec:Print}
@@ -479,41 +540,23 @@ commands and the specifications of your printer, so I can include them
in the future releases of \EL. \NEWfeature{Version 1.1} Note that the
command |\AtBeginLabels| is cumulative: if you use it several times in
the same document, the new commands will be appended without overwriting
-the previous definitions. \NEWfeature{Version 1.1}. The command
-|\AtBeginLabelPage| works in the same way, but its argument will be
-inserted at the beginning of each \emph{page} of \EL\ output, i.e. before
-printing each envelope or label sheet.
+the previous definitions.
-\begin{decl}
- |pswait|, |nopswait|
-\end{decl}
-\NEWfeature{Version 1.1}
-If you use \dvips, you can ask it to switch your printer to manual
-mode just before printing envelopes and labels. The printer will print the
-main body of the letter(s) using the paper tray, and then stop, waiting for
-envelopes or label sheets to be fed in the manual slot. The option
-|pswait|, based on the code by \emph{William Slough}
-\texttt{<cfwas@eiu.edu>},
-inserts the corresponding \PS\ |special|s in your output.
-The option |nopswait| (default) suppresses this behavior.
+\NEWfeature{Version 1.1}
+The command |\AtBeginLabelPage| works in the
+same way, but its argument will be inserted at the beginning of each
+\emph{page} of \EL\ output, i.e. before printing each envelope or
+label sheet.
-\begin{decl}
- |\PSwait|
-\end{decl}
-\NEWfeature{Version 1.1} William Slough's code can be useful in
-other situations when you need to switch to manual mode in the
-middle of the document. The command |\PSwait| inserts the
-corresponding \PS\ code in the \dvips\ output. (An attentive reader
-has probably already guessed that the |pswait| option is implemented
-through the command |\AtBeginLabels{\PSwait}|).
+The code for \PS{} printers is described in Section~\ref{sec:PS}.
-Note that there are differences in the handling of the text close to paper
-edges from printer to printer. Since envelopes and label sheets have text
-near the edges, you might need to tune the offsets. For labels you can use
-the command |\SetLabel| to do this. The optional first argument of the
-command |\SetEnvelope| sets the distance between the leading edge of
-``logical paper'' and the physical leading edge of the envelope (0 pt by
-default).
+There are differences in the handling of the text close to paper edges
+from printer to printer. Since envelopes and label sheets have text
+near the edges, you might need to tune the offsets. For labels you
+can use the command |\SetLabel| to do this. The optional first
+argument of the command |\SetEnvelope| sets the distance between the
+leading edge of ``logical paper'' and the physical leading edge of the
+envelope (0 pt by default).
\begin{decl}
|rotateenvelopes|, |norotateenvelopes| \\
@@ -550,18 +593,16 @@ envelopes. For example to shift the envelope for $2''$ from the left
edge use |\setlength{\EnvelopeLeftMargin}{2in}|
\begin{decl}
- |LabelOffsetRow|, |LabelOffsetCol|,\\
|\FirstLabel|\marg{Row}\marg{Col}
\end{decl}
-Sometimes you need to print labels on a partially used sheet. The
-counters |LabelOffsetRow| and |LabelOffsetCol| (default values 1) set
-the position of the first label to print. You can change them using
-the |\setlength| command. \NEWfeature{Version 1.1} Alternatively, you can
-use the command |\FirstLabel|\marg{Row}\marg{Col} to set both counters
-simultaneously. For example, the command |\FirstLabel{3}{2}| causes \EL\
-to start printing labels beginning with the second label in the third
-row. Note that labels are printed row by row (\emph{not} column by
-column, like in the standard \LaTeXe\ |letter| class).
+\NEWdescription{Version 1.2} Sometimes you need to print labels on a
+partially used sheet. \NEWfeature{Version 1.1} The command
+|\FirstLabel|\marg{Row}\marg{Col} allows you to start printing of
+labels from the given position. For example, the command
+|\FirstLabel{3}{2}| causes \EL\ to start printing labels beginning
+with the second label in the third row. Note that labels are printed
+row by row (\emph{not} column by column, like in the standard \LaTeXe\
+|letter| class).
\subsection{Formatting of the address (barcodes and capitalization)}
@@ -668,6 +709,152 @@ address. Section~\ref{sec:Cust} describes how to customize your return
address.
+\subsection{Change of settings for some labels}
+
+\begin{decl}
+ |\suppresslabels|, |\resumelabels|,\\
+ |\suppressonelabel|, |\resumeonelabel|
+\end{decl}
+\NEWfeature{Version 1.2} In many cases your |.tex| file contains many
+|letter| environments. By default, if the command |\makelabels|
+appears in the preamble, all them will generate mailing labels.
+Sometimes you may want to override this behavior. \EL{} provides four
+handy commands for this. The command |\suppresslabels| issued anywhere
+before |\end{letter}| will suppress printing of mailing labels for the
+current and subsequent letters---until the command |\resumelabels| is
+issued. The commands |\suppressonelabel| and |\resumeonelabel| are
+similar, but act only on the current label.
+
+
+
+
+\begin{decl}
+ |\ChangeEnvelope|, |\ChangeLabel|, |\ChangeBigLabel|
+\end{decl}
+\NEWfeature{Version 1.2} The commands |\SetEnvelope|, |\SetLabel|,
+|\SetBigLabel| have immediate effect: they set the sizes of all
+following mailing labels. The mailing labels, automatically generated
+by |letter| environments, are written to the |.aux| file, and
+therefore they all will be printed for the envelope or labels size set
+by the last |\Set| command. Sometimes, however, one needs to print
+envelopes for the different |letter| environments at different sizes.
+The commands |\ChangeEnvelope|, |\ChangeLabel| and |\ChangeBigLabel|
+have the same meaning and arguments as the corresponding |\Set|
+commands. However, instead of setting the media, they write the
+information into the |.aux| file, and the actual change is delayed
+until the |.aux| file is read (i.~e.~at the end of the document).
+Therefore they act only on the mailing labels, extracted from the
+|letter| environments, that follow this command.
+
+
+
+\subsection{Enhancements for the \texttt{letter} environment}
+
+\NEWfeature{Version 1.2}
+Some people letters contain below the address the subject like this
+\begin{quote}
+ Re: our recent talk
+\end{quote}
+A way to do this is to include it in the address (see
+Figure~\ref{fig:wrong}). However, this additional info will be put in
+the mailing label, which is wrong. The package \EL{} defines a command
+|\re| to cope with this.
+
+\begin{figure}[tbp]
+ \leavevmode
+\begin{figpage}
+\begin{verbatim}
+\documentclass[12pt]{letter}
+
+\address{%
+ Joe Casanova\\1 Lambda Street\\Anyplace, NY 12345}
+\signature{Joe}
+
+\begin{document}
+
+\begin{letter}{%
+ Mary McKeen\\
+ 2 Alpha Street\\
+ Otherplace, NY 12346\\[2ex]
+ Re: Our love}
+ \opening{Dear Mary:}
+ I love only you
+ \closing{With love,}
+\end{letter}
+\end{document}
+\end{verbatim}
+\end{figpage}
+\caption{A wrong way to include subject information in the letter}
+ \label{fig:wrong}
+\end{figure}
+
+\begin{decl}
+ |re|, |nore|
+\end{decl}
+This command poses the following problem. The rest of the \EL{}
+package meant to work not only with the standard |letter| class, but
+with any other letter classes that write address information to the
+|.aux| file in the standard format. However, if a package makes a
+change to the formatting of the letter itself, we cannot be guaranteed
+that it will work with all letter classes. Therefore we chose the
+following solution: the additional features are enabled only if the
+package option |re| is selected. If the option |nore| (default) is
+selected, the package works in the ``compatibility mode'', and the
+additional features are disabled\footnote{For \TeX perts: if the
+ option |re| is chosen, \EL{} redefines the \cs{opening} command. See
+ the file |envlab.dtx| for additional information.}.
+
+
+
+
+\begin{decl}
+ |\re|
+\end{decl}
+\NEWfeature{Version 1.2}
+The command |\re| defines additional subject information to be put
+between the address and opening. It is very simple: just put
+|\re|\marg{Subject} anywhere before the |\opening| command (see
+Figure~\ref{fig:right}).
+
+\begin{figure}[tbp]
+\leavevmode
+\begin{figpage}
+\begin{verbatim}
+\documentclass[12pt]{letter}
+
+\usepackage[avery5160label,re]{envlab}
+\makelabels
+
+\address{%
+ Joe Casanova\\1 Lambda Street\\Anyplace, NY 12345}
+\signature{Joe}
+
+\begin{document}
+
+ \begin{letter}{%
+ Mary McKeen\\
+ 2 Alpha Street\\
+ Otherplace, NY 12346}
+ \re{Our love}
+ \opening{Dear Mary:}
+ I love only you
+ \closing{With love,}
+ \end{letter}
+\end{document}
+\end{verbatim}
+\end{figpage}
+\caption{The \EL{} way to include subject information in the letter}
+ \label{fig:right}
+\end{figure}
+
+Actually the scope of the |\re| command is the same as the scope of
+the commands like |\address| or |\signature|: if it is issued outside
+the |letter| environment, it affect all subsequent letters. If it is
+issued inside the |letter| environment (but before the |\opening|
+command), it is local to the current letter. To disable global |\re|,
+just issue this command with empty argument: |\re{}|.
+
+
\section{Customization}
\label{sec:Cust}
@@ -699,6 +886,17 @@ All lengths (heights, widths, margins) are user-customizable. Consult
the file |envlab.dtx| for their definitions and use.
\begin{decl}
+ |\ReName|
+\end{decl}
+\NEWfeature{Version 1.2}
+The subject name for the |\re| command is stored in the |\ReName|
+macro. Normally it is defined as plain style ``Re: ''. To
+|\newcommand{\ReName}{Re: }| (note the space after semicolon!). To
+change this, use |\renewcommand|, for example
+|\renewcommand{\ReName}{\textbf{Subject: }}|.
+
+
+\begin{decl}
|envlab.cfg|
\end{decl}
If you use \EL\ for some time, you probably would have a number of
@@ -720,6 +918,83 @@ package itself. Therefore by hacking |envlab.cfg| you can completely
change the behavior of the package without modifying \EL.
+\section{Commands for \PS{} printers}
+\label{sec:PS}
+
+
+I myself know next to nothing about programming of \PS{} printers, and
+the following is based on contributions of \EL{} users.
+
+\begin{decl}
+ |pswait|, |nopswait|
+\end{decl}
+\NEWfeature{Version 1.1}
+If you use \dvips, you can ask it to switch your printer to manual
+mode just before printing envelopes and labels. The printer will print the
+main body of the letter(s) using the paper tray, and then stop, waiting for
+envelopes or label sheets to be fed in the manual slot. The option
+|pswait|, based on the code by \emph{William Slough}
+\texttt{<cfwas@eiu.edu>},
+inserts the corresponding \PS\ |special|s in your output.
+The option |nopswait| (default) suppresses this behavior.
+
+\begin{decl}
+ |\PSwait|
+\end{decl}
+\NEWfeature{Version 1.1} William Slough's code can be useful in
+other situations when you need to switch to manual mode in the
+middle of the document. The command |\PSwait| inserts the
+corresponding \PS\ code in the \dvips\ output. (An attentive reader
+has probably already guessed that the |pswait| option is implemented
+through the command |\AtBeginLabels{\PSwait}|).
+
+\begin{decl}
+ |psautotray|, |nopsautotray|
+\end{decl}
+\NEWfeature{Version 1.2}
+\emph{Uri Blumenthal} \texttt{<uri@ibm.net>} wrote code for automatic
+switching to other trays For example, if your envelopes are loaded
+into \texttt{/otherenvelopetray}, try the following code:
+\begin{verbatim}
+\AtBeginLabels{%
+ \special{ps:clear grestore
+ statusdict begin false setduplexmode
+ /manualfeed true def
+ /otherenvelopetray end 0 0 bop }}
+\end{verbatim}
+If the package option |psautotray| is selected, \EL{} will try to
+guess the proper tray from the envelope you chose. The option
+|nopsautotray| (default) disables this feature. At present this
+mechanism is rather experimental; I would be grateful for
+failure/success reports as well as for suggestions. Note that |pswait|
+and |psautotray| options are not compatible (|psautotray| switches the
+printer to the manual mode anyway). If you selected them both, only
+the one selected last will be chosen.
+
+\NEWdescription{Version 1.2}
+Another solution by \emph{Robert Estes}
+\texttt{<estes@ece.ucdavis.edu>} works for Optra R+ printers:
+\begin{verbatim}
+\AtBeginLabels{\special{ps:
+clear grestore
+1 dict dup /MediaPosition null put setpagedevice
+1 dict dup /ManualFeed true put setpagedevice
+1 dict dup /Policies 1 dict dup /PageSize 2 put put setpagedevice
+2 dict dup /PageSize [297 684] put dup /ImagingBBox null put setpagedevice
+0 0 bop
+}}
+\end{verbatim}
+
+\NEWdescription{Version 1.2}
+The code by \emph{Greg Jumper} \texttt{<jumper@lens.sri.com>} works
+for HP LaserJet 4MV:
+\begin{verbatim}
+ \special{! <</ManualFeed true /DeferredMediaSelection true
+ /PageSize [297 684] /ImagingBBox null>> setpagedevice}
+\end{verbatim}
+
+
+
\section{Bugs and limitations}
\label{sec:Bugs}
@@ -750,6 +1025,17 @@ experimental versions of \EL\ at my homepage
(|http://planck.psu.edu/~boris|).
+
+\section{Acknowledgements}
+
+\NEWdescription{Version 1.2} Since the first version of \EL{} was
+released, many users helped me with bug reports, suggestions and code
+contributions to enhance it. I would like to express my gratitude to
+Uri Blumenthal, Arnie Ostebee, William Slough, Ed Reingold, Jos
+Jansen, Juergen Schlegelmilch, Jim Hill, Greg Jumper, Robert Estes,
+Genick Bar-Meir and many others for their help.
+
+
\section{Legalese}
The package \EL\ is provided ``as is'' and comes with absolutely no