X-Git-Url: https://git.distorted.org.uk/~mdw/mdwtools/blobdiff_plain/c8ea265ae80303acb1d20a8473294fc96c28e1ff..e8e9e5d812460c19d276d9449a1792e2b384eb20:/mdwtab.dtx diff --git a/mdwtab.dtx b/mdwtab.dtx index 6022fea..3c4b419 100644 --- a/mdwtab.dtx +++ b/mdwtab.dtx @@ -44,7 +44,7 @@ %<+color> [2003/08/24 1.10 Fix for people who can't spell] % \end{meta-comment} % -% \CheckSum{3373} +% \CheckSum{3404} %% \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 @@ -553,7 +553,7 @@ % The |*| or optional \ give rule-drawing parameters for the |h| % and |c| subcommands. (Note that you can't pass a |*| or an optional % parameters argument to the |h| or |c| subcommands directly.) See -% section~\ref{sec:ruleparams}. +% section~\ref{sec:ruleparams}. % % The argument works a bit like a table preamble, really. Each letter is a % command. The following are supported: @@ -651,7 +651,7 @@ % then you get an extra thick rule at the bottom of the page. This is a bit % of a problem, because if the rule isn't there in the footer and you get % a break between two rows \emph{without} a rule between them, then the page -% looks very odd. +% looks very odd. % % If you want to do ruled longtables, I'd recommend that you proceed as % follows: @@ -890,7 +890,7 @@ % Note that if you do gobble the |\tab@mkpream|, it's your responsibility to % insert another one at the very end of your macro's expansion (so that % further preamble characters can be read). -% +% % The replacement text is inserted directly. It's normal to insert preamble % elements here. There are several to choose from: % @@ -1082,7 +1082,7 @@ % \[ "*" \] % \[ "[" "]" \] % "{" "}" -% \[ "[" "]" +% \[ "[" "]" % \[ "[" "]" \] \] % \]] % \end{grammar} @@ -1946,14 +1946,14 @@ % % % \subsection{Parser states} -% +% % Now we start on the parser. It's really simple, deep down. We progress % from state to state, extracting tokens from the preamble and building % command names from them. Each command calls one of the element-building % routines, which works out which state it should be in. We go through each % of the states in between (see later) doing default things for the ones we % missed out. -% +% % Anyway, here's some symbolic names for the states. It makes my life % easier. % @@ -2714,7 +2714,7 @@ \coldef <#1{\tabuserposttype{#1}} \coldef ?#1#2{% \ifx>#1\expandafter\tabuserpretype% - \else\expandafter\tabusrposttype\fi% + \else\expandafter\tabuserposttype\fi% {#2}% \tab@append\tab@shortline{#2}% } @@ -2855,7 +2855,11 @@ \tab@initread% \def\tab@multicol{\@arstrut}% \tab@preamble{\tab@multicol}% - \def\tab@midtext{\ignorespaces\@sharp\@sharp\@maybe@unskip}% + \let\tab@lefttext\tab@lefttexthook% + \let\tab@righttext\tab@righttexthook% + \let\tab@leftruletext\tab@leftruletexthook% + \let\tab@rightruletext\tab@rightruletexthook% + \def\tab@midtext{\tab@setcr\ignorespaces\@sharp\@sharp\@maybe@unskip}% \tab@readpreamble{#1}% \gdef\@preamble{\the\tab@preamble}% \let\tab@bgroup\begingroup% @@ -3783,7 +3787,7 @@ % % \begin{macro}{\tab@dohline} % -% This is where hlines actually get drawn. +% This is where hlines actually get drawn. % Drawing lines is more awkward than it used to be, particularly in unboxed % tables. It used to be a case simply of saying |\noalign{\hrule}|. % However, since unboxed tables are actually much wider than they look, this @@ -4881,7 +4885,7 @@ \if@fleqn% \eqaopenskip\mathindent% \splitleft\mathindent\relax% - \splitright\mathindent\@minus\mathindent\relax% + \splitright\mathindent\@minus\mathindent\relax% \else% \eqaopenskip\@centering% \splitleft2.5em\@minus2.5em% @@ -5143,7 +5147,7 @@ % \end{environment} % \end{environment} % -% Now we can define the column types. +% Now we can define the column types. % % \begin{macrocode} \colpush{eqnarray} @@ -5577,9 +5581,13 @@ % we need to remove them by hand at the extremities of the environment. % % \begin{macrocode} -\def\subsplit{% +\def\subsplit{\@ifnextchar[\subsplit@i{\subsplit@i[c]}} +\def\subsplit@i[#1]{% + \let\@tempa\vcenter% + \if#1t\let\@tempa\vtop\fi% + \if#1b\let\@tempa\vbox\fi% \let\\\seq@cr% - \vcenter\bgroup% + \@tempa\bgroup% \seq@dosplit{\hfil\qquad$##$\qquad\hfil}{\hfilneg\hskip-2em}% } % \end{macrocode}