]> git.donarmstrong.com Git - lib.git/commitdiff
add envlab to texmf lib
authorDon Armstrong <don@donarmstrong.com>
Tue, 7 Mar 2006 21:58:17 +0000 (21:58 +0000)
committerDon Armstrong <don@donarmstrong.com>
Tue, 7 Mar 2006 21:58:17 +0000 (21:58 +0000)
texmf/envlab.sty [new file with mode: 0644]
texmf/ls-R
texmf/tex/latex/envlab.sty [new symlink]

diff --git a/texmf/envlab.sty b/texmf/envlab.sty
new file mode 100644 (file)
index 0000000..3d1db1e
--- /dev/null
@@ -0,0 +1,617 @@
+%%
+%% This is file `envlab.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% envlab.dtx  (with options: `package')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from envlab.sty.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file envlab.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\ProvidesPackage{envlab}
+[1997/07/16 v1.2 Envelopes and Labels]
+%%
+%% Copyright Boris Veytsman 1996, 1997
+%%
+%%
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+%% \changes{v1.2}{1996/07/16}{Updated User Guide}
+\NeedsTeXFormat{LaTeX2e}
+\def\envlab@oops{%
+  \PackageError{envlab}%
+  {Envlab is used outside of \MessageBreak%
+   a letter-compatible documentclass}%
+  {You are trying to use Envelopes & Labels\MessageBreak%
+   package, but your documentclass does not\MessageBreak%
+   understand address formatting commands.\MessageBreak%
+   Try standard document class letter\MessageBreak}}
+\def\envlab@ok{%
+  \PackageInfo{envlab}%
+  {Envelopes & Labels package: found makelabels...\MessageBreak%
+  Seems everything is OK. Good luck.}}
+\@ifundefined{makelabels}{\envlab@oops}{\envlab@ok}
+\newif\if@envelope
+\@envelopetrue
+\newif\if@biglabel
+\@biglabelfalse
+\newif\if@rotateenvelopes
+\@rotateenvelopestrue
+\newif\if@printreturnaddress
+\@printreturnaddresstrue
+\newcount\@envelopeposition
+\@envelopeposition=0\relax
+\newif\if@pswait
+\@pswaitfalse
+\newif\if@psautotray
+\@psautotrayfalse
+\newtoks\PSEnvelopeTray
+\PSEnvelopeTray={/otherenvelopetray }
+\newif\if@barcodes
+\newif\if@alwaysbarcodes
+\@barcodestrue
+\@alwaysbarcodesfalse
+\newif\if@EL@redefine@opening
+\@EL@redefine@openingfalse
+\newif\if@capitalizeaddress
+\@capitalizeaddresstrue
+\newlength{\EnvelopeWidth}
+\newlength{\EnvelopeHeight}
+\newlength{\EnvelopeTopMargin}
+\newlength{\EnvelopeLeftMargin}
+\setlength{\EnvelopeLeftMargin}{0pt}
+\newlength{\LabelWidth}
+\newlength{\LabelHeight}
+\newlength{\LabelTopMargin}
+\newlength{\LabelLeftMargin}
+\newlength{\LabelRightMargin}
+\newcounter{LabelMaxCol}
+\newcounter{LabelMaxRow}
+\newlength{\FromAddressTopMargin}
+\newlength{\FromAddressLeftMargin}
+\newlength{\FromAddressHeight}
+\newlength{\FromAddressWidth}
+\newlength{\ToAddressTopMargin}
+\newlength{\ToAddressLeftMargin}
+\newlength{\ToAddressWidth}
+\DeclareRobustCommand{\SetEnvelope}[3][0pt]{%
+  \@envelopetrue%
+  \@biglabelfalse%
+  \setlength{\EnvelopeTopMargin}{#1}%
+  \setlength{\EnvelopeWidth}{#2}%
+  \setlength{\EnvelopeHeight}{#3}%
+  \setlength{\FromAddressTopMargin}{0.5in}%
+  \setlength{\FromAddressLeftMargin}{0.5in}%
+  \setlength{\FromAddressHeight}{0.33\EnvelopeHeight}%
+  \setlength{\FromAddressWidth}{0.5\EnvelopeWidth}%
+  \setlength{\ToAddressTopMargin}{0.5in}%
+  \setlength{\ToAddressLeftMargin}{0.5in}%
+  \setlength{\ToAddressWidth}{3in}}
+\DeclareRobustCommand{\SetLabel}[7]{%
+  \@envelopefalse%
+  \@biglabelfalse%
+  \setlength{\LabelWidth}{#1}%
+  \setlength{\LabelHeight}{#2}%
+  \setlength{\LabelTopMargin}{#3}%
+  \setlength{\LabelLeftMargin}{#4}%
+  \setlength{\LabelRightMargin}{#5}%
+  \setcounter{LabelMaxCol}{#6}%
+  \setcounter{LabelMaxRow}{#7}%
+  \setlength{\ToAddressTopMargin}{0.1in}%
+  \setlength{\ToAddressLeftMargin}{0.2in}%
+  \setlength{\ToAddressWidth}{\LabelWidth}%
+  \addtolength{\ToAddressWidth}{-\ToAddressLeftMargin}%
+  \addtolength{\ToAddressWidth}{-\LabelRightMargin}}
+\DeclareRobustCommand{\SetBigLabel}[7]{%
+  \@envelopefalse%
+  \@biglabeltrue%
+  \setlength{\LabelWidth}{#1}%
+  \setlength{\LabelHeight}{#2}%
+  \setlength{\LabelTopMargin}{#3}%
+  \setlength{\LabelLeftMargin}{#4}%
+  \setlength{\LabelRightMargin}{#5}%
+  \setcounter{LabelMaxCol}{#6}%
+  \setcounter{LabelMaxRow}{#7}%
+  \setlength{\FromAddressTopMargin}{0.0in}%
+  \setlength{\FromAddressLeftMargin}{0.5in}%
+  \setlength{\FromAddressHeight}{0.33\LabelHeight}%
+  \setlength{\ToAddressTopMargin}{0.1in}%
+  \setlength{\ToAddressLeftMargin}{0.5in}%
+  \setlength{\ToAddressWidth}{\LabelWidth}%
+  \addtolength{\ToAddressWidth}{-\ToAddressLeftMargin}%
+  \addtolength{\ToAddressWidth}{-\LabelRightMargin}%
+  \setlength{\FromAddressWidth}{\ToAddressWidth}}
+\DeclareOption{businessenvelope}{\SetEnvelope{9.5in}{4.125in}%
+  \PSEnvelopeTray={/com10envelopetray }}
+\DeclareOption{executiveenvelope}{\SetEnvelope{7.5in}{3.875in}%
+  \PSEnvelopeTray={/monarcenvelopetray }}
+\DeclareOption{bookletenvelope}{\SetEnvelope{10.5in}{7.5in}}
+\DeclareOption{personalenvelope}{\SetEnvelope{6.5in}{3.625in}}
+\DeclareOption{c6envelope}{\SetEnvelope{162mm}{114mm}}
+\DeclareOption{c65envelope}{\SetEnvelope{224mm}{114mm}}
+\DeclareOption{c5envelope}{\SetEnvelope{229mm}{162mm}%
+  \PSEnvelopeTray={/162x229cenvelopetray }}
+\DeclareOption{dlenvelope}{\SetEnvelope{220mm}{110mm}%
+  \PSEnvelopeTray={/dlenvelopetray }}
+\DeclareOption{avery5160label}{%
+  \SetLabel{2.75in}{1in}{0.5in}{0.19in}{0.12in}{3}{10}}
+\DeclareOption{avery5161label}{%
+  \SetLabel{4.19in}{1in}{0.5in}{0.16in}{0.19in}{2}{10}}
+\DeclareOption{avery5162label}{%
+  \SetLabel{4.19in}{1.33in}{0.83in}{0.16in}{0.19in}{2}{7}}
+\DeclareOption{avery5163label}{%
+  \SetLabel{4.19in}{2in}{0.5in}{0.16in}{0.19in}{2}{5}}
+\DeclareOption{avery5164label}{%
+  \SetLabel{4.19in}{3.33in}{0.5in}{0.16in}{0.19in}{2}{3}}
+\DeclareOption{herma4625label}{%
+  \SetLabel{105mm}{42.3mm}{0mm}{5mm}{5mm}{2}{7}}
+\DeclareOption{avery5262label}{%
+  \SetLabel{110mm}{34mm}{21mm}{4mm}{5mm}{2}{7}}
+\DeclareOption{avery5163biglabel}{%
+  \SetBigLabel{4.19in}{2in}{0.5in}{0.16in}{0.19in}{2}{5}%
+  \setlength{\ToAddressTopMargin}{0.1in}}%
+\DeclareOption{avery5164biglabel}{%
+  \SetBigLabel{4.19in}{3.33in}{0.5in}{0.16in}{0.19in}{2}{3}}%
+\DeclareOption{rotateenvelopes}{\@rotateenvelopestrue}
+\DeclareOption{norotateenvelopes}{\@rotateenvelopesfalse}
+\DeclareOption{centerenvelopes}{\@envelopeposition=0\relax}
+\DeclareOption{leftenvelopes}{\@envelopeposition=1\relax}
+\DeclareOption{rightenvelopes}{\@envelopeposition=2\relax}
+\DeclareOption{customenvelopes}{\@envelopeposition=3\relax}
+\DeclareOption{printbarcodes}{\@barcodestrue}
+\DeclareOption{noprintbarcodes}{\@barcodesfalse\@alwaysbarcodesfalse}
+\DeclareOption{alwaysbarcodes}{\@alwaysbarcodestrue\@barcodestrue}
+\DeclareOption{noalwaysbarcodes}{\@alwaysbarcodesfalse}
+\DeclareOption{capaddress}{\@capitalizeaddresstrue}
+\DeclareOption{nocapaddress}{\@capitalizeaddressfalse}
+\DeclareOption{printreturnaddress}{\@printreturnaddresstrue}
+\DeclareOption{noprintreturnaddress}{\@printreturnaddressfalse}
+\DeclareOption{pswait}{\@pswaittrue\@psautotrayfalse}
+\DeclareOption{nopswait}{\@pswaitfalse}
+\DeclareOption{psautotray}{\@psautotraytrue\@pswaitfalse}
+\DeclareOption{nopsautotray}{\@psautotrayfalse}
+\DeclareOption{re}{\@EL@redefine@openingtrue}
+\DeclareOption{nore}{\@EL@redefine@openingfalse}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphics}}
+\ExecuteOptions{businessenvelope,rotateenvelopes,centerenvelopes}
+\ExecuteOptions{printbarcodes,capaddress}
+\ExecuteOptions{nopswait,printreturnaddress,nopsautotray,nore}
+\InputIfFileExists{envlab.cfg}{%
+  \typeout{Loading configuration file envlab.cfg}}{%
+  \typeout{Configuration file envlab.cfg is not found}}
+\ProcessOptions
+\IfFileExists{graphics.sty}{%
+  \RequirePackage{graphics}}{%
+  \PackageWarning{envlab}{%
+    You don't have the graphics package!\MessageBreak
+    Probably you will not be able to print\MessageBreak
+    envelopes sidewise. \MessageBreak}}
+\def\@beginlabelshook{\relax}
+\def\@beginlabelpagehook{\relax}
+\def\AtBeginLabels{\g@addto@macro\@beginlabelshook}
+\def\AtBeginLabelPage{\g@addto@macro\@beginlabelpagehook}
+\def\PSwait{\special{ps: clear grestore @manualfeed 0 0 bop}}
+\edef\PSautotray{%
+  \special{ps:clear grestore
+    statusdict begin false setduplexmode
+    /manualfeed true def
+    \the\PSEnvelopeTray end 0 0 bop }}
+\if@pswait
+  \AtBeginLabels{\PSwait}%
+\else
+  \if@psautotray
+    \AtBeginLabels{\PSautotray}%
+  \fi
+\fi
+\newcounter{LabelCountCol}
+\newcounter{LabelCountRow}
+\newcounter{LabelOffsetCol}
+\newcounter{LabelOffsetRow}
+\setcounter{LabelOffsetCol}{1}
+\setcounter{LabelOffsetRow}{1}
+\DeclareRobustCommand{\FirstLabel}[2]{%
+  \setcounter{LabelOffsetRow}{#1}%
+  \setcounter{LabelOffsetCol}{#2}}
+\def\@toaddressfont{%
+  \ifcase\@ptsize \large\or\normalsize\or\small\fi%
+  \sffamily\selectfont}
+\def\@fromaddressfont{%
+  \ifcase\@ptsize \normalsize\or\small\or\footnotesize\fi%
+  \normalfont}
+\def\returnaddress{\fromaddress}
+\def\startlabels{%
+  \clearpage%
+  \pagestyle{empty}%
+  \setlength{\topmargin}{-1.0in}%
+  \if@envelope%
+    \addtolength{\topmargin}{\EnvelopeTopMargin}%
+    \else \addtolength{\topmargin}{\LabelTopMargin}%
+  \fi%
+  \setlength{\headheight}{0pt}%
+  \setlength{\headsep}{0pt}%
+  \setlength{\footskip}{0pt}%
+  \setlength{\textheight}{200in}%
+  \setlength\paperheight{\textheight}%
+  \global\vsize=200in\relax%
+  \addtolength{\textheight}{-\topmargin}%
+  \addtolength{\textheight}{-1.0in}%
+  \setlength{\oddsidemargin}{-1.0in}%
+  \if@envelope\relax%
+  \else%
+     \addtolength{\oddsidemargin}{\LabelLeftMargin}%
+  \fi%
+  \setlength{\evensidemargin}{\oddsidemargin}%
+  \setlength{\textwidth}{20in}%
+  \hsize=20in%
+  \baselineskip=0pt%
+  \lineskip=0pt%
+  \parindent=0pt%
+  \if@envelope
+    \ifcase\the\@envelopeposition%
+      \setlength{\EnvelopeLeftMargin}{\paperwidth}%
+      \if@rotateenvelopes%
+        \addtolength{\EnvelopeLeftMargin}{-\EnvelopeHeight}%
+      \else%
+        \addtolength{\EnvelopeLeftMargin}{-\EnvelopeWidth}%
+      \fi%
+      \setlength{\EnvelopeLeftMargin}{0.5\EnvelopeLeftMargin}%
+    \or%
+      \setlength{\EnvelopeLeftMargin}{0pt}%
+    \or%
+      \setlength{\EnvelopeLeftMargin}{\paperwidth}%
+      \if@rotateenvelopes%
+        \addtolength{\EnvelopeLeftMargin}{-\EnvelopeHeight}%
+      \else%
+        \addtolength{\EnvelopeLeftMargin}{-\EnvelopeWidth}%
+      \fi%
+    \else%
+      \relax%
+    \fi%
+  \else%
+    \setcounter{LabelCountCol}{\theLabelOffsetCol}%
+    \setcounter{LabelCountRow}{\theLabelOffsetRow}%
+    \ifnum\theLabelOffsetRow>1%
+      \null%
+      \loop \vspace*{\LabelHeight}%
+        \addtocounter{LabelOffsetRow}{-1} \ifnum\theLabelOffsetRow>1%
+      \repeat%
+    \fi%
+    \ifnum\theLabelOffsetCol>1%
+      \loop \hspace*{\LabelWidth}\nolinebreak%
+        \addtocounter{LabelOffsetCol}{-1} \ifnum\theLabelOffsetCol>1%
+      \repeat%
+    \fi%
+    \nopagebreak%
+  \fi%
+  \spaceskip0pt\relax%
+  \xspaceskip 0pt\relax%
+  \clubpenalty=0%
+  \widowpenalty=0%
+  \raggedbottom%
+  \sloppy%
+  \setlength\hfuzz{5in}%
+  \setlength\vfuzz{5in}%
+  \ignorespaces%
+  \@beginlabelshook%
+  \@beginlabelpagehook%
+  \nopagebreak}%
+\newcommand{\PrintReturnAddress}[1]{%
+  \vspace*{\FromAddressTopMargin}
+  \null\hspace{\FromAddressLeftMargin}
+  \parbox[t][\FromAddressHeight]{\FromAddressWidth}%
+    {\@fromaddressfont \lineskip=1pt
+      \if@printreturnaddress #1\else\relax\fi}}
+\newcommand{\PrintAddress}[1]{%
+  \vspace*{\ToAddressTopMargin}
+  \leavevmode
+  \null\hspace*{\ToAddressLeftMargin}
+  \parbox[t]{\ToAddressWidth}{%
+    \lineskip=1pt
+    \if@barcodes \PrintBarCode{#1} \fi
+    \@toaddressfont
+    \if@capitalizeaddress \@make@capitalize{#1} \else #1 \fi}}
+\newcommand{\PrintLabel}[1]{%
+  \parbox[t][\LabelHeight]{\LabelWidth}{%
+    \PrintAddress{#1}}}
+\newcommand{\PrintBigLabel}[2]{%
+  \begin{minipage}[t][\LabelHeight]{\LabelWidth}%
+    \baselineskip=0pt%
+    \lineskip=0pt%
+    \parindent=0pt%
+    \begin{center}%
+      \PrintReturnAddress{#1}\\%
+      \rule{\ToAddressWidth}{0.1pt}%
+      \PrintAddress{#2}%
+    \end{center}%
+  \end{minipage}}
+\newcommand{\PrintEnvelope}[2]{%
+  \begin{minipage}[t][\EnvelopeHeight]{\EnvelopeWidth}%
+    \baselineskip=0pt%
+    \lineskip=0pt%
+    \parindent=0pt%
+    \PrintReturnAddress{#1}\\%
+    \begin{center}%
+      \PrintAddress{#2}%
+    \end{center}%
+  \end{minipage}}
+\newcommand{\@PrintEnvelope}[2]{%
+  \if@rotateenvelopes\rotatebox{90}{\PrintEnvelope{#1}{#2}}%
+  \else\PrintEnvelope{#1}{#2}%
+  \fi}
+\renewcommand{\mlabel}[2]{\ignorespaces%
+  \spaceskip 0pt\relax%
+  \xspaceskip 0pt\relax%
+  \if@envelope%
+    \leavevmode%
+    \hspace*{\EnvelopeLeftMargin}%
+    \@PrintEnvelope{#1}{#2}%
+    \clearpage%
+    \@beginlabelpagehook%
+  \else%
+    \ignorespaces%
+    \ifnum\theLabelCountCol>\theLabelMaxCol%
+      \\\nopagebreak%
+      \stepcounter{LabelCountRow}%
+      \setcounter{LabelCountCol}{1}%
+    \fi%
+    \ifnum\theLabelCountRow>\theLabelMaxRow%
+      \vfill\eject\@beginlabelpagehook%
+      \setcounter{LabelCountRow}{1}%
+      \setcounter{LabelCountCol}{1}%
+    \fi%
+    \if@biglabel%
+        \PrintBigLabel{#1}{#2}%
+    \else%
+        \PrintLabel{#2}%
+    \fi%
+    \ignorespaces\nolinebreak%
+    \stepcounter{LabelCountCol}%
+  \fi}%
+\newcount\@numreturnlabels
+\newcommand{\printreturnlabels}[2]{%
+  \@numreturnlabels=#1
+  \def\@toaddressfont{\@fromaddressfont}
+  \@capitalizeaddressfalse
+  \@barcodesfalse
+  \startlabels
+  \loop \mlabel{\relax}{#2} \advance\@numreturnlabels by -1
+    \ifnum\@numreturnlabels>0\repeat}
+\newcommand{\PrintBarCode}[1]{%
+  \@extractbarcode{#1}
+  \@printbarcode}
+\newtoks\@zipcode
+\newcount\@zipcodesum
+\newif\if@zipcodefound
+\long\def\@finishzipcode#1{}
+\long\def\@firstzipcode#1{%
+  \@zipcode{#1}
+  \@zipcodesum=#1\relax
+  \@zipcodefoundtrue
+  \@zipcodeloop}
+\long\def\@continuezipcode#1{%
+  \@zipcode=\expandafter{\the\@zipcode#1}
+  \advance\@zipcodesum by #1
+  \@zipcodeloop}
+\long\def\@dashzipcode#1{\@zipcodeloop}
+\def\@spacezipcode{%
+  \@zipcodefoundfalse
+  \afterassignment\@zipcodeloop\let\EL@temp= }
+\long\def\@abortzipcode#1{%
+  \@zipcodefoundfalse
+  \@zipcodeloop}
+\def\@zipcodeloop{\futurelet\EL@temp\@zipcodeloop@}
+\def\@zipcodeloop@{%
+  \ifx \@endaddress\EL@temp      \def\EL@tempa{\@finishzipcode}    \else
+  \ifx 0\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 1\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 2\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 3\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 4\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 5\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 6\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 7\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 8\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx 9\EL@temp \if@zipcodefound \def\EL@tempa{\@continuezipcode}
+               \else           \def\EL@tempa{\@firstzipcode} \fi \else
+  \ifx -\EL@temp \if@zipcodefound \def\EL@tempa{\@dashzipcode}
+               \else           \def\EL@tempa{\@abortzipcode} \fi \else
+  \ifx \@sptoken\EL@temp         \def\EL@tempa{\@spacezipcode}     \else
+                               \def\EL@tempa{\@abortzipcode}
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \EL@tempa}
+\long\def\@extractbarcode#1{%
+  \@zipcodefoundfalse
+  \@zipcodeloop#1\@endaddress
+  \if@alwaysbarcodes \@zipcodefoundtrue \fi
+  \if@zipcodefound
+    \ifnum\the\@zipcodesum>0
+      \loop \advance \@zipcodesum by -10 \ifnum\the\@zipcodesum>0
+      \repeat
+    \fi
+    \multiply\@zipcodesum by -1
+  \fi}
+\newlength{\@barcodewidth}
+\newlength{\@barcodeLheight}
+\newlength{\@barcodeSheight}
+\newlength{\@barcodeskip}
+\setlength{\@barcodewidth}{0.020in}
+\setlength{\@barcodeLheight}{0.125in}
+\setlength{\@barcodeSheight}{0.050in}
+\setlength{\@barcodeskip}{0.026in}
+\DeclareRobustCommand{\@barL}{%
+  \rule{\@barcodewidth}{\@barcodeLheight}\hspace{\@barcodeskip}}
+\DeclareRobustCommand{\@barS}{%
+  \rule{\@barcodewidth}{\@barcodeSheight}\hspace{\@barcodeskip}}
+\def\@printonezip#1{%
+  \ifx1#1\@barS\@barS\@barS\@barL\@barL\else
+  \ifx2#1\@barS\@barS\@barL\@barS\@barL\else
+  \ifx3#1\@barS\@barS\@barL\@barL\@barS\else
+  \ifx4#1\@barS\@barL\@barS\@barS\@barL\else
+  \ifx5#1\@barS\@barL\@barS\@barL\@barS\else
+  \ifx6#1\@barS\@barL\@barL\@barS\@barS\else
+  \ifx7#1\@barL\@barS\@barS\@barS\@barL\else
+  \ifx8#1\@barL\@barS\@barS\@barL\@barS\else
+  \ifx9#1\@barL\@barS\@barL\@barS\@barS\else
+  \ifx0#1\@barL\@barL\@barS\@barS\@barS\else
+  \ifx S#1\def\EL@tempa{\relax}%
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+  \EL@tempa}
+\def\@printbarcode{%
+  \if@zipcodefound
+   \mbox{%
+    \@barL%
+    \def\EL@tempa{\@printonezip}%
+    \expandafter\EL@tempa\the\@zipcode S%
+    \def\EL@tempa{\@printonezip}%
+    \expandafter\EL@tempa\the\@zipcodesum S%
+    \@barL}
+    \\[1ex]
+  \fi}
+\newtoks\@addr@cap
+\long\def\@finishaddrcap#1{}
+\long\def\@dotcommaaddrcap#1{%
+  \@addrcaploop}
+\long\def\@newlineaddrcap#1{%
+  \@addr@cap=\expandafter{\the\@addr@cap #1}
+  \@addrcaploop}
+\long\def\@bgroupaddrcap#1{%
+  \@addr@cap=\expandafter{\the\@addr@cap {\MakeUppercase{#1}}}
+  \@addrcaploop}
+\def\@spaceaddrcap{%
+  \@addr@cap=\expandafter{\the\@addr@cap\hspace{0.6em}}
+  \afterassignment\@addrcaploop\let\EL@temp= }
+\def\@otheraddrcap#1{%
+  \@addr@cap=\expandafter{\the\@addr@cap%
+     \MakeUppercase{#1}\kern1pt\relax}
+  \@addrcaploop}
+\def\@addrcaploop{\futurelet\EL@temp\@addrcaploop@}
+\def\@addrcaploop@{%
+  \ifx \@endaddress\EL@temp      \def\EL@tempa{\@finishaddrcap}    \else
+  \ifx .\EL@temp                 \def\EL@tempa{\@dotcommaaddrcap}  \else
+  \ifx ,\EL@temp                 \def\EL@tempa{\@dotcommaaddrcap}  \else
+  \ifx \voidb@x\EL@temp          \def\EL@tempa{\@dotcommaaddrcap}  \else
+  \ifx \unhbox\EL@temp            \def\EL@tempa{\@dotcommaaddrcap} \else
+  \ifx \\\EL@temp                \def\EL@tempa{\@newlineaddrcap}   \else
+  \ifx \bgroup\EL@temp           \def\EL@tempa{\@bgroupaddrcap}    \else
+  \ifx \@sptoken\EL@temp         \def\EL@tempa{\@spaceaddrcap}     \else
+                               \def\EL@tempa{\@otheraddrcap}
+  \fi\fi\fi\fi\fi\fi\fi\fi
+  \EL@tempa}
+\long\def\@make@capitalize#1{%
+  \@addr@cap={\relax}
+  \@addrcaploop#1\@endaddress
+  \the\@addr@cap}
+\let\@@mlabel=\@gobbletwo
+\AtEndDocument{\let\@@mlabel=\@mlabel}
+\def\suppresslabels{\if@filesw\immediate\write\@auxout{%
+  \string\@suppresslabels}\fi}
+\def\@suppresslabels{\let\@mlabel=\@gobbletwo}
+\def\resumelabels{\if@filesw\immediate\write\@auxout{%
+  \string\@resumelabels}\fi}
+\def\@resumelabels{\let\@mlabel=\@@mlabel}
+\def\suppressonelabel{\if@filesw\immediate\write\@auxout{%
+  \string\@suppressonelabel}\fi}
+\def\@suppressonelabel{\let\@old@mlabel=\@mlabel%
+  \def\@mlabel{%
+    \let\@mlabel=\@old@mlabel%
+    \@gobbletwo}}
+\def\printonelabel{\if@filesw\immediate\write\@auxout{%
+  \string\@printonelabel}\fi}
+\def\@printonelabel{\let\@old@mlabel=\@mlabel%
+  \def\@mlabel{%
+    \let\@mlabel=\@old@mlabel%
+    \@@mlabel}}
+\def\ChangeEnvelope{\@ifstar{\@ChangeEnvelopeStar}{\@ChangeEnvelope}}
+\newcommand\@ChangeEnvelopeStar[3][0pt]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetEnvelope[#1]{#2}{#3}}%
+   \fi}
+\newcommand\@ChangeEnvelope[3][0pt]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetEnvelope[#1]{#2}{#3}}
+     \immediate\write\@auxout{\string\@startlabels}
+  \fi}
+\def\@SetEnvelope[#1]#2#3{}
+\AtEndDocument{\let\@SetEnvelope=\SetEnvelope}
+\def\ChangeLabel{\@ifstar{\@ChangeLabelStar}{\@ChangeLabel}}
+\newcommand\@ChangeLabelStar[7]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetLabel{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
+   \fi}
+\newcommand\@ChangeLabel[7]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetLabel{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
+     \immediate\write\@auxout{\string\@startlabels}
+  \fi}
+\def\@SetLabel#1#2#3#4#5#6#7{}
+\AtEndDocument{\let\@SetLabel=\SetLabel}
+\def\ChangeBigLabel{\@ifstar{\@ChangeBigLabelStar}{\@ChangeBigLabel}}
+\newcommand\@ChangeBigLabelStar[7]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetBigLabel{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
+   \fi}
+\newcommand\@ChangeBigLabel[7]{%
+  \if@filesw\immediate\write\@auxout{%
+       \string\@SetBigLabel{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
+     \immediate\write\@auxout{\string\@startlabels}
+  \fi}
+\def\@SetBigLabel#1#2#3#4#5#6#7{}
+\AtEndDocument{\let\@SetBigLabel=\SetBigLabel}
+\if@EL@redefine@opening
+  \newcommand*{\re}[1]{\def\recontents{#1}}%
+  \def\ReName{Re: }%
+  \renewcommand*{\opening}[1]{\ifx\@empty\fromaddress
+    \thispagestyle{firstpage}%
+      {\raggedleft\@date\par}%
+    \else  % home address
+      \thispagestyle{empty}%
+      {\raggedleft\begin{tabular}{l}\ignorespaces
+          \fromaddress \\*[2\parskip]%
+          \@date \end{tabular}\par}%
+    \fi
+    \vspace{2\parskip}%
+    {\raggedright \toname \\ \toaddress \par}%
+    \ifx\@empty\recontents\relax
+    \else
+       {\raggedright \ReName \recontents \par}%
+    \fi
+    \vspace{2\parskip}%
+    #1\par\nobreak}%
+\fi
+\endinput
+%%
+%% End of file `envlab.sty'.
index 83aab1014351db2c3a114e8665a98b9c29ec2450..d549b8827e24998e6b567e7b9ad9091268f00560 100644 (file)
@@ -3,6 +3,7 @@
 .:
 aliases
 bibtex
+envlab.sty
 fonts
 invoice.def
 invoice.sty
@@ -274,7 +275,6 @@ tfm.svn-base
 prop-base
 props
 text-base
-tfm.tmp
 wcprops
 
 ./fonts/.svn/tmp/prop-base:
@@ -647,6 +647,7 @@ latex
 
 ./tex/latex:
 curve.cls
+envlab.sty
 exam.cls
 invoice.def
 invoice.sty
@@ -665,18 +666,22 @@ tmp
 wcprops
 
 ./tex/latex/.svn/prop-base:
+curve.cls.svn-base
 exam.cls.svn-base
 invoice.def.svn-base
 invoice.sty.svn-base
 realcalc.tex.svn-base
 
 ./tex/latex/.svn/props:
+curve.cls.svn-work
+envlab.sty.svn-work
 exam.cls.svn-work
 invoice.def.svn-work
 invoice.sty.svn-work
 realcalc.tex.svn-work
 
 ./tex/latex/.svn/text-base:
+curve.cls.svn-base
 exam.cls.svn-base
 invoice.def.svn-base
 invoice.sty.svn-base
diff --git a/texmf/tex/latex/envlab.sty b/texmf/tex/latex/envlab.sty
new file mode 120000 (symlink)
index 0000000..fc999d1
--- /dev/null
@@ -0,0 +1 @@
+../../envlab.sty
\ No newline at end of file