%% %% This is file `eqparbox.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% eqparbox.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 2004 Scott Pakin %% ------------------------------------------------------- %% %% This package 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. %% %% File: eqparbox.dtx Copyright (C) 2004 Scott Pakin \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{eqparbox} [2004/08/02 v2.1 Create equal-widthed parboxes] \newlength{\eqp@tempdima} \newlength{\eqp@tempdimb} \def\eqp@taglist{} \newif\ifeqp@must@rerun \AtEndDocument{% \begingroup \def\@elt#1{% \eqp@tempdima\csname eqp@this@#1\endcsname\relax \eqp@tempdimb\csname eqp@next@#1\endcsname\relax \ifdim\eqp@tempdima=\eqp@tempdimb \else \@latex@warning@no@line{Rerun to correct the width of eqparbox `#1'}% \fi \immediate\write\@auxout{% \string\expandafter\string\gdef\string\csname\space eqp@this@#1\string\endcsname{% \csname eqp@next@#1\endcsname }% ^^J% \string\expandafter\string\gdef\string\csname\space eqp@next@#1\string\endcsname{0pt}% }% }% \eqp@taglist \endgroup \ifeqp@must@rerun \@latex@warning@no@line{Rerun to correct eqparbox widths} \fi } \newcommand*{\eqp@storefont}{% \xdef\eqp@restorefont{% \noexpand\usefont{\f@encoding}{\f@family}{\f@series}{\f@shape}% \noexpand\fontsize{\f@size}{\f@baselineskip}% \noexpand\selectfont }% } \RequirePackage{array} \newcommand{\eqp@settowidth}[2]{% \settowidth{#1}{{% \eqp@storefont \begin{tabular}{@{}>{\eqp@restorefont}l<{\eqp@storefont}@{}}% #2% \end{tabular}% }}% } \DeclareRobustCommand\eqparbox{% \@ifnextchar[%] {\eqparbox@i}% {\eqparbox@iii[c][\relax][s]}% } \def\eqparbox@i[#1]{% \@ifnextchar[%] {\eqparbox@ii[#1]}% {\eqparbox@iii[#1][\relax][s]}% } \def\eqparbox@ii[#1][#2]{% \@ifnextchar[%] {\eqparbox@iii[#1][#2]}% {\eqparbox@iii[#1][#2][#1]}% } \def\eqparbox@iii[#1][#2][#3]#4#5{% \eqp@settowidth{\eqp@tempdimb}{#5}% \expandafter \ifx\csname eqp@this@#4\endcsname\relax \global\eqp@must@reruntrue \expandafter\xdef\csname eqp@this@#4\endcsname{\the\eqp@tempdimb}% \expandafter\xdef\csname eqp@next@#4\endcsname{\the\eqp@tempdimb}% \else \eqp@tempdima=\csname eqp@this@#4\endcsname\relax \ifdim\eqp@tempdima<\eqp@tempdimb \expandafter\xdef\csname eqp@this@#4\endcsname{\the\eqp@tempdimb}% \global\eqp@must@reruntrue \fi \eqp@tempdima=\csname eqp@next@#4\endcsname\relax \ifdim\eqp@tempdima<\eqp@tempdimb \expandafter\xdef\csname eqp@next@#4\endcsname{\the\eqp@tempdimb}% \fi \fi \@ifundefined{eqp@seen@#4}{% \expandafter\gdef\csname eqp@seen@#4\endcsname{}% \@cons\eqp@taglist{{#4}}% }{}% \eqp@tempdima=\csname eqp@this@#4\endcsname\relax \parbox[#1][#2][#3]{\eqp@tempdima}{#5}% } \newcommand*{\eqboxwidth}[1]{% \@ifundefined{eqp@this@#1}{0pt}{\csname eqp@this@#1\endcsname}% } \endinput %% %% End of file `eqparbox.sty'.