diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tools/tabularx.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tools/tabularx.sty | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tools/tabularx.sty b/Master/texmf-dist/tex/latex/tools/tabularx.sty new file mode 100644 index 00000000000..bd5933af3f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tools/tabularx.sty @@ -0,0 +1,193 @@ +%% +%% This is file `tabularx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tabularx.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. +%% -------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +%% File: tabularx.dtx Copyright (C) 1991-1999 David Carlisle +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tabularx} + [1999/01/07 v2.07 `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 + \setlength\TX@target{#1}% + \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\m@ne + \fi + \divide\dimen@\TX@cols + \advance\dimen@ -\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 + \def\write{\begingroup + \def\let{\afterassignment\endgroup\toks@}% + \afterassignment\let\count@}% + \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'. |