diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:58:30 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:58:30 +0000 |
commit | 90612109a8e91c754cfa5ab7b20630165c465436 (patch) | |
tree | ff2088f04b5dae56153c94698aa2f3e30f1ef85a /Master/texmf-dist/tex/latex/makecell | |
parent | 3f394c323e850149a15a6cd035449161e2b73292 (diff) |
makecell
git-svn-id: svn://tug.org/texlive/trunk@1062 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/makecell')
-rw-r--r-- | Master/texmf-dist/tex/latex/makecell/makecell.sty | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/makecell/makecell.sty b/Master/texmf-dist/tex/latex/makecell/makecell.sty new file mode 100644 index 00000000000..f50853755dd --- /dev/null +++ b/Master/texmf-dist/tex/latex/makecell/makecell.sty @@ -0,0 +1,208 @@ +%% +%% 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} + [2005/07/02 v0.1a 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{\\[-.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} +\endinput +%% +%% End of file `makecell.sty'. |