%%
%% This is file `tabularx.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tabularx.dtx (with options: `package')
%%
%% IMPORTANT NOTICE:
%%
%% This file is a generated file from the sources of the `tools' bundle
%% in the LaTeX2e distribution.
%%
%% For the copyright notice see the source file(s).
%%
%% You are not allowed to modify this file.
%%
%% You are allowed to distribute this file if and only if
%% it is distributed with the corresponding source files in
%% the `tools' bundle.
%%
%% For the copying and distribution conditions of the source files,
%% see the file readme.txt distributed with the tools bundle.
%%
%% File: tabularx.dtx Copyright (C) 1991-1997 David Carlisle
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tabularx}
[1997/02/26 v2.04 `tabularx' package (DPC)]
\DeclareOption{infoshow}{\AtEndOfPackage\tracingtabularx}
\DeclareOption{debugshow}{\AtEndOfPackage\tracingtabularx}
\ProcessOptions
\RequirePackage{array}[1994/02/03]
\newdimen\TX@col@width
\newdimen\TX@old@table
\newdimen\TX@old@col
\newdimen\TX@target
\newdimen\TX@delta
\newcount\TX@cols
\newif\ifTX@
\def\tabularx#1{%
\edef\TX@{\@currenvir}%
{\ifnum0=`}\fi
\TX@target#1\relax
\TX@typeout{Target width: #1 = \the\TX@target.}%
\toks@{}\TX@get@body}
\let\endtabularx\relax
\long\def\TX@get@body#1\end
{\toks@\expandafter{\the\toks@#1}\TX@find@end}
\def\TX@find@end#1{%
\def\@tempa{#1}%
\ifx\@tempa\TX@\expandafter\TX@endtabularx
\else\toks@\expandafter
{\the\toks@\end{#1}}\expandafter\TX@get@body\fi}
\def\TX@{tabularx}
\def\TX@endtabularx{%
\expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}%
\let\verb\TX@verb
\def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
\edef\TX@ckpt{\cl@@ckpt}%
\let\@elt\relax
\TX@old@table=\maxdimen
\TX@col@width=\TX@target
\global\TX@cols=\@ne
\TX@typeout@
{\@spaces Table Width\@spaces Column Width\@spaces X Columns}%
\TX@trial{\def\NC@rewrite@X{%
\global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}%
\loop
\TX@arith
\ifTX@
\TX@trial{}%
\repeat
{\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext
\csname tabular*\expandafter\endcsname\expandafter\TX@target
\the\toks@
\csname endtabular*\endcsname}%
\global\TX@ftn\expandafter{\expandafter}\the\TX@ftn
\ifnum0=`{\fi}%
\expandafter\end\expandafter{\TX@}}
\def\TX@arith{%
\TX@false
\ifdim\TX@old@table=\wd\@tempboxa
\TX@col@width=\TX@old@col
\TX@typeout@{Reached minimum width, backing up.}%
\else
\dimen@=\wd\@tempboxa
\advance\dimen@ -\TX@target
\ifdim\dimen@<\TX@delta
\TX@typeout@{Reached target.}%
\else
\ifnum\TX@cols>\@ne
\advance\TX@cols by \m@ne
\fi
\divide\dimen@ by \TX@cols
\advance\dimen@ by -\TX@col@width
\ifdim \dimen@ > \z@
\PackageWarning{tabularx}%
{X Columns too narrow (table too wide)\MessageBreak}%
\TX@col@width\TX@error@width\relax
\else
\TX@old@col=\TX@col@width
\TX@old@table=\wd\@tempboxa
\TX@col@width=-\dimen@
\TX@true
\fi
\fi
\fi}
\def\TX@error@width{1em}
\TX@delta=\hfuzz
\newcolumntype{X}{}
\def\tabularxcolumn#1{p{#1}}
\def\TX@newcol{\newcol@{X}[0]}
\def\TX@trial#1{%
\setbox\@tempboxa=\hbox{%
#1\relax
\let\@footnotetext\TX@trial@ftn
\let\TX@vwarn\@empty
\expandafter\let\expandafter\tabularx\csname tabular*\endcsname
\expandafter\let\expandafter\endtabularx\csname endtabular*\endcsname
\let\immediate=\relax\def\write##1##{{\afterassignment}\toks@=}%
\hbadness=\@M\hfuzz=\maxdimen
\let\hbadness=\@tempcnta\let\hfuzz=\@tempdima
\expandafter\tabular\the\toks@
\endtabular}%
\TX@ckpt
\TX@typeout@{\@spaces
\expandafter\TX@align
\the\wd\@tempboxa\space\space\space\space\space\@@
\expandafter\TX@align
\the\TX@col@width\space\space\space\space\space\@@
\@spaces\the\TX@cols}}
\def\TX@align#1.#2#3#4#5#6#7#8#9\@@{%
\ifnum#1<10 \space\fi
\ifnum#1<100 \space\fi
\ifnum#1<\@m\space\fi
\ifnum#1<\@M\space\fi
#1.#2#3#4#5#6#7#8\space\space}
\def\arraybackslash{\let\\=\@arraycr}
\def\tracingtabularx{%
\def\TX@typeout{\PackageWarningNoLine{tabularx}}%
\def\TX@typeout@##1{\typeout{(tabularx) ##1}}}
\let\TX@typeout\@gobble
\let\TX@typeout@\@gobble
\newtoks\TX@ftn
\long\def\TX@ftntext#1{%
\edef\@tempa{\the\TX@ftn\noexpand\footnotetext
[\the\csname c@\@mpfn\endcsname]}%
\global\TX@ftn\expandafter{\@tempa{#1}}}%
\long\def\TX@xftntext[#1]#2{%
\global\TX@ftn\expandafter{\the\TX@ftn\footnotetext[#1]{#2}}}
\long\def\TX@trial@ftn#1{}
{\uccode`\*=`\ %
\uppercase{\gdef\TX@verb{%
\leavevmode\null\TX@vwarn
{\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
\@ifstar{\let~*\TX@vb}{\TX@vb}}}}
\def\TX@vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
\expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
\def\TX@v#1!{\afterassignment\TX@vfirst\let\@tempa= }
\begingroup
\catcode`\*=\catcode`\#
\catcode`\#=12
\gdef\TX@vfirst{%
\if\@tempa#%
\def\@tempb{\TX@v@#}%
\else
\let\@tempb\TX@v@
\if\@tempa\space~\else\@tempa\fi
\fi
\@tempb}
\gdef\TX@v@*1 *2{%
\TX@v@hash*1##\relax\if*2\\\else~\expandafter\TX@v@\fi*2}
\gdef\TX@v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX@v@hash\fi*2}
\endgroup
\def\TX@vwarn{%
\@warning{\noexpand\verb may be unreliable inside tabularx}%
\global\let\TX@vwarn\@empty}
\endinput
%%
%% End of file `tabularx.sty'.
|