diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/sttools/stabular.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/sttools/stabular.sty | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/sttools/stabular.sty b/Master/texmf-dist/tex/latex/sttools/stabular.sty new file mode 100644 index 00000000000..a408878b419 --- /dev/null +++ b/Master/texmf-dist/tex/latex/sttools/stabular.sty @@ -0,0 +1,116 @@ +%% stabular.sty +%% Copyright 1998 Sigitas Tolu\v sis +%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania +%% e-mail sigitas@vtex.lt +%% http://www.vtex.lt/tex/download/macros/ +%% +% This program can redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% PURPOSE: Improve tabular environment. +% +% SHORT DESCRIPTION: +% +% Changed internal commands: \@mkpream, \@addamp, \@xhline +% +% Provides new commands in tabular (used after command \\): +% \emptyrow[#1] +% ------------- +% Adds empty row, #1 - height of the row +% +% \tabrow{#1}[#2] +% --------------- +% Adds row of natural height: #1\\[#2] +% +% Provides new environments: stabular and stabular* +% -------- --------- +% One more multi-page version of tabular +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{stabular}[1998/03/19] +% +\def\empty@finalstrut#1{% + \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\z@} +\def\no@strut{\global\setbox\@arstrutbox\hbox{% + \vrule \@height\z@ + \@depth\z@ + \@width\z@}% + \gdef\@endpbox{\empty@finalstrut\@arstrutbox\par\egroup\hfil}% +}% +\def\yes@strut{\global\setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch \ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@}% + \gdef\@endpbox{\@finalstrut\@arstrutbox\par\egroup\hfil}% +}% +\def\@mkpream#1{\@firstamptrue\@lastchclass6 + \let\@preamble\@empty\def\empty@preamble{\add@ins}% + \let\protect\@unexpandable@protect + \let\@sharp\relax\let\add@ins\relax + \let\@startpbox\relax\let\@endpbox\relax + \@expast{#1}% + \expandafter\@tfor \expandafter + \@nextchar \expandafter:\expandafter=\reserved@a\do + {\@testpach\@nextchar + \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii + \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% + \ifcase \@lastchclass \@acol + \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} +\def\@addamp{% + \if@firstamp + \@firstampfalse + \edef\empty@preamble{\add@ins}% + \else + \edef\@preamble{\@preamble &}% + \edef\empty@preamble{\expandafter\noexpand\empty@preamble &\add@ins}% + \fi} +\newif\iftw@hlines \tw@hlinesfalse +\def\@xhline{\ifx\reserved@a\hline + \tw@hlinestrue + \else\ifx\reserved@a\Hline + \tw@hlinestrue + \else + \tw@hlinesfalse + \fi\fi + \iftw@hlines + \aftergroup\do@after + \fi + \ifnum0=`{\fi}% +} +\def\do@after{\emptyrow[\the\doublerulesep]} +\def\emptyrow{\noalign\bgroup\@ifnextchar[\@emptyrow{\@emptyrow[\z@]}} +\def\@emptyrow[#1]{\no@strut\gdef\add@ins{\vrule \@height\z@ \@depth#1 \@width\z@}\egroup% +\empty@preamble\\ +\noalign{\yes@strut\gdef\add@ins{\vrule \@height\z@ \@depth\z@ \@width\z@}}% +} +\def\tabrow#1{\noalign\bgroup\@ifnextchar[{\@tabrow{#1}}{\@tabrow{#1}[]}} +\def\@tabrow#1[#2]{\no@strut\egroup#1\ifx.#2.\\\else\\[#2]\fi\noalign{\yes@strut}} +% +\def\endstabular{\crcr\egroup\egroup \egroup} +\expandafter \let \csname endstabular*\endcsname = \endstabular +\def\stabular{\let\@halignto\@empty\@stabular} +\@namedef{stabular*}#1{\def\@halignto{to#1}\@stabular} +\def\@stabular{\leavevmode \bgroup \let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@stabarray} +\def\@stabarray{\m@th\@ifnextchar[\@sarray{\@sarray[c]}} +\def\@sarray[#1]#2{% + \bgroup + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@}% + \@mkpream{#2}% + \edef\@preamble{% + \ialign \noexpand\@halignto + \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \let\tabularnewline\\% +% \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@skip\baselineskip\z@skip + \@preamble} +\endinput |