henesyinit from p9fce6d0435 years agoHistory
338 lines · 11.6 KB · TeX
RawDownload
%% %% This is file `array.sty', generated %% on <1995/2/23> with the docstrip utility (2.2i).%% %% The original source files were:%% %% array.dtx  (with options: `package,ncols')%% %% IMPORTANT NOTICE: %% This file is part of the `tools' bundle %% in the LaTeX2e distribution. %% %% You are not allowed to distribute this file. %% For distribution of the original source see %% the copyright notice in the source file, and %% in the file readme.txt distributed with the %% tools bundle. %% %% Package `array' to use with LaTeX 2e%% Copyright (C) 1989-1994 Frank Mittelbach, all rights reserved.\NeedsTeXFormat{LaTeX2e}[1994/06/01]\ProvidesPackage{array}         [1994/12/08 v2.3b Tabular extension package (FMi)]%% \CharacterTable%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z%%   Digits        \0\1\2\3\4\5\6\7\8\9%%   Exclamation   \!     Double quote  \"     Hash (number) \#%%   Dollar        \$     Percent       \%     Ampersand     \&%%   Acute accent  \'     Left paren    \(     Right paren   \)%%   Asterisk      \*     Plus          \+     Comma         \,%%   Minus         \-     Point         \.     Solidus       \/%%   Colon         \:     Semicolon     \;     Less than     \<%%   Equals        \=     Greater than  \>     Question mark \?%%   Commercial at \@     Left bracket  \[     Backslash     \\%%   Right bracket \]     Circumflex    \^     Underscore    \_%%   Grave accent  \`     Left brace    \{     Vertical bar  \|%%   Right brace   \}     Tilde         \~}%%\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}\def\@testpach{\@chclass \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else  \ifnum \@lastchclass=7 5 \else   \ifnum \@lastchclass=8 \tw@ \else    \ifnum \@lastchclass=9 \thr@@   \else \z@   \ifnum \@lastchclass = 10 \else   \edef\@nextchar{\expandafter\string\@nextchar}%   \@chnum   \if \@nextchar c\z@ \else    \if \@nextchar l\@ne \else     \if \@nextchar r\tw@ \else   \z@ \@chclass   \if\@nextchar |\@ne \else    \if \@nextchar !6 \else     \if \@nextchar @7 \else      \if \@nextchar <8 \else       \if \@nextchar >9 \else  10  \@chnum  \if \@nextchar m\thr@@\else   \if \@nextchar p4 \else    \if \@nextchar b5 \else   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi   \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}\def\@xexpast#1*#2#3#4\@@{%   \@tempcnta #2   \toks@={#1}\@temptokena={#3}%   \let\the@toksz\relax \let\the@toks\relax   \def\@tempa{\the@toksz}%   \ifnum\@tempcnta >0 \@whilenum\@tempcnta >0\do     {\edef\@tempa{\@tempa\the@toks}\advance \@tempcnta \m@ne}%       \let \@tempb \@xexpast \else       \let \@tempb \@xexnoop \fi   \def\the@toksz{\the\toks@}\def\the@toks{\the\@temptokena}%   \edef\@tempa{\@tempa}%   \expandafter \@tempb \@tempa #4\@@}\def\prepnext@tok{\advance \count@ \@ne   \toks\count@{}}\def\save@decl{\toks\count@ \expandafter{\@nextchar}}\def\insert@column{%   \the@toks \the \@tempcnta   \ignorespaces \@sharp \unskip   \the@toks \the \count@ \relax}\newdimen\col@sep\def\@acol{\@addtopreamble{\hskip\col@sep}}\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax   \@xexpast #1*0x\@@   \count@\m@ne   \let\the@toks\relax   \prepnext@tok   \expandafter \@tfor \expandafter \@nextchar    \expandafter :\expandafter =\@tempa \do   {\@testpach   \ifcase \@chclass \@classz \or \@classi \or \@classii     \or \save@decl \or \or \@classv \or \@classvi     \or \@classvii \or \@classviii  \or \@classix     \or \@classx \fi   \@lastchclass\@chclass}%   \ifcase\@lastchclass   \@acol \or   \or   \@acol \or   \@preamerr \thr@@ \or   \@preamerr \tw@ \@addtopreamble\@sharp \or   \or   \else  \@preamerr \@ne \fi   \def\the@toks{\the\toks}}\def\@classx{%  \ifcase \@lastchclass  \@acolampacol \or  \@addamp \@acol \or  \@acolampacol \or  \or  \@acol \@firstampfalse \or  \@addamp  \fi}\def\@classz{\@classx   \@tempcnta \count@   \prepnext@tok   \@addtopreamble{\ifcase \@chnum      \hfil      \d@llarbegin      \insert@column      \d@llarend \hfil \or      \d@llarbegin \insert@column \d@llarend \hfil \or      \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or   $\vcenter   \@startpbox{\@nextchar}\insert@column \@endpbox $\or   \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or   \vbox \@startpbox{\@nextchar}\insert@column \@endpbox  \fi}\prepnext@tok}\def\@classix{\ifnum \@lastchclass = \thr@@       \@preamerr \thr@@ \fi       \@classx}\def\@classviii{\ifnum \@lastchclass >\z@      \@preamerr 4\@chclass 6 \@classvi \fi}\def\@arrayrule{\@addtopreamble \vline}\def\@classvii{\ifnum \@lastchclass = \thr@@   \@preamerr \thr@@ \fi}\def\@classvi{\ifcase \@lastchclass      \@acol \or      \@addtopreamble{\hskip \doublerulesep}\or      \@acol \or      \@classvii      \fi}\def\@classii{\advance \count@ \m@ne   \save@decl\prepnext@tok}\def\@classv{\save@decl   \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%   \prepnext@tok}\def\@classi{\@classvi   \ifcase \@chnum \@arrayrule \or      \@classv \fi}\def\@startpbox#1{\bgroup  \hsize #1 \@arrayparboxrestore   \everypar{%      \vrule \@height \ht\@arstrutbox \@width \z@      \everypar{}}%   }\def\@endpbox{\@finalstrut\@arstrutbox \egroup}\def\@array[#1]#2{%  \@tempdima \ht \strutbox  \advance \@tempdima by\extrarowheight  \setbox \@arstrutbox \hbox{\vrule             \@height \arraystretch \@tempdima             \@depth \arraystretch \dp \strutbox             \@width \z@}%  \begingroup  \@mkpream{#2}%  \xdef\@preamble{\ialign \@halignto                  \bgroup \@arstrut \@preamble                          \tabskip \z@ \cr}%  \endgroup  \@arrayleft  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi  \bgroup  \let \@sharp ##\let \protect \relax  \lineskip \z@  \baselineskip \z@  \m@th  \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}\newdimen \extrarowheight\extrarowheight=0pt\def\@arstrut{\unhcopy\@arstrutbox}\def\@arraycr{{\ifnum 0=`}\fi  \@ifstar \@xarraycr \@xarraycr}\def\@xarraycr{\@ifnextchar [%  \@argarraycr {\ifnum 0=`{\fi}\cr}}\def\@argarraycr[#1]{\ifnum0=`{\fi}\ifdim #1>\z@  \@xargarraycr{#1}\else \@yargarraycr{#1}\fi}\def\@xargarraycr#1{\unskip  \@tempdima #1\advance\@tempdima \dp\@arstrutbox  \vrule \@depth\@tempdima \@width\z@ \cr}\def\@yargarraycr#1{\cr\noalign{\vskip #1}}\def\multicolumn#1#2#3{%   \multispan{#1}\begingroup   \def\@addamp{\if@firstamp \@firstampfalse \else                \@preamerr 5\fi}%   \@mkpream{#2}\@addtopreamble\@empty   \endgroup   \def\@sharp{#3}%   \@arstrut \@preamble   \null   \ignorespaces}\let\d@llarbegin\begingroup\let\d@llarend\endgroup\def\array{\col@sep\arraycolsep  \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}%  \@tabarray}\def\@tabarray{\@ifnextchar[{\@array}{\@array[c]}}\def\tabular{\gdef\@halignto{}\@tabular}\expandafter\def\csname tabular*\endcsname#1{%      \gdef\@halignto{to#1}\@tabular}\def\@tabular{%  \leavevmode  \hbox \bgroup $\col@sep\tabcolsep \let\d@llarbegin\begingroup                                    \let\d@llarend\endgroup  \@tabarray}\def\endarray{\crcr \egroup \egroup \gdef\@preamble{}}\def\endtabular{\endarray $\egroup}\expandafter\let\csname endtabular*\endcsname=\endtabular\let\@ampacol=\relax        \let\@expast=\relax\let\@arrayclassiv=\relax   \let\@arrayclassz=\relax\let\@tabclassiv=\relax     \let\@tabclassz=\relax\let\@arrayacol=\relax      \let\@tabacol=\relax\let\@tabularcr=\relax      \let\@@endpbox=\relax\let\@argtabularcr=\relax   \let\@xtabularcr=\relax\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%   \PackageError{array}{%   \ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0    Missing arg: token ignored\or                           %1    Empty preamble: `l' used\or                             %2    >\@tempd token ignored\or                               %3    <\@tempd changed to !{..}\or                            %4    Only one column-spec. allowed.\fi}\@ehc}                %5\def\newcolumntype#1{%  \edef\NC@char{\string#1}%  \@ifundefined{NC@find@\NC@char}%    {\@tfor\next:=<>clrmbp@!|\do{\if\noexpand\next\NC@char        \PackageWarning{array}%                       {Redefining primitive column \NC@char}\fi}%     \NC@list\expandafter{\the\NC@list\NC@do#1}}%    {\PackageWarning{array}{Column \NC@char\space is already defined}}%  \@namedef{NC@find@\NC@char}##1#1{\NC@{##1}}%  \@ifnextchar[{\newcol@{\NC@char}}{\newcol@{\NC@char}[0]}}\def\newcol@#1[#2]#3{\expandafter\@reargdef     \csname NC@rewrite@#1\endcsname[#2]{\NC@find#3}}\def\NC@#1{%  \@temptokena\expandafter{\the\@temptokena#1}\futurelet\next\NC@ifend}\def\NC@ifend{%  \ifx\next\relax    \else\@tempswatrue\expandafter\NC@rewrite\fi}\def\NC@do#1{%  \expandafter\let\expandafter\NC@rewrite    \csname NC@rewrite@\string#1\endcsname  \expandafter\let\expandafter\NC@find    \csname NC@find@\string#1\endcsname  \expandafter\@temptokena\expandafter{\expandafter}%        \expandafter\NC@find\the\@temptokena#1\relax}\def\showcols{{\def\NC@do##1{\let\NC@do\NC@show}\the\NC@list}}\def\NC@show#1{%  \typeout{Column #1\expandafter\expandafter\expandafter\NC@strip  \expandafter\meaning\csname NC@rewrite@#1\endcsname\@@}}\def\NC@strip#1:#2->#3 #4\@@{#2 -> #4}\newtoks\NC@list\newcolumntype{*}[2]{}\long\@namedef{NC@rewrite@*}#1#2{%  \count@#1  \loop  \ifnum\count@>\z@  \advance\count@\m@ne  \@temptokena\expandafter{\the\@temptokena#2}%  \repeat  \NC@find}\let\@xexpast\relax\let\@xexnoop\relax\def\save@decl{\toks \count@ = \expandafter\expandafter\expandafter                  {\expandafter\@nextchar\the\toks\count@}}\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax   \@temptokena{#1}\@tempswatrue   \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%   \count@\m@ne   \let\the@toks\relax   \prepnext@tok   \expandafter \@tfor \expandafter \@nextchar    \expandafter :\expandafter =\the\@temptokena \do   {\@testpach   \ifcase \@chclass \@classz \or \@classi \or \@classii     \or \save@decl \or \or \@classv \or \@classvi     \or \@classvii \or \@classviii     \or \@classx     \or \@classx \fi   \@lastchclass\@chclass}%   \ifcase\@lastchclass   \@acol \or   \or   \@acol \or   \@preamerr \thr@@ \or   \@preamerr \tw@ \@addtopreamble\@sharp \or   \or   \else  \@preamerr \@ne \fi   \def\the@toks{\the\toks}}\let\@classix\relax\def\@classviii{\ifnum \@lastchclass >\z@\ifnum\@lastchclass=\tw@\else      \@preamerr 4\@chclass 6 \@classvi \fi\fi}\def\@classv{\save@decl   \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@   \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%   \prepnext@tok}\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@@{\def\@tempa{#2}%  \ifx\@tempa\@empty\else\toks\count@={#1\tabskip#2\relax#3}\fi}\def\@tabarray{\@ifnextchar[{\@@array}{\@@array[c]}}\let\@@array\@array\def\endarray{\crcr \egroup \egroup \@arrayright \gdef\@preamble{}}\let\@arrayleft\@empty\let\@arrayright\@empty\newlength{\extratabsurround}\setlength{\extratabsurround}{2pt}\newlength{\backup@length}\newcommand{\firsthline}{%  \multicolumn1c{%    \global\backup@length\ht\@arstrutbox    \global\advance\backup@length\dp\@arstrutbox    \advance\backup@length\extratabsurround    \rule\z@\backup@length    }\\[-\backup@length]\hline}\newcommand{\lasthline}{\hline\multicolumn1c{}%    \global\backup@length-\ht\@arstrutbox    \global\advance\backup@length\extratabsurround    \\[\backup@length]%}\endinput%% %% End of file `array.sty'.