%% %% This is file `makecell.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% makecell.dtx (with options: `package') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from makecell.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file makecell.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{makecell} [2006/06/28 v0.1c Multilined Cells and Tabular Heads] \RequirePackage{array} \newcommand\makecell{\@ifstar{\let\tabg@pe\gape\makecell@}% {\let\tabg@pe\cellgape\makecell@}} \newcommand\makecell@{\def\t@bset{\cellset}% \let\mcell@align\cellalign \@ifnextchar[\mcell@tabular {\expandafter\mcell@@tabular\cellalign\@nil}} \newcommand\thead{\@ifstar{\let\tabg@pe\gape\thead@}% {\let\tabg@pe\theadgape\thead@}} \newcommand\thead@{\def\t@bset{\cellset\theadfont\theadset}% \let\mcell@align\theadalign \@ifnextchar[\mcell@tabular {\expandafter\mcell@@tabular\theadalign\@nil}} \@ifdefinable\rotheadsize{\newdimen\rotheadsize} \newcommand\rotcell{\@ifundefined{turn}% {\PackageWarning{makecell}% {\string\rotcell\space needs rotating package}% \let\tabg@pe\empty\let\t@bset\cellset\makecell@} {\@ifnextchar[{\@rotcell}{\@@rotcell}}} \@ifdefinable\@rotcell{} \def\@rotcell[#1]#2{\makecell{\\[-.65\normalbaselineskip] \turn{\cellrotangle}\makecell[#1]{#2}\endturn}} \newcommand\@@rotcell[1]{\makecell{\\[-.65\normalbaselineskip] \turn{\cellrotangle}\makecell[c{>{\rightskip0explus \rotheadsize\hyphenpenalty0\pretolerance-1% \noindent\hskip\z@}p{\rotheadsize} }]{#1}\endturn}} \newcommand\rothead{\@ifundefined{turn}% {\PackageWarning{makecell}{\string\rothead\space needs rotating package}% \let\tabg@pe\theadgape \def\t@bset{\cellset\theadfont\theadset}\thead@}% {\let\theadgape\rotheadgape \@ifnextchar[{\@rothead}{\@@rothead}}} \@ifdefinable\@rothead{} \def\@rothead[#1]#2{\thead{\\[-.65\normalbaselineskip] \turn{\cellrotangle}\thead[#1]{#2@{}}\endturn}} \newcommand\@@rothead[1]{\thead{\\[-.65\normalbaselineskip] \turn{\cellrotangle}\thead[c{>{\rightskip0explus \rotheadsize\hyphenpenalty0\pretolerance-1% \noindent\hskip\z@}p{\rotheadsize} @{}}]{#1}\endturn}} \newcommand\multirowcell{\@ifundefined{multirow}% {\PackageWarning{makecell}{\string\multirowcell\space needs multirow package}}% {\let\mcell@multirow\multirow}\mcell@mrowcell@} \newcommand\mcell@mrowcell@[1]{\@ifnextchar [{\mcell@mrowcell@@{#1}}{\mcell@mrowcell@@{#1}[0pt]}} \@ifdefinable\mcell@mrowcell@@{} \def\mcell@mrowcell@@#1[#2]{\edef\mcell@nrows{#1}\edef\mcell@fixup{#2}% \let\tabg@pe\cellgape\makecell@} \newcommand\multirowthead{\@ifundefined{multirow}% {\PackageWarning{makecell}{\string\multirowthead\space needs multirow package}}% {\let\mcell@multirow\multirow}\mcell@mrowhead@} \newcommand\mcell@mrowhead@[1]{\@ifnextchar [{\mcell@mrowhead@@{#1}}{\mcell@mrowhead@@{#1}[0pt]}} \@ifdefinable\mcell@mrowhead@@{} \def\mcell@mrowhead@@#1[#2]{\edef\mcell@nrows{#1}\edef\mcell@fixup{#2}% \let\tabg@pe\theadgape\thead@} \@ifdefinable\mcell@multirow{} \def\mcell@multirow#1#2[#3]{}% \newcommand\mcell@l{\def\mcell@ii{l}\let\mcell@c\mcell@ic \global\let\mcell@left\empty} \newcommand\mcell@r{\def\mcell@ii{r}\let\mcell@c\mcell@ic \global\let\mcell@right\empty} \newcommand\mcell@t{\def\mcell@i{t}\let\mcell@c\mcell@iic} \newcommand\mcell@b{\def\mcell@i{b}\let\mcell@c\mcell@iic} \newcommand\mcell@{} \newcommand\mcell@c{\def\mcell@ii{c}} \newcommand\mcell@ic{\def\mcell@i{c}} \newcommand\mcell@iic{\def\mcell@ii{c}} \newcommand\mcell@i{c} \newcommand\mcell@ii{c} \@ifdefinable\mcell@left{\let\mcell@left\hfill} \@ifdefinable\mcell@right{\let\mcell@right\hfill} \@ifdefinable\mcell@tabular{}\@ifdefinable\mcell@@tabular{} \@ifdefinable\mcell@@@tabular{} \def\mcell@tabular[#1]#2{\mcell@@tabular#1\@nil{#2}} \newcommand\mcell@ifinlist[2]{% \let\next\@secondoftwo \edef\mcell@tmp{#1}% \@for\mcell@Tmp:={#2}\do{% \ifx\mcell@tmp\mcell@Tmp \let\next\@firstoftwo \fi}\next} \def\mcell@@tabular#1#2\@nil#3{% \expandafter\mcell@setalign\mcell@align\@nil \mcell@setalign{#1}{#2}\@nil \expandafter\mcell@@@tabular\expandafter\mcell@i\mcell@ii\@nil{#3}} \@ifdefinable\mcell@setalign{} \def\mcell@setalign#1#2\@nil{\def\@tempa{#1}\def\@tempc{c}% \global\let\mcell@left\hfill\global\let\mcell@right\hfill \def\mcell@c{\def\mcell@ii{c}}% \mcell@ifinlist{#1}{l,r,t,b,c,}{\@nameuse{mcell@#1}}% {\def\mcell@ii{#1}\let\mcell@c\mcell@ic \let\mcell@left\empty\let\mcell@right\empty}% \mcell@ifinlist{#2}{l,r,t,b,c,}{\@nameuse{mcell@#2}}% {\def\mcell@ii{#2}\let\mcell@c\mcell@ic \let\mcell@left\empty\let\mcell@right\empty}% \ifx\@tempa\@tempc\mcell@c\fi } \def\mcell@@@tabular#1#2\@nil#3{%\mcell@mstyle \ifdim\parindent<\z@\leavevmode\else\noindent\fi \null\mcell@left \ifmmode \mcell@multirow\mcell@nrows*[\mcell@fixup]{\tabg@pe {\hbox{\t@bset$\array[#1]{@{}#2@{}}#3\endarray$}}}% \else \mcell@multirow\mcell@nrows*[\mcell@fixup]{\tabg@pe {\hbox{\t@bset\tabular[#1]{@{}#2@{}}#3\endtabular}}}% \fi\mcell@right\null} \newcommand\cellset{\def\arraystretch{1}\extrarowheight\z@ \nomakegapedcells} \newcommand\cellgape{} \newcommand\cellalign{cc} \newcommand\cellrotangle{90} \newcommand\theadfont{\footnotesize} \newcommand\theadset{} \newcommand\theadgape{\gape} \newcommand\rotheadgape{} \newcommand\theadalign{cc} \newcommand\gape{\@ifnextchar[\@gape{\@gape[tb]}} \newcommand\setcellgapes{\@ifnextchar[%] {\mcell@setgapes{MB}}{\mcell@setgapes{MB}[tb]}} \@ifdefinable\@setcellgapes{} \def\mcell@setgapes#1[#2]#3{\expandafter\let\csname mcell@#1@\expandafter\endcsname\csname mcell@mb@#2\endcsname \@namedef{mcell@#1jot}{#3}} \newcommand\mcell@mb@t[2]{\@tempdima\ht#1\advance\@tempdima#2% \ht#1\@tempdima} \newcommand\mcell@mb@b[2]{\@tempdimb\dp#1\advance\@tempdimb#2% \dp#1\@tempdimb} \newcommand\mcell@mb@tb[2]{\mcell@mb@t{#1}{#2}\mcell@mb@b{#1}{#2}} \@ifdefinable\@gape{}\@ifdefinable\@@gape{} \def\@gape[#1]{\mcell@setgapes{mb}[#1]{\jot}\@@gape} \def\@@gape{% \ifmmode \expandafter\mathpalette\expandafter\mathg@pe \else \expandafter\makeg@pe \fi} \newcommand\makeg@pe[1]{\setbox\z@ \hbox{\color@begingroup#1\color@endgroup}\mcell@mb@\z@\mcell@mbjot\box\z@} \newcommand\mathg@pe[2]{\setbox\z@ \hbox{$\m@th#1{#2}$}\mcell@mb@\z@\mcell@mbjot\box\z@} \newcommand\Gape{\@ifnextchar[\@Gape{\@Gape[\jot]}} \@ifdefinable\@Gape{}\@ifdefinable\@@Gape{} \def\@Gape[#1]{\@ifnextchar[{\@@Gape[#1]}{\@@Gape[#1][#1]}} \def\@@Gape[#1][#2]{\def\depth{\dp\z@}\def\height{\ht\z@}% \edef\mcell@mb@##1##2{% \@tempdima\ht\z@\advance\@tempdima#1\ht\z@\@tempdima \@tempdimb\dp\z@\advance\@tempdimb#2\dp\z@\@tempdimb}% \@@gape} \newcommand\bottopstrut{\gape{\strut}} \newcommand\topstrut{\gape[t]{\strut}} \newcommand\botstrut{\gape[b]{\strut}} \@ifdefinable\mcell@oriclassz{\let\mcell@oriclassz\@classz} \newcommand\makegapedcells{\let\@classz\mcell@classz} \newcommand\nomakegapedcells{\let\@classz\mcell@oriclassz} \newcommand\mcell@agape[1]{\setbox\z@\hbox{#1}\mcell@MB@\z@\mcell@MBjot \null\mcell@left\box\z@\mcell@right\null} \newcommand\mcell@classz{\@classx \@tempcnta \count@ \prepnext@tok \@addtopreamble{%\mcell@mstyle \ifcase\@chnum \hfil \mcell@agape{\d@llarbegin\insert@column\d@llarend}\hfil \or \hskip1sp \mcell@agape{\d@llarbegin\insert@column\d@llarend}\hfil \or \hfil\hskip1sp \mcell@agape{\d@llarbegin \insert@column\d@llarend}\or $\mcell@agape{\vcenter \@startpbox{\@nextchar}\insert@column\@endpbox}$\or \mcell@agape{\vtop \@startpbox{\@nextchar}\insert@column\@endpbox}\or \mcell@agape{\vbox \@startpbox{\@nextchar}\insert@column\@endpbox}% \fi \global\let\mcell@left\relax\global\let\mcell@right\relax }\prepnext@tok} \newcommand\eline[1]{\count@ #1% \advance\count@\m@ne \loop \@temptokena\expandafter{\the\@temptokena&}% \advance\count@\m@ne \ifnum\count@>\z@\repeat \the\@temptokena\ignorespaces} \newcommand\rnline{\gdef \TeXr@rus{\let\@Alph\@Asbuk\let\@alph\@asbuk}\@nline} \newcommand\nline{\gdef\TeXr@rus{}\@nline} \newcommand\@nline{\@ifnextchar[%] {\@@nline}{\@@nline[1]}} \@ifdefinable\@@nline{} \def\@@nline[#1]{\@ifnextchar[%] {\@@@nline[#1]}{\@@@nline[#1][1]}} \@ifdefinable\@@@nline{} \def\@@@nline[#1][#2]#3{\count@ #3% \expandafter\TeXr@loop\@gobble{}#1\@@@ \xdef\Num{\the\TeXr@lab}% \@tempcnta#2\relax% \expandafter\@temptokena\expandafter{\Num \global\advance\@tempcnta\@ne}% \advance\count@\m@ne \loop\@temptokena\expandafter{\the\@temptokena& \Num \global\advance\@tempcnta\@ne}% \advance\count@\m@ne \ifnum\count@>\z@ \repeat \the\@temptokena\ignorespaces} \newtoks\TeXr@lab \def\TeXr@qmark{?} \def\TeXr@label#1#2{% \xdef\TeXr@the{\noexpand#1\@tempcnta}% \TeXr@lab\expandafter{\the\TeXr@lab\TeXr@rus\TeXr@the}% \advance\@tempcnta1 \TeXr@loop} \def\TeXr@rus{} \def\TeXr@space{\afterassignment\TeXr@sp@ce\let\@tempa= } \def\TeXr@sp@ce{\TeXr@lab\expandafter{\the\TeXr@lab\space}\TeXr@loop} \def\TeXr@group#1{\TeXr@lab\expandafter{\the\TeXr@lab{#1}}\TeXr@loop} \def\TeXr@other#1{\TeXr@lab\expandafter{\the\TeXr@lab#1}\TeXr@loop} \def\TeXr@loop{\futurelet\TeXr@temp\TeXr@loop@} \def\TeXr@loop@{% \ifx A\TeXr@temp \def\@tempa{\TeXr@label\@Alph }\else \ifx a\TeXr@temp \def\@tempa{\TeXr@label\@alph }\else \ifx i\TeXr@temp \def\@tempa{\TeXr@label\@roman }\else \ifx I\TeXr@temp \def\@tempa{\TeXr@label\@Roman }\else \ifx 1\TeXr@temp \def\@tempa{\TeXr@label\@arabic}\else \ifx \@sptoken\TeXr@temp \let\@tempa\TeXr@space \else \ifx \bgroup\TeXr@temp \let\@tempa\TeXr@group \else \ifx \@@@\TeXr@temp \let\@tempa\@gobble \else \let\@tempa\TeXr@other \TeXr@hook \fi\fi\fi\fi\fi\fi\fi\fi \@tempa} \providecommand\TeXr@hook{} \endinput %% %% End of file `makecell.sty'.