You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
7.0 KiB
229 lines
7.0 KiB
%%
|
|
%% 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.
|
|
%%
|
|
%% The source is maintained by the LaTeX Project team and bug
|
|
%% reports for it can be opened at https://latex-project.org/bugs/
|
|
%% (but please observe conditions on bug reports sent to that address!)
|
|
%%
|
|
%% Copyright (C) 1993-2020
|
|
%% 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.3c
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%% and version 1.3c or later is part of all distributions of LaTeX
|
|
%% version 2005/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 2012 2014 2016 2017 David Carlisle
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{tabularx}
|
|
[2020/01/15 v2.11c `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}
|
|
\long\def\TX@find@endtabularxa
|
|
#1\endtabularx#2\endtabularx#3\TX@find@endtabularxa{%
|
|
\ifx\TX@#2\relax\else
|
|
\toks@\expandafter{\the\toks@#1}%
|
|
\fi}
|
|
\long\def\TX@find@endtabularxb
|
|
#1\endtabularx#2\endtabularx#3\TX@find@endtabularxb{%
|
|
\ifx\TX@#2%
|
|
\expandafter\@firstoftwo
|
|
\else
|
|
\expandafter\@secondoftwo
|
|
\fi
|
|
{#1}{#2}}
|
|
\def\TX@find@endtabularxbb{%
|
|
\expandafter\expandafter\expandafter
|
|
\TX@find@endtabularxb
|
|
}
|
|
\def\TX@{tabularx}
|
|
\def\TX@endtabularx{%
|
|
\expandafter\expandafter\expandafter
|
|
\TX@find@endtabularxa\csname end\TX@\endcsname
|
|
\endtabularx\TX@\endtabularx\TX@find@endtabularxa
|
|
\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\expandafter\expandafter
|
|
\TX@find@endtabularxbb
|
|
\expandafter\end\expandafter{\TX@}%
|
|
\endtabularx\TX@\endtabularx\TX@find@endtabularxb
|
|
}
|
|
\def\TX@arith{%
|
|
\TX@false
|
|
\@tempdimb\maxdimen
|
|
\divide\@tempdimb\TX@cols
|
|
\ifdim\TX@col@width>\@tempdimb
|
|
\TX@typeout@{Don't exceed \maxdimen}%
|
|
\wd\@tempboxa\maxdimen
|
|
\fi
|
|
\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}
|
|
\ifx\arraybackslash\@undefined
|
|
\def\arraybackslash{\let\\\tabularnewline}
|
|
\fi
|
|
\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'.
|
|
|