summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/labels
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:57:42 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:57:42 +0000
commit39954b7d20c0443c2abddc3559894b0465115ace (patch)
tree38698e14a0781236c698cd4b0b6002fdf13b8794 /Master/texmf-dist/tex/latex/labels
parent31b4be8b38b88b3decc0a6533fee4b7ce520391f (diff)
labels
git-svn-id: svn://tug.org/texlive/trunk@1022 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/labels')
-rw-r--r--Master/texmf-dist/tex/latex/labels/labels.sty317
-rw-r--r--Master/texmf-dist/tex/latex/labels/olabels.sty320
2 files changed, 637 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/labels/labels.sty b/Master/texmf-dist/tex/latex/labels/labels.sty
new file mode 100644
index 00000000000..17f1d25496d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/labels/labels.sty
@@ -0,0 +1,317 @@
+%%
+%% This is file `labels.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% labels.dtx (with options: `package')
+%% Originally copyright (C) 1993-1994-1995-1998 by Sebastian Rahtz
+%% and Grant Gustafson
+%% Copyright (C) 2002-2003 by Julian Gilbey <jdg@debian.org>
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% This program consists of the files labels.dtx and labels.ins
+%% together with the generated files labels.sty and olabels.sty.
+%%
+%% File: labels.dtx
+%% Originally copyright (C) 1993-1994-1995-1998 by Sebastian Rahtz
+%% and Grant Gustafson
+%% Copyright (C) 2002-2003 by Julian Gilbey <jdg@debian.org>
+\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{labels}[2003/05/22 v.13]
+\newif\iflabel@traddimens
+\label@traddimenstrue
+\DeclareOption{newdimens}{\label@traddimensfalse}
+\ProcessOptions
+\newcount\LabelCols
+\newcount\LabelRows
+\iflabel@traddimens
+ \newdimen\LeftBorder
+ \newdimen\RightBorder
+ \newdimen\TopBorder
+ \newdimen\BottomBorder
+\else
+ \newdimen\LeftPageMargin
+ \newdimen\RightPageMargin
+ \newdimen\TopPageMargin
+ \newdimen\BottomPageMargin
+ \newdimen\InterLabelColumn
+ \newdimen\InterLabelRow
+ \newdimen\LeftLabelBorder
+ \newdimen\RightLabelBorder
+ \newdimen\TopLabelBorder
+ \newdimen\BottomLabelBorder
+\fi
+\newcount\numberoflabels
+\newdimen\label@width
+\newdimen\label@height
+\newdimen\area@width
+\newdimen\area@height
+\newdimen\half@label
+\newdimen\half@area
+\newdimen\addr@width
+\newdimen\LabTmp
+\newsavebox\this@label
+\newcount\label@number
+\newcount\skip@labels
+\newcount\l@so@far
+\newcount\LabelTotal
+\newif\ifLabelGrid
+\newif\iffirst@label
+\newif\ifLabelInfo
+\first@labeltrue
+\LabelGridfalse
+\LabelInfofalse
+\ifdim\paperwidth=210mm\relax%
+ \LabelCols=3\relax\LabelRows=8\relax% a4paper
+\else
+ \LabelCols=3\relax\LabelRows=7\relax% letterpaper
+\fi%
+\iflabel@traddimens
+ \LeftBorder=8mm
+ \RightBorder=8mm
+ \TopBorder=9mm
+ \BottomBorder=2mm
+\else
+ \LeftPageMargin=4mm
+ \RightPageMargin=4mm
+ \TopPageMargin=5mm
+ \BottomPageMargin=5mm
+ \InterLabelColumn=0mm
+ \InterLabelRow=0mm
+ \LeftLabelBorder=5mm
+ \RightLabelBorder=5mm
+ \TopLabelBorder=4mm
+ \BottomLabelBorder=4mm
+\fi
+\textwidth=\paperwidth
+\textheight=\paperheight
+\topmargin=-1in
+\headheight=0em
+\headsep=0em
+\topskip=0em
+\footskip=0em
+\oddsidemargin=-1in
+\evensidemargin=-1in
+\pagestyle{empty}
+\parindent=0em
+\parskip=0pt
+\iflabel@traddimens
+\def\@LabelSetup{%
+ \global\label@width\textwidth
+ \global\divide\label@width by\LabelCols
+ \global\label@height\textheight
+ \global\advance\label@height by-\TopBorder
+ \global\advance\label@height by-\BottomBorder
+ \global\divide\label@height by\LabelRows
+ \global\topmargin=-1in\global\advance\topmargin by\TopBorder
+ \global\area@width=\label@width
+ \global\advance\area@width by -\LeftBorder
+ \global\advance\area@width by -\RightBorder
+ \ifLabelGrid%
+ \global\advance\area@width by-2\fboxsep
+ \global\advance\area@width by-2\fboxrule
+ \fi
+ \ifLabelGrid
+ \global\advance\label@height by-2\fboxsep
+ \global\advance\label@height by-2\fboxrule
+ \fi
+ \global\half@label=\label@height\divide\half@label by2\relax
+ \global\label@number=1\relax
+}
+\else
+\def\@LabelSetup{%
+ \global\label@width\textwidth
+ \global\advance\label@width by-\LeftPageMargin
+ \global\advance\label@width by-\RightPageMargin
+ \global\advance\label@width by-\LabelCols\InterLabelColumn
+ \global\advance\label@width by\InterLabelColumn
+ \global\divide\label@width by\LabelCols
+ \ifdim\label@width<0pt
+ \PackageWarning{labels}{Some dimensions are silly: label width
+ \the\label@width~is negative!}
+ \label@width=0pt
+ \fi
+ \global\label@height\textheight
+ \global\advance\label@height by-\TopPageMargin
+ \global\advance\label@height by-\BottomPageMargin
+ \global\advance\label@height by-\LabelRows\InterLabelRow
+ \global\advance\label@height by\InterLabelRow
+ \global\divide\label@height by\LabelRows
+ \ifdim\label@height<0pt
+ \PackageWarning{labels}{Some dimensions are silly: label height
+ \the\label@height~is negative!}
+ \label@height=0pt
+ \fi
+ \global\topmargin=-1in\global\advance\topmargin by\TopPageMargin
+ \global\oddsidemargin=-1in\global\advance\oddsidemargin by\LeftPageMargin
+ \global\evensidemargin=\oddsidemargin
+ \global\area@width=\label@width
+ \global\advance\area@width by -\LeftLabelBorder
+ \global\advance\area@width by -\RightLabelBorder
+ \global\area@height=\label@height
+ \global\advance\area@height by -\TopLabelBorder
+ \global\advance\area@height by -\BottomLabelBorder
+ \global\half@label=\label@height\divide\half@label by 2\relax
+ \global\half@area=\area@height\divide\half@area by 2\relax
+ \global\label@number=1\relax
+}
+\fi
+\def\LabelSetup{\@LabelSetup
+\ifLabelInfo
+ \typeout{Control sequences adjustable in the preamble:}
+ \typeout{\LabelRows=\the\LabelRows}
+ \typeout{\LabelCols=\the\LabelCols}
+ \iflabel@traddimens
+ \typeout{The newdimens option was not selected; the used parameters are:}
+ \TypeoutBlurb{\TopBorder}{\TopBorder}
+ \TypeoutBlurb{\BottomBorder}{\BottomBorder}
+ \TypeoutBlurb{\LeftBorder}{\LeftBorder}
+ \TypeoutBlurb{\RightBorder}{\RightBorder}
+ \else
+ \typeout{The newdimens option was selected; the used parameters are:}
+ \TypeoutBlurb{\TopPageMargin}{\TopPageMargin}
+ \TypeoutBlurb{\BottomPageMargin}{\BottomPageMargin}
+ \TypeoutBlurb{\LeftPageMargin}{\LeftPageMargin}
+ \TypeoutBlurb{\RightPageMargin}{\RightPageMargin}
+ \TypeoutBlurb{\InterLabelColumn}{\InterLabelColumn}
+ \TypeoutBlurb{\InterLabelRow}{\InterLabelRow}
+ \TypeoutBlurb{\TopLabelBorder}{\TopLabelBorder}
+ \TypeoutBlurb{\BottomLabelBorder}{\BottomLabelBorder}
+ \TypeoutBlurb{\LeftLabelBorder}{\LeftLabelBorder}
+ \TypeoutBlurb{\RightLabelBorder}{\RightLabelBorder}
+ \fi
+ \typeout{Computed values:}
+ \TypeoutBlurb{Label Width}{\label@width}
+ \TypeoutBlurb{Label Height}{\label@height}
+\else
+ \typeout{To print info, put `\protect\LabelInfotrue' in the preamble}
+\fi
+}
+\numberoflabels=1%
+\def\sticky@label{\l@so@far=0%
+ \loop\ifnum\l@so@far<\numberoflabels\advance\l@so@far by 1\make@label%
+ \repeat}
+\def\make@label{%
+ \ifnum\LabelTotal=0\vfill\eject\LabelTotal=\LabelRows\relax
+ \multiply\LabelTotal by \LabelCols\fi
+ \advance\LabelTotal by -1\relax
+ \ifLabelGrid
+ \let\boxing@type\framebox
+ \else
+ \let\boxing@type\makebox
+ \fi
+ \settowidth{\LabTmp}{\usebox{\this@label}}%
+ \ifdim\LabTmp=0cm\let\action=\relax\else\let\action=\BuildB@x\fi
+ %\TypeoutBlurb{Box Width}{\LabTmp}%
+ \advance\LabTmp by -\area@width
+ \ifdim\LabTmp>0cm\relax
+ \PkgBlurb{Label too wide}{\LabTmp}\fi
+ \settoheight{\LabTmp}%
+ {\begin{tabular}{l}\usebox{\this@label}\end{tabular}}%
+ %\TypeoutBlurb{Box height}{\LabTmp}%
+ \iflabel@traddimens\advance\LabTmp by -\half@label
+ \else\advance\LabTmp by -\half@area\fi
+ \ifdim\LabTmp>0cm\relax
+ \LabTmp=2\LabTmp\PkgBlurb{Label too tall}{\LabTmp}\fi
+ \ifnum\skip@labels<\sk@pped\let\action=\BuildB@x\fi
+ \action
+}
+\def\BuildB@x{%
+ \iflabel@traddimens
+ \boxing@type[\label@width][c]{%
+ \rule{0pt}{\label@height}%
+ \raisebox{\half@label}[0pt][0pt]{%
+ \rule{\LeftBorder}{0pt}%
+ \usebox{\this@label}%
+ \rule{\RightBorder}{0pt}%
+ }}%
+ \else
+ \begingroup
+ \fboxsep=-\fboxrule
+ \boxing@type{%
+ \vbox to \label@height{%
+ \vskip\TopLabelBorder
+ \vss
+ \hbox to \label@width{%
+ \hskip\LeftLabelBorder
+ \usebox{\this@label}%
+ \hss
+ }%
+ \vss
+ \vskip\BottomLabelBorder
+ }%
+ }%
+ \endgroup
+ \fi
+ \ifnum\skip@labels<\sk@pped\message{x}\else\message{+}\fi
+ \ifnum\label@number=\LabelCols
+ \message{|}%
+ \endgraf\nointerlineskip
+ \iflabel@traddimens\else\vskip\InterLabelRow\fi
+ \global\label@number=1
+ \else\global\advance\label@number by 1
+ \iflabel@traddimens\else\hskip\InterLabelColumn\fi
+ \fi
+}
+\newcount\@Milli
+\def\ToMilli#1{\@Milli=#1\advance\@Milli by93225\relax
+\divide\@Milli by 186450\relax}
+\def\PkgBlurb#1#2{\ToMilli{#2}%
+ \PackageWarning{labels}{#1 by \the\@Milli mm (\the #2)}%
+}
+\def\TypeoutBlurb#1#2{\ToMilli{#2}%
+ \typeout{#1=\the\@Milli mm (\the #2)}%
+}
+\newcommand{\genericlabel}[1]{%
+ \iffirst@label\LabelSetup\first@labelfalse\fi%
+ \savebox{\this@label}{#1}\sticky@label\@gobblecr}
+\long\def\L@dblarg#1{\@ifnextchar[{#1}{\L@xdblarg{#1}}}
+\long\def\L@xdblarg#1#2{#1[]{#2}}
+\long\def\addresslabel{\L@dblarg{\@addresslabel}}
+\long\def\@addresslabel[#1]#2{\genericlabel{#1%
+ \begin{tabular}{@{}p{\area@width}@{}}\raggedright #2\end{tabular}}}
+\long\def\boxedaddresslabel{\L@dblarg{\@boxedaddresslabel}}
+\long\def\@boxedaddresslabel[#1]#2{\genericlabel{#1%
+ \addr@width=\area@width\advance\addr@width by-2\fboxsep%
+ \advance\addr@width by-2\fboxrule\fbox{%
+ \begin{tabular}{@{}p{\addr@width}@{}}\raggedright #2\end{tabular}}}}
+\long\def\labels
+ {\iffirst@label\LabelSetup\first@labelfalse\fi\start@@label}
+\def\endlabels{\end@@label}
+\def\start@@label{%
+ \begin{lrbox}{\this@label}%
+ \begin{minipage}{\area@width}\raggedright%
+ \catcode `\^^M =\active\@gobblecr%
+}
+\def\end@@label{%
+ \end{minipage}\end{lrbox}%
+ \sticky@label}
+\def\start@newline{\mbox{}\expandafter\newline}%
+\def\new@label{\end@@label\start@@label}%
+\catcode `\^^M = \active%
+\def ^^M{\futurelet\nexttoken\isitapar}%
+\def\isitapar{\ifx^^M\nexttoken\let\action=\new@label\else%
+ \let\action\start@newline\fi\action}%
+\catcode `\^^M = 5\relax%
+\def\labelfile#1{\begin{labels}\input#1\end{labels}}
+\def\promptlabels{\typein[\labelfilename]{What is the name of the
+ label file?}
+ \labelfile{\labelfilename}}
+\newcount\sk@pped
+\def\skiplabels#1{\sk@pped=#1%
+ \savebox{\this@label}{\rule{0pt}{.5in}}%
+ \skip@labels=0\relax
+ \loop\ifnum\skip@labels<\sk@pped\make@label%
+ \advance\skip@labels by 1\relax\repeat}
+\endinput
+%%
+%% End of file `labels.sty'.
diff --git a/Master/texmf-dist/tex/latex/labels/olabels.sty b/Master/texmf-dist/tex/latex/labels/olabels.sty
new file mode 100644
index 00000000000..74776abfaaa
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/labels/olabels.sty
@@ -0,0 +1,320 @@
+%%
+%% This is file `olabels.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% labels.dtx (with options: `package,latex209')
+%% Originally copyright (C) 1993-1994-1995-1998 by Sebastian Rahtz
+%% and Grant Gustafson
+%% Copyright (C) 2002-2003 by Julian Gilbey <jdg@debian.org>
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% This program consists of the files labels.dtx and labels.ins
+%% together with the generated files labels.sty and olabels.sty.
+%%
+%% File: labels.dtx
+%% Originally copyright (C) 1993-1994-1995-1998 by Sebastian Rahtz
+%% and Grant Gustafson
+%% Copyright (C) 2002-2003 by Julian Gilbey <jdg@debian.org>
+\NeedsTeXFormat{LaTeX2e}
+\newdimen\paperwidth
+\paperwidth=8.5in% 297mm for a4paper
+\newdimen\paperheight
+\paperheight=11in% 210mm for a4paper
+\def\settoheight#1#2{\setbox\@tempboxa%
+ \hbox{#2}#1\ht\@tempboxa\setbox\@tempboxa\box\voidb@x}
+\def\PackageWarning#1#2{\typeout{#1: #2}}
+\newif\iflabel@traddimens
+\label@traddimenstrue
+\newcount\LabelCols
+\newcount\LabelRows
+\iflabel@traddimens
+ \newdimen\LeftBorder
+ \newdimen\RightBorder
+ \newdimen\TopBorder
+ \newdimen\BottomBorder
+\else
+ \newdimen\LeftPageMargin
+ \newdimen\RightPageMargin
+ \newdimen\TopPageMargin
+ \newdimen\BottomPageMargin
+ \newdimen\InterLabelColumn
+ \newdimen\InterLabelRow
+ \newdimen\LeftLabelBorder
+ \newdimen\RightLabelBorder
+ \newdimen\TopLabelBorder
+ \newdimen\BottomLabelBorder
+\fi
+\newcount\numberoflabels
+\newdimen\label@width
+\newdimen\label@height
+\newdimen\area@width
+\newdimen\area@height
+\newdimen\half@label
+\newdimen\half@area
+\newdimen\addr@width
+\newdimen\LabTmp
+\newsavebox\this@label
+\newcount\label@number
+\newcount\skip@labels
+\newcount\l@so@far
+\newcount\LabelTotal
+\newif\ifLabelGrid
+\newif\iffirst@label
+\newif\ifLabelInfo
+\first@labeltrue
+\LabelGridfalse
+\LabelInfofalse
+\ifdim\paperwidth=210mm\relax%
+ \LabelCols=3\relax\LabelRows=8\relax% a4paper
+\else
+ \LabelCols=3\relax\LabelRows=7\relax% letterpaper
+\fi%
+\iflabel@traddimens
+ \LeftBorder=8mm
+ \RightBorder=8mm
+ \TopBorder=9mm
+ \BottomBorder=2mm
+\else
+ \LeftPageMargin=4mm
+ \RightPageMargin=4mm
+ \TopPageMargin=5mm
+ \BottomPageMargin=5mm
+ \InterLabelColumn=0mm
+ \InterLabelRow=0mm
+ \LeftLabelBorder=5mm
+ \RightLabelBorder=5mm
+ \TopLabelBorder=4mm
+ \BottomLabelBorder=4mm
+\fi
+\textwidth=\paperwidth
+\textheight=\paperheight
+\topmargin=-1in
+\headheight=0em
+\headsep=0em
+\topskip=0em
+\footskip=0em
+\oddsidemargin=-1in
+\evensidemargin=-1in
+\pagestyle{empty}
+\parindent=0em
+\parskip=0pt
+\iflabel@traddimens
+\def\@LabelSetup{%
+ \global\label@width\textwidth
+ \global\divide\label@width by\LabelCols
+ \global\label@height\textheight
+ \global\advance\label@height by-\TopBorder
+ \global\advance\label@height by-\BottomBorder
+ \global\divide\label@height by\LabelRows
+ \global\topmargin=-1in\global\advance\topmargin by\TopBorder
+ \global\area@width=\label@width
+ \global\advance\area@width by -\LeftBorder
+ \global\advance\area@width by -\RightBorder
+ \ifLabelGrid%
+ \global\advance\area@width by-2\fboxsep
+ \global\advance\area@width by-2\fboxrule
+ \fi
+ \ifLabelGrid
+ \global\advance\label@height by-2\fboxsep
+ \global\advance\label@height by-2\fboxrule
+ \fi
+ \global\half@label=\label@height\divide\half@label by2\relax
+ \global\label@number=1\relax
+}
+\else
+\def\@LabelSetup{%
+ \global\label@width\textwidth
+ \global\advance\label@width by-\LeftPageMargin
+ \global\advance\label@width by-\RightPageMargin
+ \global\advance\label@width by-\LabelCols\InterLabelColumn
+ \global\advance\label@width by\InterLabelColumn
+ \global\divide\label@width by\LabelCols
+ \ifdim\label@width<0pt
+ \PackageWarning{labels}{Some dimensions are silly: label width
+ \the\label@width~is negative!}
+ \label@width=0pt
+ \fi
+ \global\label@height\textheight
+ \global\advance\label@height by-\TopPageMargin
+ \global\advance\label@height by-\BottomPageMargin
+ \global\advance\label@height by-\LabelRows\InterLabelRow
+ \global\advance\label@height by\InterLabelRow
+ \global\divide\label@height by\LabelRows
+ \ifdim\label@height<0pt
+ \PackageWarning{labels}{Some dimensions are silly: label height
+ \the\label@height~is negative!}
+ \label@height=0pt
+ \fi
+ \global\topmargin=-1in\global\advance\topmargin by\TopPageMargin
+ \global\oddsidemargin=-1in\global\advance\oddsidemargin by\LeftPageMargin
+ \global\evensidemargin=\oddsidemargin
+ \global\area@width=\label@width
+ \global\advance\area@width by -\LeftLabelBorder
+ \global\advance\area@width by -\RightLabelBorder
+ \global\area@height=\label@height
+ \global\advance\area@height by -\TopLabelBorder
+ \global\advance\area@height by -\BottomLabelBorder
+ \global\half@label=\label@height\divide\half@label by 2\relax
+ \global\half@area=\area@height\divide\half@area by 2\relax
+ \global\label@number=1\relax
+}
+\fi
+\def\LabelSetup{\@LabelSetup
+\ifLabelInfo
+ \typeout{Control sequences adjustable in the preamble:}
+ \typeout{\LabelRows=\the\LabelRows}
+ \typeout{\LabelCols=\the\LabelCols}
+ \iflabel@traddimens
+ \typeout{The newdimens option was not selected; the used parameters are:}
+ \TypeoutBlurb{\TopBorder}{\TopBorder}
+ \TypeoutBlurb{\BottomBorder}{\BottomBorder}
+ \TypeoutBlurb{\LeftBorder}{\LeftBorder}
+ \TypeoutBlurb{\RightBorder}{\RightBorder}
+ \else
+ \typeout{The newdimens option was selected; the used parameters are:}
+ \TypeoutBlurb{\TopPageMargin}{\TopPageMargin}
+ \TypeoutBlurb{\BottomPageMargin}{\BottomPageMargin}
+ \TypeoutBlurb{\LeftPageMargin}{\LeftPageMargin}
+ \TypeoutBlurb{\RightPageMargin}{\RightPageMargin}
+ \TypeoutBlurb{\InterLabelColumn}{\InterLabelColumn}
+ \TypeoutBlurb{\InterLabelRow}{\InterLabelRow}
+ \TypeoutBlurb{\TopLabelBorder}{\TopLabelBorder}
+ \TypeoutBlurb{\BottomLabelBorder}{\BottomLabelBorder}
+ \TypeoutBlurb{\LeftLabelBorder}{\LeftLabelBorder}
+ \TypeoutBlurb{\RightLabelBorder}{\RightLabelBorder}
+ \fi
+ \typeout{Computed values:}
+ \TypeoutBlurb{Label Width}{\label@width}
+ \TypeoutBlurb{Label Height}{\label@height}
+\else
+ \typeout{To print info, put `\protect\LabelInfotrue' in the preamble}
+\fi
+}
+\numberoflabels=1%
+\def\sticky@label{\l@so@far=0%
+ \loop\ifnum\l@so@far<\numberoflabels\advance\l@so@far by 1\make@label%
+ \repeat}
+\def\make@label{%
+ \ifnum\LabelTotal=0\vfill\eject\LabelTotal=\LabelRows\relax
+ \multiply\LabelTotal by \LabelCols\fi
+ \advance\LabelTotal by -1\relax
+ \ifLabelGrid
+ \let\boxing@type\framebox
+ \else
+ \let\boxing@type\makebox
+ \fi
+ \settowidth{\LabTmp}{\usebox{\this@label}}%
+ \ifdim\LabTmp=0cm\let\action=\relax\else\let\action=\BuildB@x\fi
+ %\TypeoutBlurb{Box Width}{\LabTmp}%
+ \advance\LabTmp by -\area@width
+ \ifdim\LabTmp>0cm\relax
+ \PkgBlurb{Label too wide}{\LabTmp}\fi
+ \settoheight{\LabTmp}%
+ {\begin{tabular}{l}\usebox{\this@label}\end{tabular}}%
+ %\TypeoutBlurb{Box height}{\LabTmp}%
+ \iflabel@traddimens\advance\LabTmp by -\half@label
+ \else\advance\LabTmp by -\half@area\fi
+ \ifdim\LabTmp>0cm\relax
+ \LabTmp=2\LabTmp\PkgBlurb{Label too tall}{\LabTmp}\fi
+ \ifnum\skip@labels<\sk@pped\let\action=\BuildB@x\fi
+ \action
+}
+\def\BuildB@x{%
+ \iflabel@traddimens
+ \boxing@type[\label@width][c]{%
+ \rule{0pt}{\label@height}%
+ \raisebox{\half@label}[0pt][0pt]{%
+ \rule{\LeftBorder}{0pt}%
+ \usebox{\this@label}%
+ \rule{\RightBorder}{0pt}%
+ }}%
+ \else
+ \begingroup
+ \fboxsep=-\fboxrule
+ \boxing@type{%
+ \vbox to \label@height{%
+ \vskip\TopLabelBorder
+ \vss
+ \hbox to \label@width{%
+ \hskip\LeftLabelBorder
+ \usebox{\this@label}%
+ \hss
+ }%
+ \vss
+ \vskip\BottomLabelBorder
+ }%
+ }%
+ \endgroup
+ \fi
+ \ifnum\skip@labels<\sk@pped\message{x}\else\message{+}\fi
+ \ifnum\label@number=\LabelCols
+ \message{|}%
+ \endgraf\nointerlineskip
+ \iflabel@traddimens\else\vskip\InterLabelRow\fi
+ \global\label@number=1
+ \else\global\advance\label@number by 1
+ \iflabel@traddimens\else\hskip\InterLabelColumn\fi
+ \fi
+}
+\newcount\@Milli
+\def\ToMilli#1{\@Milli=#1\advance\@Milli by93225\relax
+\divide\@Milli by 186450\relax}
+\def\PkgBlurb#1#2{\ToMilli{#2}%
+ \PackageWarning{labels}{#1 by \the\@Milli mm (\the #2)}%
+}
+\def\TypeoutBlurb#1#2{\ToMilli{#2}%
+ \typeout{#1=\the\@Milli mm (\the #2)}%
+}
+\newcommand{\genericlabel}[1]{%
+ \iffirst@label\LabelSetup\first@labelfalse\fi%
+ \savebox{\this@label}{#1}\sticky@label\@gobblecr}
+\long\def\L@dblarg#1{\@ifnextchar[{#1}{\L@xdblarg{#1}}}
+\long\def\L@xdblarg#1#2{#1[]{#2}}
+\long\def\addresslabel{\L@dblarg{\@addresslabel}}
+\long\def\@addresslabel[#1]#2{\genericlabel{#1%
+ \begin{tabular}{@{}p{\area@width}@{}}\raggedright #2\end{tabular}}}
+\long\def\boxedaddresslabel{\L@dblarg{\@boxedaddresslabel}}
+\long\def\@boxedaddresslabel[#1]#2{\genericlabel{#1%
+ \addr@width=\area@width\advance\addr@width by-2\fboxsep%
+ \advance\addr@width by-2\fboxrule\fbox{%
+ \begin{tabular}{@{}p{\addr@width}@{}}\raggedright #2\end{tabular}}}}
+\long\def\labels
+ {\iffirst@label\LabelSetup\first@labelfalse\fi\start@@label}
+\def\endlabels{\end@@label}
+\def\start@@label{%
+ \begin{lrbox}{\this@label}%
+ \begin{minipage}{\area@width}\raggedright%
+ \catcode `\^^M =\active\@gobblecr%
+}
+\def\end@@label{%
+ \end{minipage}\end{lrbox}%
+ \sticky@label}
+\def\start@newline{\mbox{}\expandafter\newline}%
+\def\new@label{\end@@label\start@@label}%
+\catcode `\^^M = \active%
+\def ^^M{\futurelet\nexttoken\isitapar}%
+\def\isitapar{\ifx^^M\nexttoken\let\action=\new@label\else%
+ \let\action\start@newline\fi\action}%
+\catcode `\^^M = 5\relax%
+\def\labelfile#1{\begin{labels}\input#1\end{labels}}
+\def\promptlabels{\typein[\labelfilename]{What is the name of the
+ label file?}
+ \labelfile{\labelfilename}}
+\newcount\sk@pped
+\def\skiplabels#1{\sk@pped=#1%
+ \savebox{\this@label}{\rule{0pt}{.5in}}%
+ \skip@labels=0\relax
+ \loop\ifnum\skip@labels<\sk@pped\make@label%
+ \advance\skip@labels by 1\relax\repeat}
+\endinput
+%%
+%% End of file `olabels.sty'.