summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-02-28 00:21:50 +0000
committerKarl Berry <karl@freefriends.org>2011-02-28 00:21:50 +0000
commitae5810874a478061bc2cbb94877ff00f07d905b2 (patch)
treee865ff8f91043009f358850ebe8a739a5941dfad
parentf64d7ab506e73cd9643989e77ffd13654c3d5f55 (diff)
tabu 2.8 (26feb11)
git-svn-id: svn://tug.org/texlive/trunk@21534 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tabu/tabu.pdfbin2513355 -> 2464778 bytes
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.drv8
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.dtx466
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.ins7
-rw-r--r--Master/texmf-dist/tex/latex/tabu/tabu.sty27
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
6 files changed, 257 insertions, 252 deletions
diff --git a/Master/texmf-dist/doc/latex/tabu/tabu.pdf b/Master/texmf-dist/doc/latex/tabu/tabu.pdf
index 630265215ff..9d2ef8a260b 100644
--- a/Master/texmf-dist/doc/latex/tabu/tabu.pdf
+++ b/Master/texmf-dist/doc/latex/tabu/tabu.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.drv b/Master/texmf-dist/source/latex/tabu/tabu.drv
index 7881f2fe600..46dd5ef5499 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.drv
+++ b/Master/texmf-dist/source/latex/tabu/tabu.drv
@@ -9,7 +9,7 @@
%% This is a generated file.
%% Copyright (FC) 2010-2011 - lppl
%%
-%% tabu : 2011/02/25 v2.7 - tabu : Flexible LaTeX tabulars
+%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
%%
%% **********************************************************************************************
%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal
@@ -65,8 +65,8 @@
\let\microtypeYN=y
\edef\thisfile{\jobname}
\def\thisinfo{Flexible \LaTeX{} tabulars (\FC)}
-\def\thisdate{2011/02/25}
-\def\thisversion{2.7}
+\def\thisdate{2011/02/26}
+\def\thisversion{2.8}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/macros/latex}
\def\CTANdisplay{CTAN:macros/latex}
\makeatletter\protected\def\CTANhref{\@ifstar\CTANhrefstar\CTANhrefnost}\makeatother
@@ -103,6 +103,7 @@
\usepackage{fancyvrb}\fvset{gobble=0,listparameters={\topsep=0pt}} % verbatim
\usepackage{interfaces} % interfaces (à tester aussi avant \documentclass)
\usetikz{basic,chains,positioning} % pgf / TikZ
+\usepackage{nccfoots} % \Footnote{marker}{text}
\usepackage{embedfile}
\RequirePackage{amsopn,amsmath}%
\RequirePackage[a]{esvect}% for vectors
@@ -172,6 +173,7 @@ morekeywords=[7]{yellow},
\begin{document}
\DocInput{\thisfile.dtx}
\end{document}
+
\endinput
%%
%% End of file `tabu.drv'.
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.dtx b/Master/texmf-dist/source/latex/tabu/tabu.dtx
index ac5edcd45a4..284698fcb72 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.dtx
+++ b/Master/texmf-dist/source/latex/tabu/tabu.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% tabu : 2011/02/25 v2.7 - tabu: flexible LaTeX tabulars]
+% tabu : 2011/02/26 v2.8 - tabu: flexible LaTeX tabulars]
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -36,7 +36,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2011/02/25 v2.7 - tabu: Flexible LaTeX tabulars}
+\Msg{* Package: 2011/02/26 v2.8 - tabu: Flexible LaTeX tabulars}
\Msg{************************************************************************}
\keepsilent
@@ -48,7 +48,7 @@
This is a generated file.
Copyright (FC) 2010-2011 - lppl
-tabu : 2011/02/25 v2.7 - tabu : Flexible LaTeX tabulars
+tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
**********************************************************************************************
\string\begin{tabu} { preamble } => default target: \string\linewidth or \string\linegoal
@@ -141,8 +141,8 @@ lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
\let\microtypeYN=y
\edef\thisfile{\jobname}
\def\thisinfo{Flexible \LaTeX{} tabulars (\FC)}
-\def\thisdate{2011/02/25}
-\def\thisversion{2.7}
+\def\thisdate{2011/02/26}
+\def\thisversion{2.8}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/macros/latex}
\def\CTANdisplay{CTAN:macros/latex}
\makeatletter\protected\def\CTANhref{\@ifstar\CTANhrefstar\CTANhrefnost}\makeatother
@@ -179,6 +179,7 @@ lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
\usepackage{fancyvrb}\fvset{gobble=0,listparameters={\topsep=0pt}} % verbatim
\usepackage{interfaces} % interfaces (à tester aussi avant \documentclass)
\usetikz{basic,chains,positioning} % pgf / TikZ
+\usepackage{nccfoots} % \Footnote{marker}{text}
\usepackage{embedfile}
\RequirePackage{amsopn,amsmath}%
\RequirePackage[a]{esvect}% for vectors
@@ -252,7 +253,7 @@ morekeywords=[7]{yellow},
%</driver>
% \fi
%
-% \CheckSum{7863}
+% \CheckSum{7884}
%
% \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
@@ -280,13 +281,13 @@ morekeywords=[7]{yellow},
% \DoNotIndex{\par,\providecommand,\relax,\renewcommand,\renewenvironment,\in@@,\o,\on@line,\P,\ProcessOptions,\LNGL@setlinegoal,\set@color,\T,\O,\tabu@adl@endtrial}
% \DoNotIndex{\stepcounter,\usecounter,\nocite,\fi,\tabu@adl@act@endpbox,\tabu@adl@xarraydashrule,\tabu@FV@@@CheckEnd,\tabu@FV@@CheckEnd,\tabu@FV@DefineCheckEnd,\tabu@FV@ListProcessLine}
% \DoNotIndex{\@fileswfalse,\@gobble,\@ifstar,\@unexpandable@protect,\tabu@fornoopORI,\tabu@m@ybesiunitx,\tabu@multic@lumn,\tabu@multicolumnORI,\tabu@s@ved,\tabu@startpboxORI,\tabucline@sc@n,\z}
-% \DoNotIndex{\AtBeginDocument,\AtEndDocument,\begingroup,\endgroup}
+% \DoNotIndex{\AtBeginDocument,\AtEndDocument,\begingroup,\endgroup,\ifnum,\ifodd,\ifdim,\ifcsname,\ifcat,\ifcase,\iffalse,\FancyVerbFormatLine,\begin,\end,\@let@token,\@undefined,\active}
% \DoNotIndex{\frenchspacing,\MessageBreak,\newif,\PackageWarningNoLine,\@addtopreamble,\@depth,\@height,\@width,\@firstofone,\@frameb@x,\@lastchclass,\@M,\m,\@nextchar,\@startpbox}
% \DoNotIndex{\protect,\string,\xdef,\ifx,\texttt,\@biblabel,\bibitem,\@tempa,\{,\},\^,\ ,\DeclareOption,\CT@end,\CT@arc@,\CT@drsc@,\count@,\col@sep,\endgraf,\dimexpr,\fbox,\fboxsep,\g@addto@macro}
% \DoNotIndex{\z@,\wd,\vrule,\voidb@x,\verb,\bibitem,\NC@rewrite@,\NC@list,\NC@do,\NC@,\nobreak,\number,\showbox,\tabu@AtEnd,\tabu@getnbc@ls,\tabu@s@nitizetext}
% \DoNotIndex{\FrameCommand,\MakeFramed,\FrameRestore,\hskip,\hfil,\hfill,\hsize,\hspace,\hss,\hbox,\hb@xt@,\endMakeFramed,\escapechar,\tabu@s@veX,\tabu@sett@rget,\tabu@stack}
-% \DoNotIndex{\do,\date,\if@tempswa,\@tempdima,\@tempboxa,\@tempswatrue,\@tempswafalse,\ifdefined,\ifhmode,\ifmmode,\cr}
-% \DoNotIndex{\box,\author,\advance,\multiply,\Command,\outer,\next,\leavevmode,\kern,\title,\toks@,\trcg@where,\tt}
+% \DoNotIndex{\do,\date,\if@tempswa,\@tempdima,\@tempboxa,\@tempswatrue,\@tempswafalse,\ifdefined,\ifhmode,\ifmmode,\cr,\@lowpenalty,\@medpenalty,\maxdimen,\tabu@,\tabu@@,\tabu@l@@d@rs}
+% \DoNotIndex{\box,\author,\advance,\multiply,\Command,\outer,\next,\leavevmode,\kern,\title,\toks@,\trcg@where,\tt,\tabu@msgalign@PT,\toks}
% \DoNotIndex{\the,\width,\star,\space,\section,\subsection,\textasteriskcentered,\textwidth,\stform}
% \DoNotIndex{\",\:,\@empty,\@for,\@gtempa,\@latex@error,\@namedef,\@nameuse,\@tempa,\@testopt,\@width,\\,\m@ne,\makeatletter,\makeatother}
% \DoNotIndex{\maketitle,\parindent,\x,\kernel@ifnextchar}
@@ -295,7 +296,8 @@ morekeywords=[7]{yellow},
% \makeatletter
% \newrobustcmd\ClearPage{\@ifstar\clearpage{}}
% \providecommand\lsstyle{}
-% \newrobustcmd*\TabU[1][\pkgcolor]{\quitvmode\hbox{{#1{\larger[3]\usefont{U}{eur}mn\char"1C}$_\aleph \mkern.1666mu b\,$\rotatebox[origin=c]{-90}{\sf\smaller U}}}\xspaceverb}
+% \newcommand\TabU {\texorpdfstring \T@bU {tabu }}
+% \newrobustcmd*\T@bU[1][\pkgcolor]{\quitvmode\hbox{{#1{\larger[3]\usefont{U}{eur}mn\char"1C}$_\aleph \mkern.1666mu b\,$\rotatebox[origin=c]{-90}{\sf\smaller U}}}\xspaceverb}
% \newrobustcmd*\TABU[1][\pkgcolor]{\quitvmode\hbox{{#1{\larger[8]\usefont{U}{eur}mn\char"1C}$_\aleph \mkern.1666mu b\,$\rotatebox[origin=c]{-90}{\sf\smaller U}}}\xspaceverb}
% \colorlet{reflink}{CornflowerBlue!40!Indigo}
% \colorlet{pkgcolor}{reflink}
@@ -407,10 +409,10 @@ morekeywords=[7]{yellow},
% \expandafter\SpecialUsageIndex\csname #2\endcsname
% \csanchor[{#1}]{#2}}
% \renewcommand\enddeclcs{%
-% \crcr \hline \end{tabu}\nobreak
-% \par \nobreak \noindent
-% \ignorespacesafterend
-% }
+% \crcr \hline \end{tabu}\nobreak
+% \par \nobreak \noindent
+% \ignorespacesafterend
+% }
% \def\declmargin{\hspace*\declmarginwidth }
% \def\declmarginwidth{\dimexpr -\leftmargini +\arrayrulewidth +\tabcolsep\relax}
% \pretocmd\textasteriskcentered{\usefont{OMS}{cmsy}mn}{}{}
@@ -469,6 +471,7 @@ morekeywords=[7]{yellow},
% }%
% \clearpage
% \tocsetup{depth-=1}
+% \addtocontents{toc}{\tocsetup{subsection/font+=\string\smaller,subsection/skip=-2pt plus2pt minus2pt}}
% \sectionformat\section{bookmark/color=black}\sectionformat\subsection{bookmark/color=black}
% \bookmarksetup{bold*,openlevel=3} \hfuzz=3mm
% \section(Technical notice and Implementation)[\mdseries\scshape\pmb{Technical notice and Implementation}]{\textlarger{Technical notice and Implementation}}\label{implementation}}
@@ -483,11 +486,11 @@ morekeywords=[7]{yellow},
% \AtBeginEnvironment{macro}{\if@nobreak\else\Needspace{2\baselineskip}\fi
% \MacrocodeTopsep\z@skip \MacroTopsep\z@skip \parsep\z@ \topsep\z@ \itemsep\z@ \partopsep\z@
% \let\llap\macro@llap}
-% \AtEndEnvironment{macro}{\goodbreak\vskip.3\parskip}
-% \newrobustcmd*\stform{\ifincsname\else\expandafter\@stform\fi}
-% \newrobustcmd*\@stform{\@ifnextchar*{\@@stform[]\textasteriskcentered\@gobble}\@@stform}
-% \newrobustcmd*\@@stform[2][\string]{\textttbf{#1#2}\Xspace}
-% \newrobustcmd*\xspaceverb{\ifnum\catcode`\ =\active\else\expandafter\xspace\fi}
+% \AtEndEnvironment{macro}{\goodbreak \vskip.3\parskip}
+% \newrobustcmd*\stform{\ifincsname\else \expandafter\@stform \fi}
+% \newrobustcmd*\@stform{\@ifnextchar*{\@@stform[]\textasteriskcentered\@gobble}\@@stform }
+% \newrobustcmd*\@@stform[2][\string]{\textttbf{#1#2}\xspaceverb }
+% \newrobustcmd*\xspaceverb{\ifnum\catcode`\ =\active\else \expandafter\xspace \fi}
% \new\let\Xspace \xspaceverb
%
% \makeatother
@@ -500,8 +503,8 @@ morekeywords=[7]{yellow},
% test =1pt blue,
% testdash =.7pt on1.2pt off 2pt blue,
% }
+% \def\dash{\hbox{$\scriptscriptstyle\cdotp$}}
%
-% \title{\vspace*{-28pt}\href{http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/tabu.html}{\scalebox{2}{\TABU[]}}\vspace*{6pt}}
% \AtBeginShipoutNext{\AtBeginShipoutUpperLeft{%
% \tikz[remember picture,overlay]{
% \coordinate (upper west) at (current page.north west);
@@ -523,20 +526,21 @@ morekeywords=[7]{yellow},
% \eta & \theta & \iota & \kappa \\ \tabucline[b]-
% \end{tabu}}};
% }}}
-%
+% \title{\vspace*{-28pt}\href{http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/tabu.html}{\scalebox{2}{\TABU[]}}\Footnotemark{\textsuperscript*}\vspace*{6pt}}
% \date{}
% \author{\small\thisdate~--~\hyperref[\thisversion]{version \thisversion\ release}}
% \subtitle{\begin{tabu}{X[c]}\Large tabu\, and\, longtabu \\[1ex] \LARGE Flexible \LaTeX{} tabulars\\ \small\FC \end{tabu}\vspace*{-12pt}}
%
% \maketitle
%
-% {\makeatletter\let\@thefnmark\@empty\let\@makefntext\@firstofone
-% \footnotetext{\noindent\parskip=0pt\scriptsize
-% This documentation is produced with the \textt{DocStrip} utility, and required \thispackage with its \textt{linegoal} option.\par
-% \begin{tabu}{X[-3]X[-1]X}
-% \smex To get the package, &run: &\texttt{etex \thisfile.dtx} \\
+% {\makeatletter
+% \Footnotetext{*}{\noindent\parskip=0pt\scriptsize
+% This documentation is produced with the \textt{DocStrip} utility, and required \thispackage
+% with its \hyperref[subsec:linegoal package option]{\textt{linegoal}} option.\par
+% \begin{tabu} {X[-3]X[-1]X}
+% \smex To get the package, &run: &\textt{etex \thisfile.dtx} \\
% \smex To get the documentation &run (thrice): &\textt{pdflatex \thisfile.dtx} \\
-% \leavevmode\hphantom\smex To get the index, &run: &\texttt{makeindex -s gind.ist \thisfile.idx}
+% \leavevmode\hphantom\smex To get the index, &run: &\textt{makeindex -s gind.ist \thisfile.idx}
% \end{tabu}§
% The \xext{dtx} file is embedded into this pdf file thank to \Xpackage{embedfile} by H. Oberdiek.}
% }
@@ -546,15 +550,15 @@ morekeywords=[7]{yellow},
% {\let\quotation\relax\let\endquotation\relax\vspace*{-1cm}%
% \begin{abstract}\parskip\smallskipamount\parindent0pt\lastlinefit0\leftskip.2cm\rightskip\leftskip
%
-% This package defines a single environment \textt{tabu} to make all kinds of tabulars in text or in math mode
-% provided that they do not split across pages.
+% This package defines a single environment \env{tabu} to make all kinds of tabulars
+% in text or in math mode provided that they do not split across pages.
%
-% An environment \textt{longtabu} -- based on D. Carlisle \Xpackage{longtable} package --
+% An environment \env{longtabu} -- based on D. Carlisle \Xpackage{longtable} package --
% is also provided to make tabulars that can stretch out on several pages, while keeping
% some features (not all of them) of the \env*{tabu}.
%
-% \textt{tabu} is more flexible that \textt{tabular}, \textt{tabular*}, \textt{tabularx}
-% and \textt{array} and extends the possibilities. All tabulars in this document were made
+% \env{tabu} is more flexible that \env{tabular}, \env{tabular*}, \env{tabularx}
+% and \env{array} and extends the possibilities. All tabulars in this document were made
% with the \env*{tabu}, \emph{of course}... The implementation is optimised to minimise the
% measurements required to put all together.
%
@@ -604,9 +608,9 @@ morekeywords=[7]{yellow},
%
% \changefont{spread*=1.1}
% \phantomsection \label{Summary}
-% \addcontentsline{toc}{section}{Summary of the features provided by \textt{\pkgcolor t\,a\,b\,u}}
+% \addcontentsline{toc}{section}{\protect\textcolor{FireBrick}{Summary of the features provided by \TabU}} ^^A\textt{\pkgcolor t\,a\,b\,u}}}
% \def\arraystretch{1}\vspace*{-9mm}
-% \tabcolsep=3pt \tabulinesep=.5mm \def\dash{\hbox{$\scriptscriptstyle\cdotp$}}
+% \tabcolsep=3pt \tabulinesep=.5mm
% \begin{longtabu}{>{\ttfamily\bfseries}X[-1]X} \toprule
% \rowfont{\larger\bfseries\lsstyle}
% \multicolumn2c{Summary of the features provided by \thispackage}
@@ -619,19 +623,20 @@ morekeywords=[7]{yellow},
% is like \textt{longtable} with the possibility to use \textt{tabu X} columns and vertical lines
% with the extended syntax.
% \\
-% \M*{tabu} to \meta{dimen} &
+% \hyperref[tabu.sec]{\M*{tabu} to \meta{dimen}} &
% specifies the target width of the whole tabular. This is like \textt{tabular\textasteriskcentered}\,
% with an automatic stretchability that can be overwritten with \textt{@\M*{\cs\extracolsep\M*{dimen}}}
% in front of the preamble.
% \\
-% \M*{tabu} spread \meta{dimen} &
+% \hyperref[longtabu.sec]{\M*{tabu} spread \meta{dimen}} &
% has no equivalent in \LaTeX: the final width is \meta{dimen} wider than the
% natural width that can be obtained with \textt{spread 0pt}.
% \\ \tabucline[\dash]-
% \hyperref[Vertical lines]{\texttbf\textbar[width,color]} &
% vertical lines have an optional parameter.
% \\ \tabucline[\dash]-
-% \hyperref[tabu X columns]{X[coef,align,type]} \par X[coef,align,type,\$] &
+% \hyperref[tabu X columns]{X[coef,align,type]} \par
+% \refitem{tabu X columns,3}[{X[coef,align,type,\$]}] &
% \textt X columns widths are adjusted in order for the whole tabular to fit the
% target width. The target width is a dimension either:
% \begin{itempunct}[label=\ding{223}]
@@ -650,7 +655,7 @@ morekeywords=[7]{yellow},
% Then the width is made narrower down to the natural width of the column if possible.\par
% In any case, the final width does not exceed the one obtained with \textt{X$\mathversion{bold}\left[\abs{\textt{coef}}\right]$}.
% \\
-% \textt{X\M*[X options]\M*{S\M*[S options]}} &
+% \hyperref[subsec:embedding siunitx S columns]{\textt{X\M*[X options]\M*{S\M*[S options]}}} &
% Embed a \Xpackage{siunitx} \textt S column into a \env{tabu}-\textt X column.
% \\ \tabucline[\dash]-
% \cs\everyrow\M*{code} & Allows to add horizontal lines automatically for every row.\par
@@ -872,7 +877,7 @@ morekeywords=[7]{yellow},
%
% \setbox\tempbox=\vbox{\linewidth=.65\linewidth\hsize\linewidth\smaller
% \begin{lstlisting}
-% \taburowcolors 5{SkyBlue!65 .. Gold!60}
+% \taburowcolors 5{green!25 .. yellow!50}
% \begin{tabu}{X[-1]X}
% \repeatcell 2{
% rows=10,
@@ -887,7 +892,7 @@ morekeywords=[7]{yellow},
% \begin{tabu}{X[2mc]X[mc]}
% \indent\copy\tempbox
% &
-% \taburowcolors 5{SkyBlue!65 .. Gold!60}
+% \taburowcolors 5{green!25 .. yellow!50}
% \begin{tabu}{X[-1]X}
% \repeatcell 2{
% rows=10,
@@ -931,6 +936,7 @@ morekeywords=[7]{yellow},
%
% \Needspace{4\baselineskip}
% \subsection(Verbatim material){Inserting Verbatim material (\xpackage{fancyvrb})}
+% \label{Verbatim material.subsec}
%
% Though the content of the \env*{tabu} is collected for measuring purpose, it is possible to insert
% verbatim material with the \env{tabu\stform*} variant of the environment. The content is then carefully
@@ -1051,6 +1057,7 @@ morekeywords=[7]{yellow},
%
%
% \subsection(siunitx S columns inside tabu X columns){Embedding \xpackage{sunitx} \textt S columns inside \textt X columns}
+% \label{subsec:embedding siunitx S columns}
%
% A \textt S column from \Xpackage{siunitx} can be embedded into a \textt X column of \thispackage... with the following limitations:
% \begin{itemize}[leftmargin=2em]
@@ -1178,18 +1185,18 @@ morekeywords=[7]{yellow},
% the \textbf{column type} (\textt p, \textt m, or \textt b). \\
% \env{tabu} has a \refitem{item:default target width}[default target width] when used with \textt X columns,
% making nesting even easier.
-% \item You are used to the \env*{tabular} in text mode, and \env*{array} in math mode,
+% \item You are used to the \env*{tabular} in text mode, and \env*{array} in \hyperref[math mode.sec]{math mode},
% but \env{tabu} works in both modes and its name does not change... \textt X columns are also
-% possible in math mode; \xpackage{delarray} shortcuts for delimiters are available in both math and text modes.
+% possible in \hyperref[math mode.sec]{math mode}; \xpackage{delarray} shortcuts for delimiters are available in both math and text modes.
% \item A \env*{tabu} can contain another tabular of any kind: \env{tabular}, \env{tabular\stform*},
% \env{tabularx} or \env{tabu} itself can be placed in any cell of a \env{tabu}. Conversely,
% \env{tabu} can be placed in a \env{tabular}, \env{tabularx} \etc.
% \item \env{tabu} provides facilities for \hyperref[Lines inside tabu]{vertical and horizontal lines},
-% and for the insertion of \hyperref[Verbatim inside tabu]{verbatim text} inside \textt X columns.
+% and for the insertion of \hyperref[Verbatim material.subsec]{verbatim text} inside \textt X columns.
% \item \env{tabu} is fully compatible with \xpackage{colortbl}, \xpackage{delarray}, \xpackage{hhline},
% \xpackage{makecell}, \xpackage{booktabs}, \xpackage{siunitx}, \xpackage{dcolumn}, \xpackage{warpcol}, \etc.
% When you are inside a \env*{tabu}, you can use \cs\raggedleft, \cs\raggedright
-% and \cs\centering without special care about \cs\arraybackslash and conversely \string\\\ has its
+% and \cs\centering without special care about \cs\arraybackslash and conversely \cs\\ has its
% ``normal'' meaning inside a list of items that may appear in a \textt X column...
% \end{itemize}
%
@@ -1197,7 +1204,7 @@ morekeywords=[7]{yellow},
%
% \declmargin \cs{begin}\M*{tabu} \textt{to}\meta{dimen} is like \env{tabular\textasteriskcentered} but the inter-columns space is
% given a stretchability of 1fil, in other words \textt{@\M*{\cs\extracolsep\M*{0pt plus 1fil}}}
-% is inserted by default at the beginning of the tabular preamble, unless another value for \cs{extracolsep} is specified. Therefore
+% is inserted by default at the beginning of the tabular preamble, unless another value for \cs\extracolsep is specified. Therefore
% ``\env{tabu to}'' fills in width the specified \meta{dimen}.
%
% \bigskip
@@ -1225,18 +1232,24 @@ morekeywords=[7]{yellow},
%
% The following commands provided for \textt{tabu} do not work with \textt{longtabu}:\par\nobreak
% \let\theadfont\bfseries
-% \begin{tabu}{X[-1]*2{X[-1c]}X} \toprule
-% \rowfont[c]{\bfseries} \textt{tabu} command &\thead{Not \\available} &\thead{Not \\implemented} &Comment \\\tabucline[dash]-
-% \csref{tabucline} & &\AsteriskRoundedEnds &\cs{tabucline} does not care of page breaks presently: use \cs{hline} instead. \\
-% \csref{usetabu} &\CheckFAIL & &but \csref{savetabu} and \csref{preamble} work. \\
-% \hyperref[math mode.sec]{mathematical mode} &\CheckFAIL & &\textt{longtable} is not designed to work in math mode. \\
-% \xpackage{delarray} shortcuts &\CheckFAIL & &a delimiter cannot be spanned over pages... \\
-% \csref{tabuphantomline} &\CheckFAIL & &useless inside \textt{longtabu}
-% \\\bottomrule
+% \newtabulinestyle{green-yellow=on 3pt LawnGreen off3pt yellow!60}
+% {\tabulinesep=2pt
+% \begin{tabu}{X[-1]*2{X[-1c]}X} \tabucline[\heavyrulewidth]-
+% \rowfont[c]\bfseries
+% \env{tabu} command &\thead{Not \\available} &\thead{Not (yet)\\implemented} &Comment \\\tabucline[\dash]- \everyrow{\tabucline[green-yellow]-}
+% \cs\tabucline & &\indent\lower.5ex\hbox{\AsteriskRoundedEnds} &\cs\tabucline does not care of page breaks presently: use \cs\hline instead. \\
+% \cs\usetabu &\CheckFAIL & &but \cs\savetabu and \cs\preamble work. \\
+% \hyperref[math mode.sec]{mathematical mode} &\CheckFAIL & &\env{longtable} is not designed to work in math mode. \\
+% \xpackage{delarray} shortcuts &\CheckFAIL & &a delimiter cannot be spanned over pages... \\
+% \cs\tabuphantomline &\CheckFAIL & &useless inside \env{longtabu}
+% \everyrow{} \\\tabucline[\heavyrulewidth]-
% \end{tabu}
+% }
%
-% However, \textt{tabu X} columns, \cs\rowfont, \cs\extrarowsep, \cs\tabulinesep, \cs\tabudecimal work inside \env{longtabu}.
-%
+% However, \hyperref[tabu X columns]{\textt{tabu X} columns}, \cs\rowfont, \cs\extrarowsep, \cs\tabulinesep, \cs\tabudecimal,
+% \cs\tabucline (with restrictions on page breaks), \cs\taburulecolor, \cs\tabulinestyle, \cs\taburowcolors, \cs\preamble,
+% \hyperref[longtabu.sec]{\env{\M*{longtabu} to}}, \hyperref[longtabu.sec]{\env{\M*{longtabu} spread}}
+% work inside \env{longtabu}.
%
% \subsection{\textt{tabu X} columns -- Mastering horizontal space}
% \label{tabu X columns}
@@ -1255,7 +1268,7 @@ morekeywords=[7]{yellow},
% and if the \emph{natural width} of the first \textt X column is finally less than
% $2.5 \times \left(\text{the width of the second column}\right)$ then it will be narrowed down to this natural width.
% \textbf{The following \textt{tabu}{\smaller s} have the same preamble:} \\
-% \hspace*{1em}\cs{begin}\M*{tabu} to\cs{linewidth}\M*{|X\M*[$-$2.5c]|X\M*[c]|}: \\
+% \hspace*{1em}\cs{begin}\M*{tabu} to\cs\linewidth\M*{|X\M*[$-$2.5c]|X\M*[c]|}: \\
% \begin{tabu} to\linewidth{|X[c,-2.5]|X[c]|} \tabucline-
% \textt{X[$-$2.5]} & \textt X \\ \tabucline-
% \end{tabu} \\
@@ -1273,7 +1286,7 @@ morekeywords=[7]{yellow},
% \$ & \textt{X\M*[\$]} is a shortcut for:\, \textt{>\M*{\$}X<\M*{\$}} & \\
% \$\$ & \textt{X\M*[\$\$]} is a shortcut for:\, \textt{>\M*{\$\cs\displaystyle}X<\M*{\$}} & \\
% \end{tabu}
-% \item \textt{tabu X} columns can be spanned with \cs{multicolum}.
+% \item \textt{tabu X} columns can be spanned with \cs\multicolum.
% \item \textt{tabu X} columns can be used with ``\textt{tabu spread}'' for small tabulars.
% \item \textt{tabu X} columns can contain any type of \textt{tabular}, \textt{tabular*}, \textt{tabularx} or \textt{tabu}
% without special care about the syntax. \textt{tabu} can also be put inside \textt{tabular}, \textt{tabular*}
@@ -1282,26 +1295,27 @@ morekeywords=[7]{yellow},
% (for \textt{top}) while the default global alignment of a \textt{tabu} in a paragraph is \textt c (for \textt{centered}).
% ^^AWhen nested inside another \textt{tabu}, \textt{tabu} takes care not to add duplicate margins around its cells...
% \item The ``algorithm'' (or the arithmetic) to get the target width for \textt{tabu X} columns is the same as the one
-% used by \xpackage{tabularx}. \cs{hfuzz} is the ``tolerance'' for the whole tabular width. We use \eTeX{} \cs{dimexpr}
+% used by \xpackage{tabularx}. \cs\hfuzz is the ``tolerance'' for the whole tabular width. We use \eTeX{} \cs{dimexpr}
+
% instead of \TeX{} primitives (with round/truncate bias correction).
% \item \label{item:convergence optimisation} Convergence to the target width is optimised:
-% the \cs{halign} preamble is not re-built at each trial, but only expanded again,
+% the \cs\halign preamble is not re-built at each trial, but only expanded again,
% until the target is reached. Though optimized, the process is the same as the one implemented for \textt{tabularx}
% and in particular the content of the \textt{tabu} environment is collected as soon as a \textt{tabu X} column
% is found in the preamble. This implies restrictions on catcode modifications and verbatim text inside
% a \textt{tabu} with \textt X columns.
% \item \label{item:default target width} If the width of the whole tabular is not specified with ``\textt{tabu to}''
-% it is considered to be \cs{linewidth}.
-% \nameref{subsec:linegoal package option} makes the default width equal to \cs{linegoal}. Compilation must then be done
+% it is considered to be \cs\linewidth.
+% \nameref{subsec:linegoal package option} makes the default width equal to \cs\linegoal. Compilation must then be done
% with \hologo{pdfTeX} either in \textt{pdf} or \textt{dvi} mode, and package \xpackage{linegoal} is loaded.
-% \cs{linegoal} requires \hologo{pdfTeX} for its \cs{pdfsavepos} primitive and the \xpackage{zref-savepos}:
+% \cs\linegoal requires \hologo{pdfTeX} for its \cs\pdfsavepos primitive and the \xpackage{zref-savepos}:
% if the \textt{tabu} is not alone in its paragraph \ie if the target is not
-% \cs{linewidth}, then two compilations (or more) are required to get the correct target. \\
-% Default target for nested \textt{tabu} environments is always \cs{linewidth}, which equals to the column width inside
+% \cs\linewidth, then two compilations (or more) are required to get the correct target. \\
+% Default target for nested \textt{tabu} environments is always \cs\linewidth, which equals to the column width inside
% \textt p, \textt m, \textt b and \textt X columns.
-% \item As long as the \cs{halign} content is expanded more than once, protections against counters incrementation, whatsits (\emph{write})
+% \item As long as the \cs\halign content is expanded more than once, protections against counters incrementation, whatsits (\emph{write})
% index entries, footnotes \etc. are set up: the mechanism of \xpackage{tabularx} is reimplemented and enhanced for \textt{tabu X} columns.
-% \cs{tabuDisableCommands} can be used to neutralize the expansion of additional macros during the trials.
+% \cs\tabuDisableCommands can be used to neutralize the expansion of additional macros during the trials.
% \end{itemize}
%
% \subsubsection(X columns with tabu spread){X columns with ``\textt{tabu spread}''}
@@ -1372,7 +1386,7 @@ morekeywords=[7]{yellow},
% of British folklore. Holmes is alive to millions."
% &
% There the text was too long, and \textt{tabu spread} behaves as if you didn't give it a target.\par\vskip\baselineskip
-% The result of this example is the same as if one had written \cs{begin}\M*{tabu}\textt{to}\cs{linewidth}.
+% The result of this example is the same as if one had written \cs{begin}\M*{tabu}\textt{to}\cs\linewidth.
% & \cellcolor{GhostWhite}\centering\rotatebox{-90}{\kern-1.4ex\bfseries Sherlock Holmes}
% \\ \tabucline{1-2}
% \multicolumn{2}{|c|}{The ``official'' web site: \url{http://www.sherlockholmes.com/}} & \omit \\ \tabucline{-2}
@@ -1464,8 +1478,8 @@ morekeywords=[7]{yellow},
% \tabuphantomline
% \end{tabu}
%
-% Remember you may need \cs{tabuphantomline} in conjunction with \cs{savetabu} and \cs{usetabu} with \cs{multicolumn}.
-% Even if it is possible to add a \cs{tabuphantomline} in any line of the \textt{tabu}, it is a good practice
+% Remember you may need \cs\tabuphantomline in conjunction with \cs\savetabu and \cs\usetabu with \cs\multicolumn.
+% Even if it is possible to add a \cs\tabuphantomline in any line of the \textt{tabu}, it is a good practice
% to append it \emph{at the end} of the \textt{tabu}, for it may introduce indesirable side effects on vertical alignment
% otherwise, when \textt{tabu} is nested inside another tabular.
%
@@ -1479,10 +1493,10 @@ morekeywords=[7]{yellow},
% \label{tabulinesep.subsec}\label{vertical spacing.sec}
%
% \begin{declcs}{tabulinesep}$=$\meta{dimen} \\
-% \cs{tabulinesep}$=$\string^\meta{dimen} \\
-% \cs{tabulinesep}$=$\string_ \meta{dimen} \\
-% \cs{tabulinesep}$=$\string^\meta{dimen}\string_\meta{dimen} \\
-% \cs{tabulinesep}$=$\string_\meta{dimen}\string^\meta{dimen}
+% \cs\tabulinesep$=$\string^\meta{dimen} \\
+% \cs\tabulinesep$=$\string_ \meta{dimen} \\
+% \cs\tabulinesep$=$\string^\meta{dimen}\string_\meta{dimen} \\
+% \cs\tabulinesep$=$\string_\meta{dimen}\string^\meta{dimen}
% \end{declcs}
%
% \cs\tabulinesep sets the \emph{minimal } vertical space allowed between the cell content and the
@@ -1531,10 +1545,10 @@ morekeywords=[7]{yellow},
% \cs\tabulinesep is a soft parameter, and leads to rows which do not share the same height.
%
% \begin{declcs}{extrarowsep}$=$\meta{dimen} \\
-% \cs{extrarowsep}$=$\string^\meta{dimen} \\
-% \cs{extrarowsep}$=$\string_ \meta{dimen} \\
-% \cs{extrarowsep}$=$\string^\meta{dimen}\string_\meta{dimen} \\
-% \cs{extrarowsep}$=$\string_\meta{dimen}\string^\meta{dimen}
+% \cs\extrarowsep$=$\string^\meta{dimen} \\
+% \cs\extrarowsep$=$\string_ \meta{dimen} \\
+% \cs\extrarowsep$=$\string^\meta{dimen}\string_\meta{dimen} \\
+% \cs\extrarowsep$=$\string_\meta{dimen}\string^\meta{dimen}
% \end{declcs}
%
% \cs\extrarowsep is an extra vertical space which is added to each row, inconditionally. \xfile{array.sty}
@@ -1561,8 +1575,7 @@ morekeywords=[7]{yellow},
%
% These parameters can be used in text and math modes.
%
-% Examples \textcolor{gray}{(with \cs\tracingtabu$=3$ and \Xpackage{interfaces}-\cs\papergraduate to see the struts)}:
-%
+% Examples \textcolor{gray}{(with \cs\tracingtabu$=3$ and \Xpackage{interfaces}-\cs\papergraduate to see the struts)}:\par\nobreak
% {
% \def\arraystretch{1}
% \def\smalltest#1#2{\tracingtabu=3 \begin{tabu}{#1} \hline #2 \\ \hline \end{tabu}}
@@ -1581,30 +1594,25 @@ morekeywords=[7]{yellow},
% &
% \smalltest{X[-1c]X[-1c$]}{First & \dpartial \Phi \theta \\ \hline Second & \dtotal \theta t}
% \\ \tabucline[testdash]-
-% \multicolumn4{|[test]c|[test]}{\cs{extrarowsep}=$#1$}
+% \multicolumn4{|[test]c|[test]}{\cs\extrarowsep=$#1$}
% \\ \tabucline[test]-
% \end{tabu}
% }}
-%
% \tikz{
% \papergraduate [xcolor=ForestGreen,ycolor=Maroon,opacity=.1,text opacity=.9] (0,0) (158mm,46mm);
% \node at (5mm,5mm) [anchor=south west,inner sep=0pt] {\test{3mm}};
% }
-%
% \tikz{
% \papergraduate[xcolor=ForestGreen,ycolor=Maroon,opacity=.1,text opacity=.9] (0,0) (158mm,40mm);
% \node at (5mm,5mm) [anchor=south west,inner sep=0pt] {\test{0mm}};
% }
% }
%
-%
-%
% \subsection{\textt{tabu} in math mode}
% \label{math mode.sec}
%
-% {
-% \tabulinesep=3pt
-% \begin{tabu} to\linewidth{XX[-1$]} \toprule
+% {\tabulinesep=2pt
+% \begin{tabu} to\linewidth {XX[-1$]} \toprule
% On the left, you can see the famous Maxwell-Lorentz equations for electromagnetic field in vacuum,
% publicated in \oldstylenums{1873}.
% &
@@ -1618,15 +1626,13 @@ morekeywords=[7]{yellow},
% \\ \bottomrule
% \end{tabu}}
%
-% In this example, the big \textt{tabu} is: \cs{begin}\M*{tabu} to\cs\linewidth\M*{XX[-1\$]}.
-%
-% The nested \textt{tabu} (in math mode) uses \xpackage{delarray} shortcut: its preamble is: \Verb+\begin{tabu}({rl}.+
+% In this example, the big \env{tabu} is: \cs{begin}\M*{tabu} to\cs\linewidth \M*{XX[-1\$]}.
%
-% \cs\tabulinesep has been set to \texttbf{3pt}.
+% The nested \env{tabu} (in math mode) uses \xpackage{delarray} shortcut: its preamble is: \Verb+\begin{tabu}({rl}.+
%
+% \cs\tabulinesep has been set to \texttbf{2pt}.
% Horizontal rules are \Xpackage{booktabs} \cs\toprule and \cs\bottomrule.
%
-%
% \begin{tabu}{@{}*3{X[c]@{}}} \toprule \savetabu{math}
% \rowfont{\bfseries\ttfamily} array & tabu & tabu spread $1em$ \\ \midrule
% $\begin{array} [t] |{cc}|
@@ -1646,7 +1652,6 @@ morekeywords=[7]{yellow},
% \\ \bottomrule
% \end{tabu}
%
-%
% Here, vertical lines are made with \xpackage{delarray} shortcuts:\hfill
% \verb+$\begin{tabu} spread 1em |{cc}|+
%
@@ -1661,8 +1666,7 @@ morekeywords=[7]{yellow},
% \end{tabu}
%
% \bigskip
-% {\raggedleft\footnotesize\lk This was an example of \csref{savetabu}...\csref{usetabu} to keep the alignment.\par}
-%
+% {\raggedleft\footnotesize\lk This was an example of \cs\savetabu...\cs\usetabu to keep the alignment.\par}
%
% \section{Lines leaders and colors inside \env{tabu}}
% \label{Lines inside tabu}
@@ -1670,25 +1674,24 @@ morekeywords=[7]{yellow},
% \subsection{First important remark}
%
% The features provided in this section are quite experimental: they are not generally taken for good typography.
-% You can use \xpackage{tabu} with package \xpackage{booktabs} for example, which provides properly designed
+% You can use \thispackage with package \xpackage{booktabs} for example, which provides properly designed
% commands for horizontal rules in tabulars. \xpackage{arydshln} is pretty good too, but it modifies a huge
% amount of macros of \xfile{array.sty}, something that \thispackage does not.
%
-% Lines in \textt{tabu} printed in this document are mostly made with \xpackage{booktabs}.
+% Lines in \env{tabu} printed in this document are mostly made with \xpackage{booktabs}.
%
%
% \subsection(Vertical lines){Vertical lines: \textt\textbar\ has an optional parameter}
-% \label{Vertical lines}
+% \label{Vertical lines}\enlargethispage\baselineskip
%
% Inside \textt{tabu} environment, the vertical line marker \textt\textbar\ has an \emph{optional} argument
-% which is the width of the vertical rule. The default width remains \cs{arrayrulewidth} of course.
+% which is the width of the vertical rule. The default width remains \cs\arrayrulewidth of course.
% The optional argument for \textt\textbar\ can also contain the name of a color.
% color \emph{names} are only possible, not a color specification by the mean of a color model.
-% The width of the line if specified, must come before the color name and... as for \textt X columns
-% parameters, commas are optional.
+% The width of the line if specified, must come before the color name and...
+% as for \hyperref[tabu X columns]{\textt X columns} parameters, commas are optional.
%
% Example:\par\nobreak
-%
% {\tabcolsep=3pt\def\margintext#1{\noalign{\vtop to0pt{\marginnote{\rotatebox{45}{\ttfamily\small #1}}[-2cm]\vss}}}
% \begin{tabu*}{@{}X[-1mc]X[m]X[-2ml]@{}} \toprule
% \begin{tabu}{||[5pt]|c|c||[5pt]|}
@@ -1736,8 +1739,7 @@ morekeywords=[7]{yellow},
% can be used to preserve the alignment of text, when using horizontal lines.
% Besides, the optional argument can be used to change (locally) the \cs\extratabsurround dimension.
%
-% The example of \xpackage{array} documentation is:
-%
+% The example of \xpackage{array} documentation is:\par\nobreak
% {\centering
% \begin{tabu}to 10.5cm{|[test]*2{X[mc]|[test]}} \tabucline[test]-
% Tables
@@ -1768,14 +1770,14 @@ morekeywords=[7]{yellow},
% \end{tabu}
% \par}
%
-% Now with \textt{tabu} you can make double, triple (or more) \cs\firsthline or \cs\lasthline as in:\par\nobreak
-%
+% Now with \env{tabu} you can make double, triple (or more) \cs\firsthline or \cs\lasthline as in:\par\nobreak
% {\centering
-% \tabulinesep=1mm
-% \begin{tabu*}{|[test]@{}X[-.5m]@{}|[test]X[2m]@{}|[test]m{4.5cm}|[test]} \tabucline[test]-
+% \tabulinesep=1mm\tabulinestyle{test}
+% \begin{tabu*}{|@{}X[-.5m]@{}|X[2m]@{}|m{4.5cm}|} \tabucline-
% \tikz{\node [rotate=65,inner sep=0pt,outer sep=0pt]
-% {\begin{tabu}{c}Top \\ alignment\end{tabu}};}
+% {\begin{tabu}{c}Top \\ alignment\end{tabu}};}
% &
+% \indent
% \begin{Verbatim}[commandchars=$()]
% Tables
% \begin{tabu}[($bf$red(t))]{c}
@@ -1801,8 +1803,9 @@ morekeywords=[7]{yellow},
% \end{tabu} used.%
% \\ \tabucline[testdash]-
% \tikz{\node [rotate=65,inner sep=0pt,outer sep=0pt]
-% {\begin{tabu}{c}Bottom \\ alignment\end{tabu}};}
+% {\begin{tabu}{c}Bottom \\ alignment\end{tabu}};}
% &
+% \indent
% \begin{Verbatim}[commandchars=$()]
% Tables
% \begin{tabu}[($bf$red(t))]{c}
@@ -1826,7 +1829,7 @@ morekeywords=[7]{yellow},
% with some \\ line \\ \tikzlabel{extratabstrut}commands \\
% \lasthline\hline\hline\hline
% \end{tabu} used.%
-% \\ \tabucline[test]-
+% \\ \tabucline-
% \end{tabu*}
% \par}
%
@@ -1835,7 +1838,7 @@ morekeywords=[7]{yellow},
% &and also to: &\cs\firstline \cs\hline \cs\hline \cs\hline
% \end{tabu}
%
-% But the optional argument must come in \emph{first position}: \cs{firsthline}\M*[extratabsurround] ...
+% But the optional argument must come in \emph{first position}: \cs\firsthline\M*[extratabsurround] ...
%
% The same for \cs\lastline.
%
@@ -1846,7 +1849,7 @@ morekeywords=[7]{yellow},
% \subsection(Lines styles){More style for lines}
%
% \begin{declcs}{taburulecolor}\M{rule color} \\
-% \cs{taburulecolor}\M|double rule sep color|\M{rule color}
+% \cs\taburulecolor\M|double rule sep color|\M{rule color}
% \end{declcs}
%
% \cs\taburulecolor sets (in a ``locally-global'' way) the color to be used for \cs\hline, \cs\firsthline, \cs\lasthline and
@@ -1929,15 +1932,15 @@ morekeywords=[7]{yellow},
% \begin{declcs}{tabucline}\M[style or spec.]\M*{start-end}\\
% \end{declcs}
%
-% \cs{tabucline} is an attempt to give a versatile command to make horizontal lines:
+% \cs\tabucline is an attempt to give a versatile command to make horizontal lines:
% \begin{itemize}
-% \item \cs{tabucline} is pretty good with vertical lines even if the thickness of the line grows up,
-% \item \cs{tabucline} takes care of \cs{extrarowheight},
-% \item \cs{tabucline} can make horizontal dashed lines, with a \xpackage{pgf}/\xpackage{TikZ} syntax:\\
-% \cs{tabucline}\M*[\meta{width} on\meta{dash} off\meta{gap}]\M*{\meta{first column}-\meta{last column}}
-% \item alternatively, you can give \cs{tabucline} a \cs{hbox} to make a leader with it: The \meta{\ttfamily spec.} must then
-% begin with \cs{hbox}, \cs{box} or \cs{copy},
-% \item finally you can give \cs{tabucline} a color \emph{name}, after the line specification.
+% \item \cs\tabucline is pretty good with vertical lines even if the thickness of the line grows up,
+% \item \cs\tabucline takes care of \cs\extrarowheight,
+% \item \cs\tabucline can make horizontal dashed lines, with a \xpackage{pgf}/\xpackage{TikZ} syntax:\\
+% \cs\tabucline\M*[\meta{width} on\meta{dash} off\meta{gap}]\M*{\meta{first column}-\meta{last column}}
+% \item alternatively, you can give \cs\tabucline a \cs\hbox to make a leader with it: The \meta{\ttfamily spec.} must then
+% begin with \cs\hbox, \cs\box or \cs\copy,
+% \item finally you can give \cs\tabucline a color \emph{name}, after the line specification.
% \end{itemize}
%
% Any parameter can be omitted. \newtabulinestyle{tabucline=.4pt on2pt off1.5pt}
@@ -1951,10 +1954,10 @@ morekeywords=[7]{yellow},
% stops at column 2. \\ \tabucline[1pt on 1.5pt off 2pt]{1-4} \margintext{[1pt on 1.5pt off 2pt]}
% \cs\tabucline\M*[1.5pt]\M*{-} & draws a horizontal solid line of width \textt{1.5pt} between the first
% and the last column. \\ \tabucline[1.5pt]{-} \margintext{[1.5pt]}
-% \cs\tabucline\M*{2-} & \spaceskip=\fontdimen2\font plus1em\relax draws a horizontal solid line of width \cs{arrayrulewidth} between the second
+% \cs\tabucline\M*{2-} & \spaceskip=\fontdimen2\font plus1em\relax draws a horizontal solid line of width \cs\arrayrulewidth between the second
% column and the last one.\\ \tabucline{2-} \margintext{default}
% \cs\tabucline\M*[on 2pt red]\M*{-5} & draws a horizontal dashed line between columns 1 and 5
-% of width \cs{arrayrulewidth}. Dashed are
+% of width \cs\arrayrulewidth. Dashed are
% \textt{2pt} long and gap width is \textt{4pt} (the default).
% \\ \tabucline[on 2pt red]{-5} \margintext{[on 2pt red]}
% \end{tabu}
@@ -2286,40 +2289,29 @@ morekeywords=[7]{yellow},
% \xpackage{dcolumn} or \xpackage{rccol}. It just make
% easy to apply a macro you get already on each number in a column of a \env{tabu}.
%
-% \cs{tabudecimal} has been developped mainly because it makes possible to align numbers inside \textt{tabu X} columns.
+% \cs\tabudecimal has been developped mainly because it makes possible to align numbers inside \textt{tabu X} columns.
%
% \begin{declcs}{tabudecimal}\M{user-macro}
% \end{declcs}
%
-% \cs{tabudecimal} can be used in the preamble of a \env{tabu} before a column specification.
+% \cs\tabudecimal can be used in the preamble of a \env{tabu} before a column specification.
% The \meta{user-macro} is a macro with one parameter that has to be defined before.
%
% \medskip
%
% Example with \csbf\numprint:
%
-%
% \begin{Verb*}
% \def\usermacro#1{\numprint[\officialeuro]{\zap@space #1 \@empty}}
% \nprounddigits{2} \npprintnull \npthousandsep{\,} \npunitseparator{~}
% \end{Verb*}
%
-% \begin{SaveVerbatim}{tabudecimal}
-% \begin{tabu}{*2{>{\tabudecimal\usermacro}r}}
-% 12.324 &745.32 \\
-% 21.13 &0 \\
-% 213.3245 &12.342 \\
-% 322143.12 &324.325 \\
-% \end{tabu}
-% \end{SaveVerbatim}
-%
% \nprounddigits{2} \npprintnull \npthousandsep{\,} \npunitseparator{~}
% \makeatletter \let\npunitcommand\@firstofone
% \def\usermacro#1{\numprint[\officialeuro]{\zap@space #1 \@empty}}
% \makeatother
%
% \begin{tabu*}{XX}
-% ^^A\multicolumn2l{\Verb+\begin{tabu}{|[GreenYellow]*2{>{\tabudecimal\usermacro}X[r]|[GreenYellow]}}+} \\ ^^A ICI PROBLEME
% {
% \begin{Verbatim}
% \rowfont[c]{\bf} January & February \\
@@ -2457,7 +2449,7 @@ morekeywords=[7]{yellow},
% {\hfill\scriptsize\lk Here \cs\tabulinesep$=3mm$\par}
% }
%
-% \section(Differences: tabu, tabular, tabularx, longtable){Differences between \textt{tabu},\, \textt{tabular},\, \textt{tabularx} and \textt{longtable}}
+% \section(Differences: tabu, tabular, tabularx, longtable){Differences between \env{tabu},\, \env{tabular},\, \env{tabularx} and \env{longtable}}
%
% \subsection{Paragraph indentation}
%
@@ -2497,7 +2489,7 @@ morekeywords=[7]{yellow},
% \end{SaveVerbatim}
%
%
-% When you typeset the following \textt{tabular}:
+% When you typeset the following \env{tabular}:
% \UseVerbatim{tempVerb}
%
% \begin{tabu}to .9\linewidth{XX} \savetabu{tabbing}
@@ -2535,21 +2527,21 @@ morekeywords=[7]{yellow},
% \begin{tikzpicture}[
% start chain=going below, every join/.style={->,thin,black,solid},node distance=.5cm and 1cm,
% every node/.style={black,on chain}]
-% \node (initialisation) at (0,0) {\begin{tabu}{c} initialisation \\ \cs{hbox}\end{tabu}}
-% node (@array) [join] {\cs{@array}}
+% \node (initialisation) at (0,0) {\begin{tabu}{c} initialisation \\ \cs\hbox\end{tabu}}
+% node (@array) [join] {\cs\@array}
% {[start branch]
% node (@arraydesc) [join] {%
% \begin{tabu}\{{l}.
% \begin{tabu}[c].{l}\}
-% \cs{begingroup} \\
+% \cs\begingroup \\
% \qquad \cs{@mkpream}\M*{preamble} \\
-% \cs{endgroup} \\
+% \cs\endgroup \\
% \end{tabu} ``\textt{@mkpream}'' group
% \\[4ex]
-% \cs{halign}\M*{\cs{@preamble} \textellipsis\ tabular content }
+% \cs\halign\M*{\cs{@preamble} \textellipsis\ tabular content }
% \end{tabu}}
% }
-% node (end) [join] {end of \cs{hbox}};
+% node (end) [join] {end of \cs\hbox};
% \end{tikzpicture}
%
% For more details, see the \nameref{Flow chart of expansion}.
@@ -2626,7 +2618,7 @@ morekeywords=[7]{yellow},
% \label{debugshow}\label{debugshow package option}
%
% \begin{declcs}{tracingtabu} \\
-% \cs{tracingtabu}\,=\,1, 2, 3 or 4
+% \cs\tracingtabu\,=\,1, 2, 3 or 4
% \end{declcs}
%
% The control sequence \cs\tracingtabu has the same effect as the \textt{debugshow} option:
@@ -2690,12 +2682,11 @@ morekeywords=[7]{yellow},
%
% \subsection(delarray compatibility){Correction for \xpackage{colortbl} and \xpackage{arydshln}: compatibility with \xpackage{delarray}}
%
-% Both \xpackage{colortbl} and \xpackage{arydshln} forget the control sequence \cs{@arrayright} in their implementation,
-% quite strangely because both of them take care of \cs{@arrayleft}. As a result, \xpackage{delarray} shortcuts for
+% Both \xpackage{colortbl} and \xpackage{arydshln} forget the control sequence \cs\@arrayright in their implementation,
+% quite strangely because both of them take care of \cs\@arrayleft. As a result, \xpackage{delarray} shortcuts for
% delimiters around a tabular does not work if \xpackage{colortbl} and/or \xpackage{arydshln} are loaded.
%
-% Those control sequences are used by the \xpackage{delarray} package to put variable size delimiters around the array:
-%
+% Those control sequences are used by the \xpackage{delarray} package to put variable size delimiters around the array:\par\nobreak
% {\centering\tabcolsep=12pt
% \begin{tabu*}{X[-1m]X[-1mc]X[-1m]}
% \begin{Verbatim}
@@ -2704,7 +2695,8 @@ morekeywords=[7]{yellow},
% \end{tabu}
% \end{Verbatim}
% &
-% is like: &
+% is like:
+% &
% \begin{Verbatim}
% \left\{\begin{tabu}{X}
% ...
@@ -2713,7 +2705,6 @@ morekeywords=[7]{yellow},
% \end{tabu*}
% }
%
-%
% \subsection(arydshln @ columns){Correction for \xpackage{arydshln}: \texttbf @ columns}
%
% A bug in \cs\adl@xarraydashrule: \textt{!-arg} columns (class 1) and \textt{@-arg} columns (class 5) should be treated
@@ -2722,15 +2713,15 @@ morekeywords=[7]{yellow},
% With this correction, the ``known problem number 1'' in \xpackage{arydshln} documentation is solved.
%
%
-% \section{To do for even better \textt{tabus}}
+% \section{To do for even better \env{tabus}}
%
% In decreasing order of priority:
%
% \nprounddigits{0}
% \begin{itemize}[leftmargin=*,label=\ding{223}]
-% \item Make double \cs{tabucline} compatible with \xpackage{colortbl} \cs{doublerulesepcolor}
+% \item Make double \cs\tabucline compatible with \xpackage{colortbl} \cs\doublerulesepcolor
% \item Multiple \cs\tabucline between different columns: extended specs: \\
-% \cs{tabucline}\M[line spec]\M*{start-stop, start-stop}\M[line spec]\M*{start-stop} ...
+% \cs\tabucline\M[line spec]\M*{start-stop, start-stop}\M[line spec]\M*{start-stop} ...
% \item Reimplement \cs\multicolumn in order to allow the \textt X token in \cs\multicolumn preamble. \\
% Provide \cs\multicell to allow spanning columns and rows at the same time.
% \item Presently, \env{longtabu} with \textt X columns works only if \cs\LTchunksize is greater than the number of rows.
@@ -3099,7 +3090,7 @@ morekeywords=[7]{yellow},
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{tabu}[2011/02/25 v2.7 - flexible LaTeX tabulars (FC)]
+\ProvidesPackage{tabu}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC)]
\RequirePackage{array}[2008/09/09]
\RequirePackage{varwidth}[2009/03/30]
% \end{macrocode}
@@ -3133,8 +3124,8 @@ morekeywords=[7]{yellow},
% \begin{tikzpicture}[yscale=.4,xscale=.6,framed,
% start chain, every join/.style={->,thin,black,solid},node distance=.5cm and .5cm,
% every node/.style={black}]
-% \node [on chain,draw] (begintabu) at (0,0) {\cs{begin}\M*{tabu}} node [anchor=west] at (begintabu.east) {(\cs{begingroup})}
-% node [on chain=going below,join] (tabu) {\cs{tabu}}
+% \node [on chain,draw] (begintabu) at (0,0) {\cs{begin}\M*{tabu}} node [anchor=west] at (begintabu.east) {(\cs\begingroup)}
+% node [on chain=going below,join] (tabu) {\cs\tabu}
% node [on chain=going right,join] (tabudesc) {$\begin{tabu}\{{>{$}l<{$}}.
% sets \cs{tabu@target} \\
% loads \env{tabu} setup and prepares \cs{tabu@cleanup} and \cs{tabu@reset}
@@ -3142,7 +3133,7 @@ morekeywords=[7]{yellow},
% node [on chain=going below,join] (tabu@begin) {\cs{tabu@begin}}
% node [on chain] (tabu@begindesc) {$\begin{tabu}\{{>{$}l<{$}}.
% if \cs{tabu@target} $> 0$ then prepare \\
-% \textt{@\M*{\cs{extracolsep}\M*{\cs{@flushglue}}}}
+% \textt{@\M*{\cs\extracolsep\M*{\cs{@flushglue}}}}
% \end{tabu}$};
% \chainin (tabu@begin)
% node [on chain=going below] (H) {}
@@ -3157,27 +3148,27 @@ morekeywords=[7]{yellow},
% \node [on chain=going right,join,fill=GhostWhite,draw=gray,dashed] (@arraydesc)
% {\begin{tabu}\{{l}.
% creates the \cs{@arstrutbox} \\
-% \cs{begingroup} \\
+% \cs\begingroup \\
% \quad \cs{@mkpream}: parse the preamble to create \cs{@preamble} \\
-% \quad \cs{xdef} \cs{@preamble} macro \\
-% \cs{endgroup}\\
+% \quad \cs\xdef \cs{@preamble} macro \\
+% \cs\endgroup\\
% \cs{@arrayleft}\\
-% \cs{vtop} or \cs{vbox} or \cs{vcenter} \cs{bgroup} ... \cs{halign}\{ preamble...
+% \cs\vtop or \cs\vbox or \cs\vcenter \cs\bgroup ... \cs\halign\{ preamble...
% \end{tabu}}
% node [on chain=going below] (H) {};
% }
% { [start chain=endtabu]
% \node [on chain] (end{tabu}) at (begintabu |- H) {\cs{end}\M*{tabu}}
-% node [on chain=going below,join] (endtabu) {\cs{endtabu}}
-% node [on chain=going right,join] (endtabular) {\cs{endtabular}}
-% node [on chain=going right,join] (endarray) {\cs{endarray}}
-% node [on chain=going right,join] (endarraydesc) {\begin{tabu}\{{l}. end of \cs{halign} \\ end of \cs{vtop}, \cs{vbox} or \cs{vcenter}\end{tabu}};
+% node [on chain=going below,join] (endtabu) {\cs\endtabu}
+% node [on chain=going right,join] (endtabular) {\cs\endtabular}
+% node [on chain=going right,join] (endarray) {\cs\endarray}
+% node [on chain=going right,join] (endarraydesc) {\begin{tabu}\{{l}. end of \cs\halign \\ end of \cs\vtop, \cs\vbox or \cs\vcenter\end{tabu}};
% \chainin (endtabular)
% node [on chain=going below,node distance=.7cm] (H) {};
-% \node at (H -| endarraydesc.west) [anchor=west] (endtabulardesc) {\begin{tabu}\{{l}. end of math group \\ end of \cs{hbox}\end{tabu}};
+% \node at (H -| endarraydesc.west) [anchor=west] (endtabulardesc) {\begin{tabu}\{{l}. end of math group \\ end of \cs\hbox\end{tabu}};
% \draw [->] (endtabular) |- (endtabulardesc) node [near end,above] {\small if in text mode};
% \draw [->] (endtabu.north east) to [bend left,looseness=.5] node [midway,above] {\small if in math mode} (endarray.north);
-% \node at (endtabulardesc.south -| begintabu) [yshift=-.5cm] (endgroup) {\cs{endgroup}} node at (endgroup.east) [anchor=west] {end of envir};
+% \node at (endtabulardesc.south -| begintabu) [yshift=-.5cm] (endgroup) {\cs\endgroup} node at (endgroup.east) [anchor=west] {end of envir};
% \draw [->] (endtabu) -- (endgroup);
% }
% \path [fill=LightGoldenrodYellow] (bluebox) rectangle ($(endtabulardesc.south -| bluebox)-(1,0)$)
@@ -3198,23 +3189,23 @@ morekeywords=[7]{yellow},
% start chain=going below,node distance=.3cm and .5cm,
% every join/.style={->,thin,black,solid},every node/.style={black}]
%
-% \node [on chain] (begingroup) at (0,0) {\cs{begingroup}}
+% \node [on chain] (begingroup) at (0,0) {\cs\begingroup}
% node [on chain=going right] (@mkpream) {\cs{@mkpream}}
% node [on chain,join] {Finds a \textt X column}
% node [on chain,join] {rewrite \textt X column}
-% {[start branch] node [on chain] {\begin{tabu}\{{l}. Parse the optional parameter for \textt X\\ Set \cs{aftergroup}\cs{tabu@prep@TRIAL}\end{tabu}}
+% {[start branch] node [on chain] {\begin{tabu}\{{l}. Parse the optional parameter for \textt X\\ Set \cs\aftergroup\cs{tabu@prep@TRIAL}\end{tabu}}
% }
% node [on chain,join] {... \cs{@mkpream} ...}
-% {[start branch] node [on chain,join] {builds the \cs{halign} preamble}}
-% node [on chain,join] {\cs{xdef}\cs{@preamble}}
-% node [on chain,join] (endgroup) {\cs{endgroup}}
+% {[start branch] node [on chain,join] {builds the \cs\halign preamble}}
+% node [on chain,join] {\cs\xdef\cs{@preamble}}
+% node [on chain,join] (endgroup) {\cs\endgroup}
% node [on chain] (H) {};
% \node (tabu@prep@TRIAL) at (begingroup |- H) {\cs{tabu@prep@TRIAL}};
-% \draw [->] (endgroup.west) -| (tabu@prep@TRIAL.north) node [midway,left] {\ssmall\begin{tabu}{c} triggered by\\ \cs{aftergroup}\end{tabu}};
+% \draw [->] (endgroup.west) -| (tabu@prep@TRIAL.north) node [midway,left] {\ssmall\begin{tabu}{c} triggered by\\ \cs\aftergroup\end{tabu}};
% \chainin (tabu@prep@TRIAL);
% { [start branch] \node [on chain,join] {\cs{tabu@setup@TRIAL}}
% node [on chain,join] {\begin{tabu}\{{l}.
-% Neutralisation of \cs{write} \\
+% Neutralisation of \cs\write \\
% Protection for: \begin{tabu}{!{\textbullet}l}
% footnotes \\ counters \\ index
% \end{tabu}
@@ -3224,15 +3215,15 @@ morekeywords=[7]{yellow},
% node [on chain,join=with tabu@prep@TRIAL] (tabu@arrayleft@measure) {\cs{tabu@arrayleft@measure}}
% node [on chain=going right,join] {\begin{tabu}\{{l}. prepares \cs{tabu@Xfinish} \\ Collect the \textt{tabu} body\end{tabu}}
% node [on chain,join] (tabu@TRIAL) {\cs{tabu@TRIAL}}
-% {[start branch] node [on chain,join] {\begin{tabu}{l} Expands \cs{halign} into a \cs{vbox} \end{tabu}}
+% {[start branch] node [on chain,join] {\begin{tabu}{l} Expands \cs\halign into a \cs\vbox \end{tabu}}
% }
% node [on chain,join] {\cs{tabu@endTRIAL}}
-% {[start branch] node [on chain,join] {\cs{endarray}}
+% {[start branch] node [on chain,join] {\cs\endarray}
% }
-% node [on chain,join] (tabu@arith) {\begin{tabu}{c} \cs{tabu@arith}\\ \cs{wd}\M*{tabu}$-$\cs{tabu@target} $<$ \cs{hfuzz} ?\end{tabu}}
+% node [on chain,join] (tabu@arith) {\begin{tabu}{c} \cs{tabu@arith}\\ \cs\wd\M*{tabu}$-$\cs{tabu@target} $<$ \cs\hfuzz ?\end{tabu}}
% node [on chain=going right,node distance=1cm] (tabu@Xfinish) {\cs{tabu@Xfinish}};
% \draw (tabu@arith) [->] -- (tabu@Xfinish) node [midway,above,blue] {Yes};
-% \draw [->] (tabu@arith.west) |- (tabu@TRIAL) node (No) [very near start,left] {{\small\begin{tabu}.{r}\} Updates \\ \cs{tabucolX}\end{tabu}} \textcolor{red}{No}};
+% \draw [->] (tabu@arith.west) |- (tabu@TRIAL) node (No) [very near start,left] {{\small\begin{tabu}.{r}\} Updates \\ \cs\tabucolX\end{tabu}} \textcolor{red}{No}};
%
% \end{tikzpicture}}
%
@@ -4179,7 +4170,6 @@ morekeywords=[7]{yellow},
% \end{macro}
%
% \subsubsection{Parsing line styles}
-%
%¤<package>%% Parsing the line styles ------------------------------------------
%
% \begin{macro}{\tabu@getline}
@@ -4495,7 +4485,8 @@ morekeywords=[7]{yellow},
\ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
\def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
\LTchunksize=\@M
- \expandafter\let\csname tabu*\endcsname\tabu
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
\let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts }
\tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
}% {longtabu}
@@ -4506,7 +4497,7 @@ morekeywords=[7]{yellow},
% \end{macro}
% \end{macro}
%
-% \subsubsection{Setting the \textt{tabu} target}
+% \subsubsection{Setting the \env{tabu} target}
%¤<package>%% Read the target and then : \tabular or \@array ------------------
%
% \begin{macro}{\tabu@settarget}
@@ -4857,7 +4848,7 @@ morekeywords=[7]{yellow},
% \begin{macro}{\tabu@lines}
%
% The \texttbf\textbar\, token for vertical lines may have a special
-% catcode. \xfile{array.sty} makes the test with \cs{if} and therefore,
+% catcode. \xfile{array.sty} makes the test with \cs\if and therefore,
% it is catcode insensitiv. Here, we use \cs\scantokens and check if
% \texttbf\textbar\, is not an \emph{other} character.
%
@@ -4945,7 +4936,7 @@ morekeywords=[7]{yellow},
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Rewriting \textt{tabu X} columns}
+% \subsubsection{Rewriting \env{tabu X} columns}
% \label{tabu X column definition}
%¤<package>%% The X column(s): rewriting process -----------------------------
%
@@ -5011,7 +5002,7 @@ morekeywords=[7]{yellow},
%
% \begin{macro}{\tabu@rewriteXrestore}
%
-% This macro replaces \cs\tabu@rewriteX in the case of \cs{usetabu}.
+% This macro replaces \cs\tabu@rewriteX in the case of \cs\usetabu.
%
% \begin{macrocode}
\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax
@@ -5178,7 +5169,7 @@ morekeywords=[7]{yellow},
%
% \begin{macro}{\preamble (private column type)}
%
-% \cs{preamble} is defined as a \textt{tabu} new column type: loaded only inside the \cs{@mkpream}
+% \cs\preamble is defined as a \textt{tabu} new column type: loaded only inside the \cs\@mkpream
% group inside the \textt{tabu} environment.
%
% \begin{macrocode}
@@ -5505,7 +5496,7 @@ morekeywords=[7]{yellow},
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Collecting the \textt{tabu} body}
+% \subsubsection{Collecting the \env{tabu} body}
%¤<package>%% Collecting the environment body ----------------------------------
%
% The macro collect the stuff inside \cs\@array: depending on the global vertical alignment
@@ -5527,9 +5518,12 @@ morekeywords=[7]{yellow},
\ifx \tabu@stack\@empty
\toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}%
\def\tabu@end@envir{\end{#3}}%
- \iftabuscantokens \def\tabu@endenvir{\let\endarray \@empty
+ \iftabuscantokens
+ \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}%
+ \else \def\tabu@endenvir {\let\endarray \@empty
\end{#3}\tabu@gobbleX}%
- \else \def\tabu@endenvir{\end{#3}}\fi}%
+ \fi
+ \else \def\tabu@endenvir {\end{#3}}\fi}%
\let\tabu@collectbody \tabu@endofcollect
\else\def\tabu@temp{#3}%
\ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
@@ -5634,10 +5628,12 @@ morekeywords=[7]{yellow},
\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
\expandafter{\expandafter \tabuthepreamble
\the\tabu@thebody
- \LT@echunk
- \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
- \LT@get@widths}\egroup % got \tabu@box
+ \tabuendlongtrial}\egroup % got \tabu@box
}% \tabu@longtrial
+\def\tabuendlongtrial{% no @ allowed for \scantokens
+ \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
+ \LT@get@widths
+}% \tabuendlongtrial
\def\tabu@adl@endtrial{% <arydshln in nested trials - problem for global column counters!>
\crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails !
% \end{macrocode}
@@ -5682,8 +5678,8 @@ morekeywords=[7]{yellow},
{\expandafter \tabu@closetrialsgroup \expandafter
\tabu@rescan \expandafter{%
\expandafter\tabuthepreamble
- \the\tabu@thebody
- \endarray}}
+ \the\expandafter\tabu@thebody
+ \iftabu@long \else \endarray \fi}}
{\expandafter\tabu@closetrialsgroup \expandafter
\tabuthepreamble
\the\tabu@thebody}%
@@ -5776,7 +5772,7 @@ morekeywords=[7]{yellow},
% At the exit, \cs\iftabu@measuring is set to \cs\iftrue: a further trial is necessary,
% or \cs\iffalse: the target width is reached.
%
-% \subsubsection(Algorithm for tabu to){The arithmetic of \textt X columns: the \textt{tabu to} case}
+% \subsubsection(Algorithm for tabu to){The arithmetic of \textt X columns: the \env{tabu to} case}
%
% \begin{macro}{\tabu@arithnegcoef}
%
@@ -5868,7 +5864,7 @@ morekeywords=[7]{yellow},
% \end{macrocode}
% \end{macro}
%
-% \subsubsection(Algorithm for tabu spread){The arithmetic of \textt X columns for \textt{tabu spread}}
+% \subsubsection(Algorithm for tabu spread){The arithmetic of \textt X columns for \env{tabu spread}}
%
% \begin{macro}{\tabu@spreadarith}
%
@@ -6072,7 +6068,6 @@ morekeywords=[7]{yellow},
% \end{macro}
%
% \subsection(Natural width measure){Measuring the natural width of columns (\xpackage{varwidth} code from D. Arseneau)}
-%
%¤<package>%% Measuring the natural width (varwidth) - store the results -------
%
% \begin{macro}{\tabu@startpboxmeasure}
@@ -6318,9 +6313,7 @@ morekeywords=[7]{yellow},
% \end{macrocode}
% \end{macro}
%
-%
-% \subsection(Horizontal lines inside tabu){Horizontal lines inside \textt{tabu}: \cs{tabucline}, \cs{firsthline} and \cs{lasthline}}
-%
+% \subsection(Horizontal lines inside tabu){Horizontal lines inside \env{tabu}: \cs{tabucline}, \cs{firsthline} and \cs{lasthline}}
%¤<package>%% \firsthline and \lasthline corrections ---------------------------
%
% \subsubsection{Horizontal lines: multiple \cs{firsthline} / \cs{lasthline}}
@@ -6492,7 +6485,6 @@ morekeywords=[7]{yellow},
% \end{macro}
%
% \subsubsection{Horizontal lines: \cs{tabucline}}
-%
%¤<package>%% Horizontal lines : \tabucline ------------------------------------
%
% \begin{macro}{\tabucline}
@@ -6590,8 +6582,7 @@ morekeywords=[7]{yellow},
% \end{macro}
%
%
-% \subsection{Numbers in \textt{tabu}}
-%
+% \subsection{Numbers in \env{tabu}}
%¤<package>%% Numbers: siunitx S columns (and \tabudecimal) -------------------
%
% \subsubsection{\cs{tabudecimal}}
@@ -6672,7 +6663,6 @@ morekeywords=[7]{yellow},
%
%
% \subsection(Verbatim with X columns){Verbatim inside \textt{tabu} with \textt X columns}
-%
%¤<package>%% Verbatim inside X columns ----------------------------------------
%
% \begin{macro}{\tabu@verbatim}
@@ -6863,9 +6853,9 @@ morekeywords=[7]{yellow},
% \begin{macro}{\tabu@savewarn}
% \begin{macro}{\tabu@saveerr}
%
-% Info for overwritting when \cs{savetabu} is used.
+% Info for overwritting when \cs\savetabu is used.
%
-% Error if \cs{usetabu} is called with an unknown argument.
+% Error if \cs\usetabu is called with an unknown argument.
%
% \begin{macrocode}
\def\tabu@savewarn#1#2{\PackageInfo{tabu}
@@ -6882,7 +6872,6 @@ morekeywords=[7]{yellow},
% \subsection(\cs{rowfont}){\csbf{rowfont}}
%
% \subsubsection(Font and alignment){Setting font and alignment specification}
-%
%¤<package>%% \rowfont ---------------------------------------------------------
%
% \begin{macro}{\rowfont}
@@ -6945,7 +6934,6 @@ morekeywords=[7]{yellow},
% \end{macro}
%
% \subsubsection(Tokens preparation){Preparing stuff to be able to use \cs{rowfont}}
-%
%¤<package>%% \tabu@prepnext@tok -----------------------------------------------
%
% \begin{macro}{\tabu@prepnext@tok}
@@ -6963,11 +6951,11 @@ morekeywords=[7]{yellow},
%
% \begin{center}
% \begin{tikzpicture}
-% \node (L) at (1,1) {$\underbrace{\hbox{>\M*{\cs{bfseries}\cs{color}\M*{red}}}}$}
+% \node (L) at (1,1) {$\underbrace{\hbox{>\M*{\cs\bfseries\cs\color\M*{red}}}}$}
% node [anchor=west] (r) at (L.east) {\raise.5ex\hbox{\larger r}}
-% node [anchor=west] (R) at (r.east) {$\underbrace{\hbox{<\M*{\cs{color}\M*{black}\cs ,\cs\$}}}$}
-% node [anchor=center] at (L.south) {\cs{toks}<$i$>}
-% node [anchor=center] at (R.south) {\cs{toks}<$i+1$>};
+% node [anchor=west] (R) at (r.east) {$\underbrace{\hbox{<\M*{\cs\color\M*{black}\cs ,\cs\$}}}$}
+% node [anchor=center] at (L.south) {\cs\toks<$i$>}
+% node [anchor=center] at (R.south) {\cs\toks<$i+1$>};
% \end{tikzpicture}
% \end{center}
%
@@ -6975,24 +6963,24 @@ morekeywords=[7]{yellow},
% is equal to $i+1$ (\ie the right token) and the counter \cs\@tempcnta is equal to $i$ (\ie the left token).
% If the column is special (\ie \texttbf @ or \texttbf !) \cs\@tempcnta is not updated.
%
-% Thus, when a new token is ``prepared'' by \cs{prepnext@tok}:
+% Thus, when a new token is ``prepared'' by \cs\prepnext@tok:
% \begin{description}[leftmargin=1cm,beginpenalty=10000]
-% \item[either: $\mathbf{i=}$\cs{count@}$\,=$\cs{@tempcnta}]: the token to prepare (\ie \cs\toks$<i+1>$)
-% is the right one of a ``normal'' column. The switch \cs{iftabu@cellright} is set to \textt{true}. \\
-% The \emph{previous} token (\cs{toks}$<i>=$\cs{toks}\cs\count@) is necessarily the left one of this ``normal'' column:
-% we prepend \cs{tabu@celllalign} and append \cs\tabu@cellleft to this token (\cs\toks$<i>$).
+% \item[either: $\mathbf{i=}$\cs\count@$\,=$\cs\@tempcnta]: the token to prepare (\ie \cs\toks$<i+1>$)
+% is the right one of a ``normal'' column. The switch \cs\iftabu@cellright is set to \textt{true}. \\
+% The \emph{previous} token (\cs\toks$<i>=$\cs\toks\cs\count@) is necessarily the left one of this ``normal'' column:
+% we prepend \cs\tabu@celllalign and append \cs\tabu@cellleft to this token (\cs\toks$<i>$).
% This token is finished and will not change afterwards.
%
% \item[or: $\mathbf{i=}$\cs\count@$\,=$\cs\@tempcnta$+1$]: the token to prepare (\cs\toks$<i+1>$) is either the left one of a normal column,
% or the single one of a special\, \texttbf @ or \texttbf !\, column.\\
-% If the switch \cs{iftabu@cellright} is true, then the \emph{previous} token \cs{toks}$<i>$ is the right one of the last inserted column
+% If the switch \cs\iftabu@cellright is true, then the \emph{previous} token \cs\toks$<i>$ is the right one of the last inserted column
% (which was a ``normal'' column, thus):, \cs\tabu@cellright\cs\tabu@cellralign\, is appended to it, and the switch
-% \cs{ittabu@cellright} is reset to \texttt{false}.
+% \cs\ittabu@cellright is reset to \texttt{false}.
% May be \cs\prepnext@tok will be expanded again (by \cs\save@decl): if it happens,
-% then again\, \cs\count@$\,=$\cs\@tempcnta$+1$\, (same case) but \cs{iftabu@cellright} is \textt{false} and nothing is changed.
+% then again\, \cs\count@$\,=$\cs\@tempcnta$+1$\, (same case) but \cs\iftabu@cellright is \textt{false} and nothing is changed.
%
% \item[else:] The token to prepare (which is \cs\toks$<i+1>=$\cs\toks\cs\count@$+1$), cannot be the right one of a ``normal'' column:
-% \cs{iftabu@cellright} is set to \textt{false}. \\
+% \cs\iftabu@cellright is set to \textt{false}. \\
% The fact that\, $\vert$\cs\count@$-$\cs\@tempcnta$\vert>1$\, tells us that the previous token \cs\toks$<i>$
% is necessarily the single one of a ``special''\, \texttbf @ or \texttbf !\, column. We don't modify this token, as
% long as \emph{special columns are always inserted as is}:\, \cs\rowcolor has no effect on special
@@ -7049,14 +7037,15 @@ morekeywords=[7]{yellow},
% \end{macro}
%
% \subsubsection(Glue neutralisation){Neutralisation of glues and alignment modification}
-%
%¤<package>%% Neutralisation of glues ------------------------------------------
%
% \begin{macro}{\tabu@cellleft}
% \begin{macro}{\tabu@celllalign}
% \begin{macro}{\tabu@cellright}
% \begin{macro}{\tabu@cellralign}
-% First initialisation to \cs{@empty}.
+%
+% First initialisation to \cs\@empty.
+%
% \begin{macrocode}
\let\tabu@cellleft \@empty
\let\tabu@cellright \@empty
@@ -7088,7 +7077,7 @@ morekeywords=[7]{yellow},
%
% Setup macros to modify the alignment. The skips inserted to make the standard alignment
% specified in the \textt{tabular} preamble are not the same with standard \xpackage{array} tabulars
-% and \xpackage{colortbl} tabulars, hence the switch \cs{iftabu@colortbl}.
+% and \xpackage{colortbl} tabulars, hence the switch \cs\iftabu@colortbl.
%
% \begin{macrocode}
\def\tabu@cell@l{% force alignment to left
@@ -7205,7 +7194,6 @@ morekeywords=[7]{yellow},
% \end{macrocode}
% \end{macro}
%
-%
% \subsection{Taking care of footnotes and \cs{arraybackslash}}
% \label{Taking care of footnotes and arraybackslash}
%
@@ -7296,7 +7284,7 @@ morekeywords=[7]{yellow},
\expandafter\tabu@normalcrbackslash \@trivlist}}
% \end{macrocode}
%
-% \subsubsection{Utilities: \textt{tabu} \cs{fbox}}
+% \subsubsection{Utilities: \env{tabu} \cs{fbox}}
%¤<package>%% Utilities: \fbox \fcolorbox and \tabudecimal -------------------
%
% \cs\tabu@fbox works exactly like \LaTeX{} \cs\fbox but allows the syntax: \cs\fbox\cs\bgroup...\cs\egroup
@@ -7408,9 +7396,9 @@ morekeywords=[7]{yellow},
% The \cs\vrule inserted is exactly what package \xpackage{array} calls: \cs\@finalstrut\cs\@arstrutbox.
%
% However, just like in \xfile{array.sty}, this array-\textt{strut} should be inserted inconditionnally,
-% and \cs{ifhmode} applies only to \cs\nobreak (misplaced \cs{fi} in \xpackage{arydshln} definition).
+% and \cs\ifhmode applies only to \cs\nobreak (misplaced \cs\fi in \xpackage{arydshln} definition).
%
-% Finally, \xpackage{arydshln} is not compatible with colors in columns, such that: \textt{>\M*{\cs{color}\M*{red}}p{3in}},
+% Finally, \xpackage{arydshln} is not compatible with colors in columns, such that: \textt{>\M*{\cs\color\M*{red}}p{3in}},
% Unless \xpackage{colortbl} is also loaded, the color group is missing.
%
% Fixed inside \env*{tabu}.
@@ -7429,9 +7417,7 @@ morekeywords=[7]{yellow},
}% \tabu@adl@fix
% \end{macrocode}
%
-%
% \subsubsection{\xpackage{longtable} \cs{@startpbox}: \cs{everypar} needed}
-%
%¤<package>%% Correction for longtable' \@startbox definition ------------------
%¤<package>%% => \everypar is ``missing'' : TeX should be in vertical mode
%
@@ -7550,7 +7536,7 @@ morekeywords=[7]{yellow},
% At Begin Document,a fix for \Xpackage{arydshln} and \Xpackage{colortbl} comptability with \Xpackage{delarray}
% shortcuts available inside \env{tabu}: requirement for this fix is checked by \cs\tabu@fix@arrayright.
%
-% Then the switch \cs{iftabu@colortbl} is set.
+% Then the switch \cs\iftabu@colortbl is set.
%
% Finally, the \env*{longtabu} is defined only if the \Xpackage{longtable} package is detected.
%
@@ -7672,19 +7658,27 @@ morekeywords=[7]{yellow},
%
% \bibitem{enumitem-zref}
% \textit{The \xpackage{enumitem-zref} package} by \FC \\
-% 2010/11/28 ver 1.1 -- Extended references for enumitem pkg \\
+% 2011/02/18 ver 1.8 -- Extended references for enumitem pkg \\
% \href{http://www.ctan.org/tex-archive/help/Catalogue/entries/enumitem-zref.html}{\nolinkurl{CTAN:help/Catalogue/entries/enumitem-zref.html}}
% \label{enumitem-zref}
%
% \end{thebibliography}
%
-%
% \begin{History}
%
% \def\Version#1{\HistVersion{#1}\setitemize{name=#1,leftmargin=2em}\itemize}
% \addtocontents{toc}{\tocsetup{subsection/font+=\string\smaller}}
+% \sectionformat\subsection[hang]{
+% font=\normalsize\bfseries\pkgcolor,
+% top=\smallskipamount,
+% bottom=0pt,
+% break=\addpenalty{-\csname @medpenalty\endcsname},
+% }
+% \robustify\textbf \robustify\xfile ^^A\HistLabel does \edef on \@currentlabel (\protected@edef required !!)
%
-% \sectionformat\subsection[hang]{font=\normalsize\bfseries\pkgcolor} \robustify\textbf \robustify\xfile ^^A\HistLabel does \edef on \@currentlabel (\protected@edef required !!)
+% \begin{Version}{2011/02/26 v2.8}\HistLabel{2.8}
+% \item Bug in the starred version (with \cs\scantokens) of the \env*{longtabu\stform*}.
+% \end{Version}
%
% \begin{Version}{2011/02/25 v2.7}\HistLabel{2.7}
% \item Automatic \cs\par after the end of the \env*{tabu} used with its default target is removed in case of \env{tabu spread}: this was a bug.
@@ -7752,7 +7746,7 @@ morekeywords=[7]{yellow},
% \item \csref{tabulinestyle}: user defined line style can now be used inside the optional argument of the \texttbf\textbar\M*[...]
% preamble token.
% \item \texttbf\textbar\M*[...] is now allowed in \cs\multicolumn preamble inside \env{tabu} environment.
-% \item Bug fixed inside \cs{tabu@prepnexttok} (again !!! - a difficult case !)
+% \item Bug fixed inside \cs\tabu@prepnexttok (again !!! - a difficult case !)
% \item Incompatibility of package \Xpackage{cellspace} with \env{tabu spread} and \env{tabu} with \label{cellspace limitations}
% \refitem{item:Negativ width coefficients}[negativ coefficients] for \textt X columns with has been lifted. \\
% However, as said in the documentation of package \xpackage{cellspace}, \textt S column modifier does not work
@@ -7809,7 +7803,7 @@ morekeywords=[7]{yellow},
% \cs{begin}\M*{tabu}\textt{ to\cs\linegoal}\M*{...}
% \item Hyper footnotes now work correctly.
% \item Fix a bug when using colored vertical lines in \env{tabu} in math mode.
-% \item Fix a bug with vertical lines and \xpackage{colortbl} \cs{arrayrulecolor} specification.
+% \item Fix a bug with vertical lines and \xpackage{colortbl} \cs\arrayrulecolor specification.
% \item Fix a compatibility bug with \xpackage{arydshln}: when nesting a tabular that use
% vertical dashed lines (\xpackage{arydshln}) inside \env{tabu spread} with \textt X columns.
% \end{Version}
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.ins b/Master/texmf-dist/source/latex/tabu/tabu.ins
index f140a1facd0..ff03c1e9c4b 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.ins
+++ b/Master/texmf-dist/source/latex/tabu/tabu.ins
@@ -9,7 +9,7 @@
%% This is a generated file.
%% Copyright (FC) 2010-2011 - lppl
%%
-%% tabu : 2011/02/25 v2.7 - tabu : Flexible LaTeX tabulars
+%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
%%
%% **********************************************************************************************
%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal
@@ -65,7 +65,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2011/02/25 v2.7 - tabu: Flexible LaTeX tabulars}
+\Msg{* Package: 2011/02/26 v2.8 - tabu: Flexible LaTeX tabulars}
\Msg{************************************************************************}
\keepsilent
@@ -77,7 +77,7 @@
This is a generated file.
Copyright (FC) 2010-2011 - lppl
-tabu : 2011/02/25 v2.7 - tabu : Flexible LaTeX tabulars
+tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
**********************************************************************************************
\string\begin{tabu} { preamble } => default target: \string\linewidth or \string\linegoal
@@ -162,6 +162,7 @@ lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
\Msg{************************************************************************}
\endbatchfile
+
\endinput
%%
%% End of file `tabu.ins'.
diff --git a/Master/texmf-dist/tex/latex/tabu/tabu.sty b/Master/texmf-dist/tex/latex/tabu/tabu.sty
index 6b28197777a..3c18755daf2 100644
--- a/Master/texmf-dist/tex/latex/tabu/tabu.sty
+++ b/Master/texmf-dist/tex/latex/tabu/tabu.sty
@@ -9,7 +9,7 @@
%% This is a generated file.
%% Copyright (FC) 2010-2011 - lppl
%%
-%% tabu : 2011/02/25 v2.7 - tabu : Flexible LaTeX tabulars
+%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
%%
%% **********************************************************************************************
%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal
@@ -62,8 +62,9 @@
%% tabu : Flexible LaTeX tabulars
%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
%%
+
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{tabu}[2011/02/25 v2.7 - flexible LaTeX tabulars (FC)]
+\ProvidesPackage{tabu}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC)]
\RequirePackage{array}[2008/09/09]
\RequirePackage{varwidth}[2009/03/30]
\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
@@ -622,7 +623,8 @@
\ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
\def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
\LTchunksize=\@M
- \expandafter\let\csname tabu*\endcsname\tabu
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
\let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts }
\tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
}% {longtabu}
@@ -1241,9 +1243,12 @@
\ifx \tabu@stack\@empty
\toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}%
\def\tabu@end@envir{\end{#3}}%
- \iftabuscantokens \def\tabu@endenvir{\let\endarray \@empty
+ \iftabuscantokens
+ \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}%
+ \else \def\tabu@endenvir {\let\endarray \@empty
\end{#3}\tabu@gobbleX}%
- \else \def\tabu@endenvir{\end{#3}}\fi}%
+ \fi
+ \else \def\tabu@endenvir {\end{#3}}\fi}%
\let\tabu@collectbody \tabu@endofcollect
\else\def\tabu@temp{#3}%
\ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
@@ -1309,10 +1314,12 @@
\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
\expandafter{\expandafter \tabuthepreamble
\the\tabu@thebody
- \LT@echunk
- \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
- \LT@get@widths}\egroup % got \tabu@box
+ \tabuendlongtrial}\egroup % got \tabu@box
}% \tabu@longtrial
+\def\tabuendlongtrial{% no @ allowed for \scantokens
+ \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
+ \LT@get@widths
+}% \tabuendlongtrial
\def\tabu@adl@endtrial{% <arydshln in nested trials - problem for global column counters!>
\crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails !
\def\tabu@seteverycr {\tabu@reset
@@ -1329,8 +1336,8 @@
{\expandafter \tabu@closetrialsgroup \expandafter
\tabu@rescan \expandafter{%
\expandafter\tabuthepreamble
- \the\tabu@thebody
- \endarray}}
+ \the\expandafter\tabu@thebody
+ \iftabu@long \else \endarray \fi}}
{\expandafter\tabu@closetrialsgroup \expandafter
\tabuthepreamble
\the\tabu@thebody}%
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 070e74a3881..6d027ea6d45 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -789,6 +789,7 @@ $Master = "$mydir/../..";
'wntamil', "die 'skipping, nonfree license'",
'wordcount', "&MAKEwordcount",
'wp-conv', "die 'skipping, nonfree license'",
+ 'wp2latex', "die 'skipping, compilation'",
'xbase', "die 'skipping, use xpackages'",
'xeCJK', "die 'skipping, use xecjk'",
'xecolour', "&MAKEflatten",