root/doc_inner/gnu_global/S/17.html

/* [<][>][^][v][top][bottom][index][help] */
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>doc_inner/doxygen/latex/tabu_doxygen.sty</title>
<meta name='robots' content='noindex,nofollow' />
<meta name='generator' content='GLOBAL-6.6.5' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<link rel='stylesheet' type='text/css' href='../style.css' />
</head>
<body>
<a id='TOP' name='TOP'></a><h2 class='header'><a href='../mains.html'>root</a>/<a href='../files/2927.html'>doc_inner</a>/<a href='../files/2928.html'>doxygen</a>/<a href='../files/2929.html'>latex</a>/tabu_doxygen.sty</h2>
<em class='comment'>/* [&lt;][&gt;][^][v][top]<a href='#BOTTOM'>[bottom]</a><a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
<hr />
<pre>
<a id='L1' name='L1'></a>%%
<a id='L2' name='L2'></a>%% This is file `tabu.sty',
<a id='L3' name='L3'></a>%% generated with the docstrip utility.
<a id='L4' name='L4'></a>%%
<a id='L5' name='L5'></a>%% The original source files were:
<a id='L6' name='L6'></a>%%
<a id='L7' name='L7'></a>%% tabu.dtx  (with options: `package')
<a id='L8' name='L8'></a>%% 
<a id='L9' name='L9'></a>%% This is a generated file.
<a id='L10' name='L10'></a>%% Copyright (FC) 2010-2011 - lppl
<a id='L11' name='L11'></a>%% 
<a id='L12' name='L12'></a>%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
<a id='L13' name='L13'></a>%% 
<a id='L14' name='L14'></a>%% **********************************************************************************************
<a id='L15' name='L15'></a>%% \begin{tabu}               { preamble } =&gt; default target: \linewidth or \linegoal
<a id='L16' name='L16'></a>%% \begin{tabu} to     &lt;dimen&gt;{ preamble } =&gt; target specified
<a id='L17' name='L17'></a>%% \begin{tabu} spread &lt;dimen&gt;{ preamble } =&gt; target relative to the ``natural width''
<a id='L18' name='L18'></a>%% 
<a id='L19' name='L19'></a>%%  tabu works in text and in math modes.
<a id='L20' name='L20'></a>%% 
<a id='L21' name='L21'></a>%%  X columns: automatic width adjustment + horizontal and vertical alignment
<a id='L22' name='L22'></a>%%  \begin{tabu}   { X[4c] X[1c] X[-2ml]  }
<a id='L23' name='L23'></a>%% 
<a id='L24' name='L24'></a>%%  Horizontal lines and / or leaders:
<a id='L25' name='L25'></a>%%         \hline\hline                          =&gt; double horizontal line
<a id='L26' name='L26'></a>%%         \firsthline\hline                     =&gt; for nested tabulars
<a id='L27' name='L27'></a>%%         \lasthline\hline                      =&gt; for nested tabulars
<a id='L28' name='L28'></a>%%         \tabucline[line spec]{column-column}  =&gt; ``funny'' lines (dash/leader)
<a id='L29' name='L29'></a>%%  Automatic lines / leaders :
<a id='L30' name='L30'></a>%%         \everyrow{\hline\hline}
<a id='L31' name='L31'></a>%% 
<a id='L32' name='L32'></a>%%  Vertical lines and / or leaders:
<a id='L33' name='L33'></a>%%  \begin{tabu}   { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] }
<a id='L34' name='L34'></a>%%  \begin{tabu}   { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] }
<a id='L35' name='L35'></a>%% 
<a id='L36' name='L36'></a>%%  Fixed vertical spacing adjustment:
<a id='L37' name='L37'></a>%%         \extrarowheight=&lt;dimen&gt;     \extrarowdepth=&lt;dimen&gt;
<a id='L38' name='L38'></a>%%    or:     \extrarowsep=&lt;dimen&gt;               =&gt; may be prefixed by \global
<a id='L39' name='L39'></a>%% 
<a id='L40' name='L40'></a>%%  Dynamic vertical spacing adjustment:
<a id='L41' name='L41'></a>%%       \abovetabulinesep=&lt;dimen&gt;  \belowtabulinesep=&lt;dimen&gt;
<a id='L42' name='L42'></a>%%   or:      \tabulinesep=&lt;dimen&gt;               =&gt; may be prefixed by \global
<a id='L43' name='L43'></a>%% 
<a id='L44' name='L44'></a>%%  delarray.sty shortcuts: in math and text modes
<a id='L45' name='L45'></a>%%  \begin{tabu} ....        \({ preamble }\)
<a id='L46' name='L46'></a>%% 
<a id='L47' name='L47'></a>%%  Algorithms reports:
<a id='L48' name='L48'></a>%%            \tracingtabu=1             \tracingtabu=2
<a id='L49' name='L49'></a>%% 
<a id='L50' name='L50'></a>%% **********************************************************************************************
<a id='L51' name='L51'></a>%% 
<a id='L52' name='L52'></a>%% This work may be distributed and/or modified under the
<a id='L53' name='L53'></a>%% conditions of the LaTeX Project Public License, either
<a id='L54' name='L54'></a>%% version 1.3 of this license or (at your option) any later
<a id='L55' name='L55'></a>%% version. The latest version of this license is in
<a id='L56' name='L56'></a>%%    http://www.latex-project.org/lppl.txt
<a id='L57' name='L57'></a>%% 
<a id='L58' name='L58'></a>%% This work consists of the main source file tabu.dtx
<a id='L59' name='L59'></a>%% and the derived files
<a id='L60' name='L60'></a>%%    tabu.sty, tabu.pdf, tabu.ins
<a id='L61' name='L61'></a>%% 
<a id='L62' name='L62'></a>%% tabu : Flexible LaTeX tabulars
<a id='L63' name='L63'></a>%% lppl copyright 2010-2011 by FC &lt;florent.chervet@free.fr&gt;
<a id='L64' name='L64'></a>%% 
<a id='L65' name='L65'></a>
<a id='L66' name='L66'></a>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
<a id='L67' name='L67'></a>\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen]
<a id='L68' name='L68'></a>\RequirePackage{array}[2008/09/09]
<a id='L69' name='L69'></a>\RequirePackage{varwidth}[2009/03/30]
<a id='L70' name='L70'></a>\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
<a id='L71' name='L71'></a>\let\tabu@AtEnd\@empty
<a id='L72' name='L72'></a>\def\TMP@EnsureCode#1={%
<a id='L73' name='L73'></a>    \edef\tabu@AtEnd{\tabu@AtEnd
<a id='L74' name='L74'></a>                     \catcode#1 \the\catcode#1}%
<a id='L75' name='L75'></a>    \catcode#1=%
<a id='L76' name='L76'></a>}% \TMP@EnsureCode
<a id='L77' name='L77'></a>\TMP@EnsureCode 33 = 12 % !
<a id='L78' name='L78'></a>\TMP@EnsureCode 58 = 12 % : (for siunitx)
<a id='L79' name='L79'></a>\TMP@EnsureCode124 = 12 % |
<a id='L80' name='L80'></a>\TMP@EnsureCode 36 =  3 % $ = math shift
<a id='L81' name='L81'></a>\TMP@EnsureCode 38 =  4 % &amp; = tab alignment character
<a id='L82' name='L82'></a>\TMP@EnsureCode 32 = 10 % space
<a id='L83' name='L83'></a>\TMP@EnsureCode 94 =  7 % ^
<a id='L84' name='L84'></a>\TMP@EnsureCode 95 =  8 % _
<a id='L85' name='L85'></a>%% Constants --------------------------------------------------------
<a id='L86' name='L86'></a>\newcount \c@taburow        \def\thetaburow {\number\c@taburow}
<a id='L87' name='L87'></a>\newcount \tabu@nbcols
<a id='L88' name='L88'></a>\newcount \tabu@cnt
<a id='L89' name='L89'></a>\newcount \tabu@Xcol
<a id='L90' name='L90'></a>\let\tabu@start \@tempcnta
<a id='L91' name='L91'></a>\let\tabu@stop  \@tempcntb
<a id='L92' name='L92'></a>\newcount \tabu@alloc  \tabu@alloc=\m@ne
<a id='L93' name='L93'></a>\newcount \tabu@nested
<a id='L94' name='L94'></a>\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc}
<a id='L95' name='L95'></a>\newdimen \tabu@target
<a id='L96' name='L96'></a>\newdimen \tabu@spreadtarget
<a id='L97' name='L97'></a>\newdimen \tabu@naturalX
<a id='L98' name='L98'></a>\newdimen \tabucolX
<a id='L99' name='L99'></a>\let\tabu@DELTA \@tempdimc
<a id='L100' name='L100'></a>\let\tabu@thick \@tempdima
<a id='L101' name='L101'></a>\let\tabu@on    \@tempdimb
<a id='L102' name='L102'></a>\let\tabu@off   \@tempdimc
<a id='L103' name='L103'></a>\newdimen \tabu@Xsum
<a id='L104' name='L104'></a>\newdimen \extrarowdepth
<a id='L105' name='L105'></a>\newdimen \abovetabulinesep
<a id='L106' name='L106'></a>\newdimen \belowtabulinesep
<a id='L107' name='L107'></a>\newdimen \tabustrutrule      \tabustrutrule \z@
<a id='L108' name='L108'></a>\newtoks \tabu@thebody
<a id='L109' name='L109'></a>\newtoks \tabu@footnotes
<a id='L110' name='L110'></a>\newsavebox \tabu@box
<a id='L111' name='L111'></a>\newsavebox \tabu@arstrutbox
<a id='L112' name='L112'></a>\newsavebox \tabu@hleads
<a id='L113' name='L113'></a>\newsavebox \tabu@vleads
<a id='L114' name='L114'></a>\newif \iftabu@colortbl
<a id='L115' name='L115'></a>\newif \iftabu@siunitx
<a id='L116' name='L116'></a>\newif \iftabu@measuring
<a id='L117' name='L117'></a>\newif \iftabu@spread
<a id='L118' name='L118'></a>\newif \iftabu@negcoef
<a id='L119' name='L119'></a>\newif \iftabu@everyrow
<a id='L120' name='L120'></a>\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue}
<a id='L121' name='L121'></a>\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse}
<a id='L122' name='L122'></a>\newif \iftabu@long
<a id='L123' name='L123'></a>\newif \iftabuscantokens
<a id='L124' name='L124'></a>\def\tabu@rescan {\tabu@verbatim \scantokens  }
<a id='L125' name='L125'></a>%% Utilities (for internal usage) -----------------------------------
<a id='L126' name='L126'></a>\def\tabu@gobblespace #1  {#1}
<a id='L127' name='L127'></a>\def\tabu@gobbletoken #1#2{#1}
<a id='L128' name='L128'></a>\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex}
<a id='L129' name='L129'></a>\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble
<a id='L130' name='L130'></a>                  \else\ifx \@sptoken\@let@token
<a id='L131' name='L131'></a>                    \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX
<a id='L132' name='L132'></a>                  \fi\fi
<a id='L133' name='L133'></a>}% \tabu@gobblex
<a id='L134' name='L134'></a>\def\tabu@X{^^J}
<a id='L135' name='L135'></a>{\obeyspaces
<a id='L136' name='L136'></a>\global\let\tabu@spxiii= % saves an active space (for \ifx)
<a id='L137' name='L137'></a>\gdef\tabu@@spxiii{ }}
<a id='L138' name='L138'></a>\def\tabu@ifenvir {% only for \multicolumn
<a id='L139' name='L139'></a>    \expandafter\tabu@if@nvir\csname\@currenvir\endcsname
<a id='L140' name='L140'></a>}% \tabu@ifenvir
<a id='L141' name='L141'></a>\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else
<a id='L142' name='L142'></a>                              \ifx\longtabu#1first\else
<a id='L143' name='L143'></a>                              second\fi\fi oftwo\endcsname
<a id='L144' name='L144'></a>}% \tabu@ifenvir
<a id='L145' name='L145'></a>\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi}
<a id='L146' name='L146'></a>{\catcode`\&amp;=3
<a id='L147' name='L147'></a>\gdef\tabu@strtrim  #1{% #1 = control sequence to trim
<a id='L148' name='L148'></a>    \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi
<a id='L149' name='L149'></a>            \let\tabu@c@l@r \@empty       \let#1\@empty
<a id='L150' name='L150'></a>    \else   \expandafter  \tabu@trimspaces  #1&amp;#1\@nnil
<a id='L151' name='L151'></a>    \fi
<a id='L152' name='L152'></a>}% \tabu@strtrim
<a id='L153' name='L153'></a>\gdef\tabu@trimspaces #1&amp;#2\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1&amp; &amp;#2}%
<a id='L154' name='L154'></a>\gdef\tabu@firstspace #1#2#3 &amp;{\tabu@lastspace #2#3&amp;}
<a id='L155' name='L155'></a>\gdef\tabu@lastspace #1&amp;#2&amp;#3{\def #3{#1}%
<a id='L156' name='L156'></a>    \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi
<a id='L157' name='L157'></a>    \tabu@trimspaces #1&amp;#3\@nnil}
<a id='L158' name='L158'></a>}% \catcode
<a id='L159' name='L159'></a>\def\tabu@sanitizearg #1#2{{%
<a id='L160' name='L160'></a>    \csname \ifcsname if@safe@actives\endcsname         % &lt;babel&gt;
<a id='L161' name='L161'></a>                      @safe@activestrue\else
<a id='L162' name='L162'></a>                      relax\fi       \endcsname
<a id='L163' name='L163'></a>    \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2%
<a id='L164' name='L164'></a>    \expandafter}\expandafter\def\expandafter#2\expandafter{#2}%
<a id='L165' name='L165'></a>}% \tabu@sanitizearg
<a id='L166' name='L166'></a>\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}%
<a id='L167' name='L167'></a>    \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!!
<a id='L168' name='L168'></a>}% \tabu@textbar
<a id='L169' name='L169'></a>\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi}
<a id='L170' name='L170'></a>\def\tabu@everyrow@egroup{%
<a id='L171' name='L171'></a>    \iftabu@everyrow \expandafter \endgroup \the\toks@
<a id='L172' name='L172'></a>    \else            \ifnum0=`{\fi}%
<a id='L173' name='L173'></a>    \fi
<a id='L174' name='L174'></a>}% \tabu@everyrow@egroup
<a id='L175' name='L175'></a>\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule
<a id='L176' name='L176'></a>    height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
<a id='L177' name='L177'></a>    depth  \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
<a id='L178' name='L178'></a>    width  \z@}%
<a id='L179' name='L179'></a>}% \tabu@arstrut
<a id='L180' name='L180'></a>\def\tabu@rearstrut {%
<a id='L181' name='L181'></a>    \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax
<a id='L182' name='L182'></a>    \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth  \relax
<a id='L183' name='L183'></a>    \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima
<a id='L184' name='L184'></a>            \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi
<a id='L185' name='L185'></a>        \tabu@mkarstrut
<a id='L186' name='L186'></a>    \fi
<a id='L187' name='L187'></a>}% \tabu@rearstrut
<a id='L188' name='L188'></a>\def\tabu@@DBG #1{\ifdim\tabustrutrule&gt;\z@ \color{#1}\fi}
<a id='L189' name='L189'></a>\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox
<a id='L190' name='L190'></a>    \hbox to\z@{\hbox to\z@{\hss
<a id='L191' name='L191'></a>    {\tabu@DBG{cyan}\vrule
<a id='L192' name='L192'></a>    height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
<a id='L193' name='L193'></a>    depth  \z@
<a id='L194' name='L194'></a>    width  \tabustrutrule}\kern-\tabustrutrule
<a id='L195' name='L195'></a>    {\tabu@DBG{pink}\vrule
<a id='L196' name='L196'></a>    height \z@
<a id='L197' name='L197'></a>    depth  \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
<a id='L198' name='L198'></a>    width \tabustrutrule}}}%
<a id='L199' name='L199'></a>}% \tabu@DBG@arstrut
<a id='L200' name='L200'></a>\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@
<a id='L201' name='L201'></a>                                                              \@nextchar}}%
<a id='L202' name='L202'></a>\def\tabu@savedecl{\ifcat$\d@llarend\else
<a id='L203' name='L203'></a>       \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode
<a id='L204' name='L204'></a>}% \tabu@savedecl
<a id='L205' name='L205'></a>\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@}
<a id='L206' name='L206'></a>\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k }
<a id='L207' name='L207'></a>\let\tabu@trialh@@k \@empty
<a id='L208' name='L208'></a>\def\tabu@nowrite #1#{{\afterassignment}\toks@}
<a id='L209' name='L209'></a>\let\tabu@write\write
<a id='L210' name='L210'></a>\let\tabu@immediate\immediate
<a id='L211' name='L211'></a>\def\tabu@WRITE{\begingroup
<a id='L212' name='L212'></a>   \def\immediate\write{\aftergroup\endgroup
<a id='L213' name='L213'></a>                  \tabu@immediate\tabu@write}%
<a id='L214' name='L214'></a>}% \tabu@WRITE
<a id='L215' name='L215'></a>\expandafter\def\expandafter\tabu@GenericError\expandafter{%
<a id='L216' name='L216'></a>                      \expandafter\tabu@WRITE\GenericError}
<a id='L217' name='L217'></a>\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}}
<a id='L218' name='L218'></a>\def\tabu@noxfootnote [#1]{\@gobble}
<a id='L219' name='L219'></a>\def\tabu@nocolor #1#{\@gobble}
<a id='L220' name='L220'></a>\newcommand*\tabu@norowcolor[2][]{}
<a id='L221' name='L221'></a>\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}%
<a id='L222' name='L222'></a>                          \futurelet\@let@token \tabu@m@ybesiunitx}
<a id='L223' name='L223'></a>\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {%
<a id='L224' name='L224'></a>    \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi
<a id='L225' name='L225'></a>    \tabu@temp}% \tabu@m@ybesiunitx
<a id='L226' name='L226'></a>}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname
<a id='L227' name='L227'></a>\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}%
<a id='L228' name='L228'></a>%% Fixed vertical spacing adjustment: \extrarowsep ------------------
<a id='L229' name='L229'></a>\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}%
<a id='L230' name='L230'></a>    \iftabu@everyrow    \aftergroup\tabu@Gextra
<a id='L231' name='L231'></a>    \else               \aftergroup\tabu@n@Gextra
<a id='L232' name='L232'></a>    \fi
<a id='L233' name='L233'></a>    \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra
<a id='L234' name='L234'></a>}% \extrarowsep
<a id='L235' name='L235'></a>\def\tabu@extra {\@ifnextchar_%
<a id='L236' name='L236'></a>    {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}
<a id='L237' name='L237'></a>    {\ifx ^\@let@token \def\tabu@temp{%
<a id='L238' name='L238'></a>            \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}%
<a id='L239' name='L239'></a>    \else   \let\tabu@temp \@empty
<a id='L240' name='L240'></a>            \afterassignment \tabu@setextrasep \extrarowdepth
<a id='L241' name='L241'></a>    \fi \tabu@temp}%
<a id='L242' name='L242'></a>}% \tabu@extra
<a id='L243' name='L243'></a>\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2}
<a id='L244' name='L244'></a>\def\tabu@extr@ #1#2{\@ifnextchar^%
<a id='L245' name='L245'></a>    {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}
<a id='L246' name='L246'></a>    {\ifx _\@let@token \def\tabu@temp{%
<a id='L247' name='L247'></a>            \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}%
<a id='L248' name='L248'></a>    \else   \let\tabu@temp \@empty
<a id='L249' name='L249'></a>            \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
<a id='L250' name='L250'></a>    \fi \tabu@temp}%
<a id='L251' name='L251'></a>}% \tabu@extr@
<a id='L252' name='L252'></a>\def\tabu@setextrasep {\extrarowheight=\extrarowdepth
<a id='L253' name='L253'></a>    \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
<a id='L254' name='L254'></a>}% \tabu@setextrasep
<a id='L255' name='L255'></a>\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi}
<a id='L256' name='L256'></a>\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi}
<a id='L257' name='L257'></a>\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra}
<a id='L258' name='L258'></a>\let\tabu@C@extra \z@
<a id='L259' name='L259'></a>\let\tabu@G@extra \@empty
<a id='L260' name='L260'></a>%% Dynamic vertical spacing adjustment: \tabulinesep ----------------
<a id='L261' name='L261'></a>\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}%
<a id='L262' name='L262'></a>    \iftabu@everyrow    \aftergroup\tabu@Glinesep
<a id='L263' name='L263'></a>    \else               \aftergroup\tabu@n@Glinesep
<a id='L264' name='L264'></a>    \fi
<a id='L265' name='L265'></a>    \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep
<a id='L266' name='L266'></a>}% \tabulinesep
<a id='L267' name='L267'></a>\def\tabu@linesep {\@ifnextchar_%
<a id='L268' name='L268'></a>    {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}
<a id='L269' name='L269'></a>    {\ifx ^\@let@token \def\tabu@temp{%
<a id='L270' name='L270'></a>            \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}%
<a id='L271' name='L271'></a>     \else  \let\tabu@temp \@empty
<a id='L272' name='L272'></a>            \afterassignment \tabu@setlinesep \abovetabulinesep
<a id='L273' name='L273'></a>     \fi \tabu@temp}%
<a id='L274' name='L274'></a>}% \tabu@linesep
<a id='L275' name='L275'></a>\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2}
<a id='L276' name='L276'></a>\def\tabu@sets@p #1#2{\@ifnextchar^%
<a id='L277' name='L277'></a>    {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}
<a id='L278' name='L278'></a>    {\ifx _\@let@token \def\tabu@temp{%
<a id='L279' name='L279'></a>            \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}%
<a id='L280' name='L280'></a>    \else   \let\tabu@temp \@empty
<a id='L281' name='L281'></a>            \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
<a id='L282' name='L282'></a>    \fi \tabu@temp}%
<a id='L283' name='L283'></a>}% \tabu@sets@p
<a id='L284' name='L284'></a>\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep
<a id='L285' name='L285'></a>    \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
<a id='L286' name='L286'></a>}% \tabu@setlinesep
<a id='L287' name='L287'></a>\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi}
<a id='L288' name='L288'></a>\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi}
<a id='L289' name='L289'></a>\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep}
<a id='L290' name='L290'></a>\let\tabu@C@linesep \z@
<a id='L291' name='L291'></a>\let\tabu@G@linesep \@empty
<a id='L292' name='L292'></a>%% \global\extrarowsep  and  \global\tabulinesep  -------------------
<a id='L293' name='L293'></a>\def\tabu@Gsave #1#2#3#4{\xdef#1{#1%
<a id='L294' name='L294'></a>    \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}%
<a id='L295' name='L295'></a>}% \tabu@Gsave
<a id='L296' name='L296'></a>\def\tabu@Grestore#1#2{%
<a id='L297' name='L297'></a>    \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax
<a id='L298' name='L298'></a>    \ifcat$\the\toks\currentgrouplevel$\else
<a id='L299' name='L299'></a>        \global\let#1\@empty \global\let#2\z@
<a id='L300' name='L300'></a>        \the\toks\currentgrouplevel
<a id='L301' name='L301'></a>    \fi
<a id='L302' name='L302'></a>}% \tabu@Grestore
<a id='L303' name='L303'></a>%% Setting code for every row ---------------------------------------
<a id='L304' name='L304'></a>\newcommand*\everyrow{\tabu@everyrow@bgroup
<a id='L305' name='L305'></a>                      \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop
<a id='L306' name='L306'></a>}% \everyrow
<a id='L307' name='L307'></a>\def\tabu@evrstartstop {\@ifnextchar^%
<a id='L308' name='L308'></a>    {\afterassignment \tabu@evrstartstop \tabu@stop=}%
<a id='L309' name='L309'></a>    {\ifx ^\@let@token
<a id='L310' name='L310'></a>            \afterassignment\tabu@evrstartstop \tabu@start=%
<a id='L311' name='L311'></a>     \else  \afterassignment\tabu@everyr@w     \toks@
<a id='L312' name='L312'></a>     \fi}%
<a id='L313' name='L313'></a>}% \tabu@evrstartstop
<a id='L314' name='L314'></a>\def\tabu@everyr@w {%
<a id='L315' name='L315'></a>    \xdef\tabu@everyrow{%
<a id='L316' name='L316'></a>        \noexpand\tabu@everyrowfalse
<a id='L317' name='L317'></a>        \let\noalign \relax
<a id='L318' name='L318'></a>        \noexpand\tabu@rowfontreset
<a id='L319' name='L319'></a>        \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors
<a id='L320' name='L320'></a>        \let\noexpand\tabu@docline \noexpand\tabu@docline@evr
<a id='L321' name='L321'></a>        \the\toks@
<a id='L322' name='L322'></a>        \noexpand\tabu@evrh@@k
<a id='L323' name='L323'></a>        \noexpand\tabu@rearstrut
<a id='L324' name='L324'></a>        \global\advance\c@taburow \@ne}%
<a id='L325' name='L325'></a>    \iftabu@everyrow \toks@\expandafter
<a id='L326' name='L326'></a>        {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}%
<a id='L327' name='L327'></a>    \else \xdef\tabu@evr@G{\the\toks@}%
<a id='L328' name='L328'></a>    \fi
<a id='L329' name='L329'></a>    \tabu@everyrow@egroup
<a id='L330' name='L330'></a>}% \tabu@everyr@w
<a id='L331' name='L331'></a>\def\tabu@evr {\def\tabu@evrh@@k}         % for internal use only
<a id='L332' name='L332'></a>\tabu@evr{}
<a id='L333' name='L333'></a>%% line style and leaders -------------------------------------------
<a id='L334' name='L334'></a>\newcommand*\newtabulinestyle [1]{%
<a id='L335' name='L335'></a>    {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}%
<a id='L336' name='L336'></a>}% \newtabulinestyle
<a id='L337' name='L337'></a>\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}%
<a id='L338' name='L338'></a>    \tabu@sanitizearg {#1}\@tempa
<a id='L339' name='L339'></a>    \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi
<a id='L340' name='L340'></a>    \global\expandafter\let
<a id='L341' name='L341'></a>        \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi
<a id='L342' name='L342'></a>}% \tabu@newlinestyle
<a id='L343' name='L343'></a>\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}%
<a id='L344' name='L344'></a>    \iftabu@everyrow
<a id='L345' name='L345'></a>        \toks@\expandafter{\expandafter \def \expandafter
<a id='L346' name='L346'></a>                    \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}%
<a id='L347' name='L347'></a>        \gdef\tabu@ls@{\tabu@ls@L}%
<a id='L348' name='L348'></a>    \else
<a id='L349' name='L349'></a>        \global\let\tabu@ls@G \tabu@thestyle
<a id='L350' name='L350'></a>        \gdef\tabu@ls@{\tabu@ls@G}%
<a id='L351' name='L351'></a>    \fi
<a id='L352' name='L352'></a>    \tabu@everyrow@egroup
<a id='L353' name='L353'></a>}% \tabulinestyle
<a id='L354' name='L354'></a>\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor}
<a id='L355' name='L355'></a>\def\tabu@rulecolor #1{\toks@{}%
<a id='L356' name='L356'></a>    \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1%
<a id='L357' name='L357'></a>                                                    \tabu@temp
<a id='L358' name='L358'></a>                                                 \tabu@rulearc
<a id='L359' name='L359'></a>}% \tabu@rulecolor
<a id='L360' name='L360'></a>\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp
<a id='L361' name='L361'></a>    \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}%
<a id='L362' name='L362'></a>    \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}%
<a id='L363' name='L363'></a>    \fi
<a id='L364' name='L364'></a>    \tabu@temp
<a id='L365' name='L365'></a>}% \tabu@ruledrsc@
<a id='L366' name='L366'></a>\def\tabu@ruledrsc@   #1#{\tabu@rule@drsc@ {#1}}
<a id='L367' name='L367'></a>\def\tabu@rule@drsc@ #1#2{%
<a id='L368' name='L368'></a>    \iftabu@everyrow
<a id='L369' name='L369'></a>        \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}%
<a id='L370' name='L370'></a>        \else        \toks@{\def\CT@drsc@{\color #1{#2}}}%
<a id='L371' name='L371'></a>        \fi
<a id='L372' name='L372'></a>    \else
<a id='L373' name='L373'></a>        \ifx \\#1#2\\\global\let\CT@drsc@ \relax
<a id='L374' name='L374'></a>        \else        \gdef\CT@drsc@{\color #1{#2}}%
<a id='L375' name='L375'></a>        \fi
<a id='L376' name='L376'></a>    \fi
<a id='L377' name='L377'></a>    \tabu@rulearc
<a id='L378' name='L378'></a>}% \tabu@rule@drsc@
<a id='L379' name='L379'></a>\def\tabu@rulearc    #1#{\tabu@rule@arc@ {#1}}
<a id='L380' name='L380'></a>\def\tabu@rule@arc@ #1#2{%
<a id='L381' name='L381'></a>    \iftabu@everyrow
<a id='L382' name='L382'></a>        \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}%
<a id='L383' name='L383'></a>        \else        \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}%
<a id='L384' name='L384'></a>        \fi
<a id='L385' name='L385'></a>        \toks@\expandafter{\the\toks@
<a id='L386' name='L386'></a>            \let\tabu@arc@L  \CT@arc@
<a id='L387' name='L387'></a>            \let\tabu@drsc@L \CT@drsc@
<a id='L388' name='L388'></a>            \ignorespaces}%
<a id='L389' name='L389'></a>    \else
<a id='L390' name='L390'></a>        \ifx \\#1#2\\\gdef\CT@arc@{}%
<a id='L391' name='L391'></a>        \else        \gdef\CT@arc@{\color #1{#2}}%
<a id='L392' name='L392'></a>        \fi
<a id='L393' name='L393'></a>        \global\let\tabu@arc@G  \CT@arc@
<a id='L394' name='L394'></a>        \global\let\tabu@drsc@G \CT@drsc@
<a id='L395' name='L395'></a>    \fi
<a id='L396' name='L396'></a>    \tabu@everyrow@egroup
<a id='L397' name='L397'></a>}% \tabu@rule@arc@
<a id='L398' name='L398'></a>\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1}
<a id='L399' name='L399'></a>\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}}
<a id='L400' name='L400'></a>\def\tabu@rowc@lors #1#2#3{%
<a id='L401' name='L401'></a>    \toks@{}\@defaultunits \count@      =\number0#2\relax \@nnil
<a id='L402' name='L402'></a>            \@defaultunits \tabu@start  =\number0#1\relax \@nnil
<a id='L403' name='L403'></a>    \ifnum \count@&lt;\tw@ \count@=\tw@ \fi
<a id='L404' name='L404'></a>    \advance\tabu@start \m@ne
<a id='L405' name='L405'></a>    \ifnum \tabu@start&lt;\z@ \tabu@start \z@ \fi
<a id='L406' name='L406'></a>    \tabu@rowcolorseries #3\in@..\in@ \@nnil
<a id='L407' name='L407'></a>}% \tabu@rowcolors
<a id='L408' name='L408'></a>\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {%
<a id='L409' name='L409'></a>    \ifx \in@#1\relax
<a id='L410' name='L410'></a>        \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}%
<a id='L411' name='L411'></a>        \else   \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@
<a id='L412' name='L412'></a>        \fi
<a id='L413' name='L413'></a>    \else
<a id='L414' name='L414'></a>        \ifx \\#2\\\tabu@rowcolorserieserror \fi
<a id='L415' name='L415'></a>        \tabu@sanitizearg{#1}\tabu@temp
<a id='L416' name='L416'></a>        \tabu@sanitizearg{#2}\@tempa
<a id='L417' name='L417'></a>        \advance\count@ \m@ne
<a id='L418' name='L418'></a>    \iftabu@everyrow
<a id='L419' name='L419'></a>        \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{%
<a id='L420' name='L420'></a>            \ifnum ##2=\c@taburow
<a id='L421' name='L421'></a>                \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi
<a id='L422' name='L422'></a>            \ifnum \c@taburow&lt;##2 \else
<a id='L423' name='L423'></a>                \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@
<a id='L424' name='L424'></a>                    \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
<a id='L425' name='L425'></a>                \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
<a id='L426' name='L426'></a>                \rowcolor{tabu@rc@\the\tabu@nested}\fi}%
<a id='L427' name='L427'></a>        }\edef\x{\noexpand\tabu@rc@           {\the\count@}
<a id='L428' name='L428'></a>                                          {\the\tabu@start}
<a id='L429' name='L429'></a>                                               {\tabu@temp}
<a id='L430' name='L430'></a>                                                  {\@tempa}%
<a id='L431' name='L431'></a>                }\x
<a id='L432' name='L432'></a>        \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}%
<a id='L433' name='L433'></a>        \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}%
<a id='L434' name='L434'></a>    \else   % inside \noalign
<a id='L435' name='L435'></a>        \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}%
<a id='L436' name='L436'></a>        \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}%
<a id='L437' name='L437'></a>        \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
<a id='L438' name='L438'></a>        \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}%
<a id='L439' name='L439'></a>        \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{%
<a id='L440' name='L440'></a>            \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne
<a id='L441' name='L441'></a>                \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
<a id='L442' name='L442'></a>            \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
<a id='L443' name='L443'></a>            \rowcolor{tabu@rc@\the\tabu@nested}}%
<a id='L444' name='L444'></a>        }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x
<a id='L445' name='L445'></a>        \global\let\tabu@rc@G \tabu@rc@
<a id='L446' name='L446'></a>    \fi
<a id='L447' name='L447'></a>    \fi
<a id='L448' name='L448'></a>    \tabu@everyrow@egroup
<a id='L449' name='L449'></a>}% \tabu@rowcolorseries
<a id='L450' name='L450'></a>\tabuDisableCommands {\let\tabu@rc@ \@empty }
<a id='L451' name='L451'></a>\def\tabu@rowcolorserieserror {\PackageError{tabu}
<a id='L452' name='L452'></a>    {Invalid syntax for \string\taburowcolors
<a id='L453' name='L453'></a>    \MessageBreak Please look at the documentation!}\@ehd
<a id='L454' name='L454'></a>}% \tabu@rowcolorserieserror
<a id='L455' name='L455'></a>\newcommand*\tabureset {%
<a id='L456' name='L456'></a>    \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@
<a id='L457' name='L457'></a>    \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}%
<a id='L458' name='L458'></a>}% \tabureset
<a id='L459' name='L459'></a>%% Parsing the line styles ------------------------------------------
<a id='L460' name='L460'></a>\def\tabu@getline #1{\begingroup
<a id='L461' name='L461'></a>    \csname \ifcsname if@safe@actives\endcsname         % &lt;babel&gt;
<a id='L462' name='L462'></a>                      @safe@activestrue\else
<a id='L463' name='L463'></a>                      relax\fi       \endcsname
<a id='L464' name='L464'></a>    \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa
<a id='L465' name='L465'></a>    \let\tabu@thestyle \relax
<a id='L466' name='L466'></a>    \ifcsname tabu@linestyle@\@tempa \endcsname
<a id='L467' name='L467'></a>            \edef\tabu@thestyle{\endgroup
<a id='L468' name='L468'></a>                \def\tabu@thestyle{\expandafter\noexpand
<a id='L469' name='L469'></a>                    \csname tabu@linestyle@\@tempa\endcsname}%
<a id='L470' name='L470'></a>            }\tabu@thestyle
<a id='L471' name='L471'></a>    \else   \expandafter\tabu@definestyle \tabu@temp \@nil
<a id='L472' name='L472'></a>    \fi
<a id='L473' name='L473'></a>}% \tabu@getline
<a id='L474' name='L474'></a>\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter
<a id='L475' name='L475'></a>    \tabu@thick \maxdimen  \tabu@on \maxdimen   \tabu@off \maxdimen
<a id='L476' name='L476'></a>    \let\tabu@c@lon \@undefined  \let\tabu@c@loff \@undefined
<a id='L477' name='L477'></a>    \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs
<a id='L478' name='L478'></a>            \def\tabu@temp{\tabu@getparam{thick}}%
<a id='L479' name='L479'></a>    \else   \def\tabu@temp{\tabu@getparam{thick}\maxdimen}%
<a id='L480' name='L480'></a>    \fi
<a id='L481' name='L481'></a>    {%
<a id='L482' name='L482'></a>        \let\tabu@ \relax
<a id='L483' name='L483'></a>        \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-))
<a id='L484' name='L484'></a>        \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}%
<a id='L485' name='L485'></a>                        \expandafter}\expandafter
<a id='L486' name='L486'></a>                                \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-)
<a id='L487' name='L487'></a>    \def\;{\def\:}%
<a id='L488' name='L488'></a>    \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10)
<a id='L489' name='L489'></a>    \let\tabu@ \tabu@getcolor    \:%    all arguments are ready now ;-)
<a id='L490' name='L490'></a>    \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi
<a id='L491' name='L491'></a>    \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi
<a id='L492' name='L492'></a>    \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty        \fi
<a id='L493' name='L493'></a>    \ifdim \tabu@on=\maxdimen \ifdim \tabu@off&lt;\maxdimen
<a id='L494' name='L494'></a>                                  \tabu@on \tabulineon        \fi\fi
<a id='L495' name='L495'></a>    \ifdim \tabu@off=\maxdimen \ifdim \tabu@on&lt;\maxdimen
<a id='L496' name='L496'></a>                                  \tabu@off \tabulineoff      \fi\fi
<a id='L497' name='L497'></a>    \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi
<a id='L498' name='L498'></a>            \in@true    % &lt;leaders&gt;
<a id='L499' name='L499'></a>    \else   \in@false   % &lt;rule&gt;
<a id='L500' name='L500'></a>    \fi
<a id='L501' name='L501'></a>    \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}%
<a id='L502' name='L502'></a>    \else                       \edef\tabu@thick{\the\tabu@thick}%
<a id='L503' name='L503'></a>    \fi
<a id='L504' name='L504'></a>    \edef \tabu@thestyle ##1##2{\endgroup
<a id='L505' name='L505'></a>        \def\tabu@thestyle{%
<a id='L506' name='L506'></a>            \ifin@  \noexpand\tabu@leadersstyle {\tabu@thick}
<a id='L507' name='L507'></a>                                                {\the\tabu@on}{##1}
<a id='L508' name='L508'></a>                                                {\the\tabu@off}{##2}%
<a id='L509' name='L509'></a>            \else   \noexpand\tabu@rulesstyle
<a id='L510' name='L510'></a>                            {##1\vrule width \tabu@thick}%
<a id='L511' name='L511'></a>                            {##1\leaders \hrule height \tabu@thick \hfil}%
<a id='L512' name='L512'></a>            \fi}%
<a id='L513' name='L513'></a>    }\expandafter \expandafter
<a id='L514' name='L514'></a>        \expandafter \tabu@thestyle \expandafter
<a id='L515' name='L515'></a>            \expandafter \expandafter
<a id='L516' name='L516'></a>                {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}%
<a id='L517' name='L517'></a>}% \tabu@definestyle
<a id='L518' name='L518'></a>{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active
<a id='L519' name='L519'></a>    \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}}
<a id='L520' name='L520'></a>    \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space}
<a id='L521' name='L521'></a>}% \catcode
<a id='L522' name='L522'></a>\def\tabu@oxiii #1{%
<a id='L523' name='L523'></a>    \ifcase  \ifx n#1\z@ \else
<a id='L524' name='L524'></a>             \ifx f#1\@ne\else
<a id='L525' name='L525'></a>             \tw@       \fi\fi
<a id='L526' name='L526'></a>          \expandafter\tabu@onxiii
<a id='L527' name='L527'></a>    \or   \expandafter\tabu@ofxiii
<a id='L528' name='L528'></a>    \else o%
<a id='L529' name='L529'></a>    \fi#1}%
<a id='L530' name='L530'></a>\def\tabu@onxiii #1#2{%
<a id='L531' name='L531'></a>    \ifcase  \ifx  !#2\tw@          \else
<a id='L532' name='L532'></a>             \ifcat.\noexpand#2\z@  \else
<a id='L533' name='L533'></a>             \ifx \tabu@spxiii#2\@ne\else
<a id='L534' name='L534'></a>             \tw@               \fi\fi\fi
<a id='L535' name='L535'></a>          \tabu@getparam{on}#2\expandafter\@gobble
<a id='L536' name='L536'></a>    \or   \expandafter\tabu@onxiii    % (space is active)
<a id='L537' name='L537'></a>    \else o\expandafter\@firstofone
<a id='L538' name='L538'></a>    \fi{#1#2}}%
<a id='L539' name='L539'></a>\def\tabu@ofxiii #1#2{%
<a id='L540' name='L540'></a>    \ifx #2f\expandafter\tabu@offxiii
<a id='L541' name='L541'></a>    \else   o\expandafter\@firstofone
<a id='L542' name='L542'></a>    \fi{#1#2}}
<a id='L543' name='L543'></a>\def\tabu@offxiii #1#2{%
<a id='L544' name='L544'></a>    \ifcase \ifx  !#2\tw@           \else
<a id='L545' name='L545'></a>            \ifcat.\noexpand#2\z@   \else
<a id='L546' name='L546'></a>            \ifx\tabu@spxiii#2\@ne  \else
<a id='L547' name='L547'></a>            \tw@                \fi\fi\fi
<a id='L548' name='L548'></a>          \tabu@getparam{off}#2\expandafter\@gobble
<a id='L549' name='L549'></a>    \or   \expandafter\tabu@offxiii   % (space is active)
<a id='L550' name='L550'></a>    \else o\expandafter\@firstofone
<a id='L551' name='L551'></a>    \fi{#1#2}}
<a id='L552' name='L552'></a>\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=}
<a id='L553' name='L553'></a>\def\tabu@getcolor #1{% \tabu@ &lt;- \tabu@getcolor after \edef
<a id='L554' name='L554'></a>    \ifx \tabu@#1\else   % no more spec
<a id='L555' name='L555'></a>        \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi
<a id='L556' name='L556'></a>}% \tabu@getcolor
<a id='L557' name='L557'></a>\def\tabu@getc@l@r #1\tabu@ {%
<a id='L558' name='L558'></a>    \def\tabu@temp{#1}\tabu@strtrim \tabu@temp
<a id='L559' name='L559'></a>    \ifx \tabu@temp\@empty
<a id='L560' name='L560'></a>    \else%\ifcsname \string\color@\tabu@temp \endcsname  % if the color exists
<a id='L561' name='L561'></a>        \ifx \tabu@theparam \tabu@off   \let\tabu@c@loff \tabu@c@l@r
<a id='L562' name='L562'></a>        \else                           \let\tabu@c@lon  \tabu@c@l@r
<a id='L563' name='L563'></a>        \fi
<a id='L564' name='L564'></a>    %\else \tabu@warncolour{\tabu@temp}%
<a id='L565' name='L565'></a>    \fi%\fi
<a id='L566' name='L566'></a>    \tabu@ % next spec
<a id='L567' name='L567'></a>}% \tabu@getc@l@r
<a id='L568' name='L568'></a>\def\tabu@warncolour #1{\PackageWarning{tabu}
<a id='L569' name='L569'></a>    {Color #1 is not defined. Default color used}%
<a id='L570' name='L570'></a>}% \tabu@warncolour
<a id='L571' name='L571'></a>\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}%
<a id='L572' name='L572'></a>    \ifx \tabu@leaders\tabu@leaders@G \else
<a id='L573' name='L573'></a>                \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi
<a id='L574' name='L574'></a>}% \tabu@leadersstyle
<a id='L575' name='L575'></a>\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined
<a id='L576' name='L576'></a>        \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}%
<a id='L577' name='L577'></a>}% \tabu@rulesstyle
<a id='L578' name='L578'></a>%% The leaders boxes ------------------------------------------------
<a id='L579' name='L579'></a>\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color
<a id='L580' name='L580'></a>    {\let\color \tabu@color % =&gt; during trials -&gt;  \color = \tabu@nocolor
<a id='L581' name='L581'></a>    {%                      %    but the leaders boxes should have colors !
<a id='L582' name='L582'></a>    \def\@therule{\vrule}\def\@thick{height}\def\@length{width}%
<a id='L583' name='L583'></a>    \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}%
<a id='L584' name='L584'></a>    \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}%
<a id='L585' name='L585'></a>    \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
<a id='L586' name='L586'></a>    \global\let\tabu@thehleaders \tabu@theleaders
<a id='L587' name='L587'></a>    }%
<a id='L588' name='L588'></a>    {%
<a id='L589' name='L589'></a>    \def\@therule{\hrule}\def\@thick{width}\def\@length{height}%
<a id='L590' name='L590'></a>    \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}%
<a id='L591' name='L591'></a>    \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}%
<a id='L592' name='L592'></a>    \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
<a id='L593' name='L593'></a>    \global\let\tabu@thevleaders \tabu@theleaders
<a id='L594' name='L594'></a>    }%
<a id='L595' name='L595'></a>    \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}%
<a id='L596' name='L596'></a>    }%
<a id='L597' name='L597'></a>}% \tabu@LEADERS
<a id='L598' name='L598'></a>\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@}
<a id='L599' name='L599'></a>\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color
<a id='L600' name='L600'></a>    \global\setbox \tabu@leads=\@box{%
<a id='L601' name='L601'></a>        {#3\tabu@therule{#1}{#2}}%
<a id='L602' name='L602'></a>        \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi
<a id='L603' name='L603'></a>        {#3\tabu@therule{#1}{#2}}}%
<a id='L604' name='L604'></a>    \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss
<a id='L605' name='L605'></a>        {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}%
<a id='L606' name='L606'></a>    \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {%
<a id='L607' name='L607'></a>        {##1\tabu@therule{#1}{#2}}%
<a id='L608' name='L608'></a>        \xleaders \copy\tabu@leads \@ss
<a id='L609' name='L609'></a>        \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}%
<a id='L610' name='L610'></a>    }\tabu@theleaders{#3}%
<a id='L611' name='L611'></a>}% \tabu@l@@d@rs
<a id='L612' name='L612'></a>%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ----------
<a id='L613' name='L613'></a>\newcommand*\tabu {\tabu@longfalse
<a id='L614' name='L614'></a>    \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}%
<a id='L615' name='L615'></a>    \else  \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi
<a id='L616' name='L616'></a>    \expandafter\let\csname tabu*\endcsname \tabu
<a id='L617' name='L617'></a>    \expandafter\def\csname endtabu*\endcsname{\endtabu}%
<a id='L618' name='L618'></a>    \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
<a id='L619' name='L619'></a>}% {tabu}
<a id='L620' name='L620'></a>\let\tabu@tabular \tabular % &lt;For LyX: some users redefine \tabular...&gt;
<a id='L621' name='L621'></a>\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu}
<a id='L622' name='L622'></a>\newcommand*\longtabu {\tabu@longtrue
<a id='L623' name='L623'></a>   \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
<a id='L624' name='L624'></a>   \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
<a id='L625' name='L625'></a>   \LTchunksize=\@M
<a id='L626' name='L626'></a>   \expandafter\let\csname tabu*\endcsname \tabu
<a id='L627' name='L627'></a>   \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
<a id='L628' name='L628'></a>   \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts }
<a id='L629' name='L629'></a>   \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
<a id='L630' name='L630'></a>}% {longtabu}
<a id='L631' name='L631'></a>\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu}
<a id='L632' name='L632'></a>\def\tabu@nolongtabu{\PackageError{tabu}
<a id='L633' name='L633'></a>   {longtabu requires the longtable package}\@ehd}
<a id='L634' name='L634'></a>%% Read the target and  then : \tabular or \@array ------------------
<a id='L635' name='L635'></a>\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget }
<a id='L636' name='L636'></a>\def\tabu@sett@rget {\tabu@target \z@
<a id='L637' name='L637'></a>   \ifcase \ifx \bgroup\@let@token   \z@  \else
<a id='L638' name='L638'></a>           \ifx \@sptoken\@let@token \@ne \else
<a id='L639' name='L639'></a>           \if t\@let@token          \tw@ \else
<a id='L640' name='L640'></a>           \if s\@let@token          \thr@@\else
<a id='L641' name='L641'></a>           \z@\fi\fi\fi\fi
<a id='L642' name='L642'></a>         \expandafter\tabu@begin
<a id='L643' name='L643'></a>   \or   \expandafter\tabu@gobblespace\expandafter\tabu@settarget
<a id='L644' name='L644'></a>   \or   \expandafter\tabu@to
<a id='L645' name='L645'></a>   \or   \expandafter\tabu@spread
<a id='L646' name='L646'></a>   \fi
<a id='L647' name='L647'></a>}% \tabu@sett@rget
<a id='L648' name='L648'></a>\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget}
<a id='L649' name='L649'></a>\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget}
<a id='L650' name='L650'></a>\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target }
<a id='L651' name='L651'></a>\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget }
<a id='L652' name='L652'></a>\def\tabu@linegoalt@rget {%
<a id='L653' name='L653'></a>   \ifx \tabu@temp\LNGL@setlinegoal
<a id='L654' name='L654'></a>        \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal
<a id='L655' name='L655'></a>   \tabu@begin
<a id='L656' name='L656'></a>}% \tabu@linegoalt@rget
<a id='L657' name='L657'></a>\def\tabu@begin #1#{%
<a id='L658' name='L658'></a>    \iftabu@measuring \expandafter\tabu@nestedmeasure \fi
<a id='L659' name='L659'></a>    \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty
<a id='L660' name='L660'></a>    \else                   \edef\tabu@halignto{\tabu@halignto\the\tabu@target}%
<a id='L661' name='L661'></a>    \fi
<a id='L662' name='L662'></a>    \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil
<a id='L663' name='L663'></a>}% \tabu@begin
<a id='L664' name='L664'></a>\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup
<a id='L665' name='L665'></a>   \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}%
<a id='L666' name='L666'></a>   \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }%
<a id='L667' name='L667'></a>}% \tabu@tabu@
<a id='L668' name='L668'></a>\def\tabu@nestedmeasure {%
<a id='L669' name='L669'></a>    \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax
<a id='L670' name='L670'></a>            \tabu@spreadtrue
<a id='L671' name='L671'></a>    \else   \begingroup \iffalse{\fi \ifnum0=`}\fi
<a id='L672' name='L672'></a>            \toks@{}\def\tabu@stack{b}%
<a id='L673' name='L673'></a>            \expandafter\tabu@collectbody\expandafter\tabu@quickrule
<a id='L674' name='L674'></a>                                         \expandafter\endgroup
<a id='L675' name='L675'></a>    \fi
<a id='L676' name='L676'></a>}% \tabu@nestedmeasure
<a id='L677' name='L677'></a>\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target}
<a id='L678' name='L678'></a>%% \tabu@setup  \tabu@init  \tabu@indent
<a id='L679' name='L679'></a>\def\tabu@setup{\tabu@alloc@
<a id='L680' name='L680'></a>    \ifcase \tabu@nested
<a id='L681' name='L681'></a>        \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@
<a id='L682' name='L682'></a>            \let\tabu@afterendpar \par
<a id='L683' name='L683'></a>        \fi\fi\fi
<a id='L684' name='L684'></a>        \def\tabu@aligndefault{c}\tabu@init \tabu@indent
<a id='L685' name='L685'></a>    \else       % &lt;nested tabu&gt;
<a id='L686' name='L686'></a>        \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth
<a id='L687' name='L687'></a>    \fi
<a id='L688' name='L688'></a>    \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined
<a id='L689' name='L689'></a>    \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}%
<a id='L690' name='L690'></a>    \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu...
<a id='L691' name='L691'></a>              \let\@endpbox   \tabu@endpbox   % idem "    "    "    "    "    "
<a id='L692' name='L692'></a>              \let\@tabarray  \tabu@tabarray  % idem "    "    "    "    "    "
<a id='L693' name='L693'></a>    \tabu@setcleanup \tabu@setreset
<a id='L694' name='L694'></a>}% \tabu@setup
<a id='L695' name='L695'></a>\def\tabu@init{\tabu@starttimer \tabu@measuringfalse
<a id='L696' name='L696'></a>    \edef\tabu@hfuzz  {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}%
<a id='L697' name='L697'></a>    \let\firsthline    \tabu@firsthline   \let\lasthline      \tabu@lasthline
<a id='L698' name='L698'></a>    \let\firstline     \tabu@firstline    \let\lastline       \tabu@lastline
<a id='L699' name='L699'></a>    \let\hline         \tabu@hline        \let\@xhline        \tabu@xhline
<a id='L700' name='L700'></a>    \let\color         \tabu@color        \let\@arstrutbox    \tabu@arstrutbox
<a id='L701' name='L701'></a>    \iftabu@colortbl\else\let\LT@@hline   \tabu@LT@@hline \fi
<a id='L702' name='L702'></a>    \tabu@trivlist     %&lt;restore \\=\@normalcr inside lists&gt;
<a id='L703' name='L703'></a>    \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext
<a id='L704' name='L704'></a>    \let\@xfootnote    \tabu@xfootnote    \let\centering      \tabu@centering
<a id='L705' name='L705'></a>    \let\raggedright   \tabu@raggedright  \let\raggedleft     \tabu@raggedleft
<a id='L706' name='L706'></a>    \let\tabudecimal   \tabu@tabudecimal  \let\Centering      \tabu@Centering
<a id='L707' name='L707'></a>    \let\RaggedRight   \tabu@RaggedRight  \let\RaggedLeft     \tabu@RaggedLeft
<a id='L708' name='L708'></a>    \let\justifying    \tabu@justifying   \let\rowfont        \tabu@rowfont
<a id='L709' name='L709'></a>    \let\fbox          \tabu@fbox         \let\color@b@x      \tabu@color@b@x
<a id='L710' name='L710'></a>    \let\tabu@@everycr \everycr           \let\tabu@@everypar \everypar
<a id='L711' name='L711'></a>    \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok  \tabu@prepnext@tok
<a id='L712' name='L712'></a>    \let\tabu@multicolumnORI\multicolumn  \let\multicolumn    \tabu@multicolumn
<a id='L713' name='L713'></a>    \let\tabu@startpbox \@startpbox      % for nested tabu inside longtabu pfff !!!
<a id='L714' name='L714'></a>    \let\tabu@endpbox   \@endpbox        % idem  "    "    "    "    "    "    "
<a id='L715' name='L715'></a>    \let\tabu@tabarray  \@tabarray       % idem  "    "    "    "    "    "    "
<a id='L716' name='L716'></a>    \tabu@adl@fix      \let\endarray      \tabu@endarray % &lt;fix&gt; colortbl &amp; arydshln (delarray)
<a id='L717' name='L717'></a>    \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi
<a id='L718' name='L718'></a>}% \tabu@init
<a id='L719' name='L719'></a>\def\tabu@indent{% correction for indentation
<a id='L720' name='L720'></a>    \ifdim \parindent&gt;\z@\ifx \linewidth\tabudefaulttarget
<a id='L721' name='L721'></a>    \everypar\expandafter{%
<a id='L722' name='L722'></a>        \the\everypar\everypar\expandafter{\the\everypar}%
<a id='L723' name='L723'></a>            \setbox\z@=\lastbox
<a id='L724' name='L724'></a>            \ifdim\wd\z@&gt;\z@ \edef\tabu@thetarget
<a id='L725' name='L725'></a>                {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi
<a id='L726' name='L726'></a>            \box\z@}%
<a id='L727' name='L727'></a>    \fi\fi
<a id='L728' name='L728'></a>}% \tabu@indent
<a id='L729' name='L729'></a>\def\tabu@setcleanup {% saves last global assignments
<a id='L730' name='L730'></a>    \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax
<a id='L731' name='L731'></a>        \def\tabu@aftergroupcleanup{%
<a id='L732' name='L732'></a>                \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}%
<a id='L733' name='L733'></a>    \else
<a id='L734' name='L734'></a>        \def\tabu@aftergroupcleanup{%
<a id='L735' name='L735'></a>                \aftergroup\aftergroup\aftergroup\tabu@cleanup
<a id='L736' name='L736'></a>                \let\tabu@aftergroupcleanup \relax}%
<a id='L737' name='L737'></a>    \fi
<a id='L738' name='L738'></a>    \let\tabu@arc@Gsave         \tabu@arc@G
<a id='L739' name='L739'></a>    \let\tabu@arc@G             \tabu@arc@L   % &lt;init&gt;
<a id='L740' name='L740'></a>    \let\tabu@drsc@Gsave        \tabu@drsc@G
<a id='L741' name='L741'></a>    \let\tabu@drsc@G            \tabu@drsc@L  % &lt;init&gt;
<a id='L742' name='L742'></a>    \let\tabu@ls@Gsave          \tabu@ls@G
<a id='L743' name='L743'></a>    \let\tabu@ls@G              \tabu@ls@L    % &lt;init&gt;
<a id='L744' name='L744'></a>    \let\tabu@rc@Gsave          \tabu@rc@G
<a id='L745' name='L745'></a>    \let\tabu@rc@G              \tabu@rc@L    % &lt;init&gt;
<a id='L746' name='L746'></a>    \let\tabu@evr@Gsave         \tabu@evr@G
<a id='L747' name='L747'></a>    \let\tabu@evr@G             \tabu@evr@L   % &lt;init&gt;
<a id='L748' name='L748'></a>    \let\tabu@celllalign@save   \tabu@celllalign
<a id='L749' name='L749'></a>    \let\tabu@cellralign@save   \tabu@cellralign
<a id='L750' name='L750'></a>    \let\tabu@cellleft@save     \tabu@cellleft
<a id='L751' name='L751'></a>    \let\tabu@cellright@save    \tabu@cellright
<a id='L752' name='L752'></a>    \let\tabu@@celllalign@save  \tabu@@celllalign
<a id='L753' name='L753'></a>    \let\tabu@@cellralign@save  \tabu@@cellralign
<a id='L754' name='L754'></a>    \let\tabu@@cellleft@save    \tabu@@cellleft
<a id='L755' name='L755'></a>    \let\tabu@@cellright@save   \tabu@@cellright
<a id='L756' name='L756'></a>    \let\tabu@rowfontreset@save \tabu@rowfontreset
<a id='L757' name='L757'></a>    \let\tabu@@rowfontreset@save\tabu@@rowfontreset
<a id='L758' name='L758'></a>    \let\tabu@rowfontreset      \@empty
<a id='L759' name='L759'></a>    \edef\tabu@alloc@save      {\the\tabu@alloc}%   restore at \tabu@reset
<a id='L760' name='L760'></a>    \edef\c@taburow@save       {\the\c@taburow}%
<a id='L761' name='L761'></a>    \edef\tabu@naturalX@save   {\the\tabu@naturalX}%
<a id='L762' name='L762'></a>    \let\tabu@naturalXmin@save  \tabu@naturalXmin
<a id='L763' name='L763'></a>    \let\tabu@naturalXmax@save  \tabu@naturalXmax
<a id='L764' name='L764'></a>    \let\tabu@mkarstrut@save    \tabu@mkarstrut
<a id='L765' name='L765'></a>    \edef\tabu@clarstrut{%
<a id='L766' name='L766'></a>        \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax
<a id='L767' name='L767'></a>        \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax
<a id='L768' name='L768'></a>        \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}%
<a id='L769' name='L769'></a>}% \tabu@setcleanup
<a id='L770' name='L770'></a>\def\tabu@cleanup {\begingroup
<a id='L771' name='L771'></a>    \globaldefs\@ne         \tabu@everyrowtrue
<a id='L772' name='L772'></a>    \let\tabu@arc@G         \tabu@arc@Gsave
<a id='L773' name='L773'></a>    \let\CT@arc@            \tabu@arc@G
<a id='L774' name='L774'></a>    \let\tabu@drsc@G        \tabu@drsc@Gsave
<a id='L775' name='L775'></a>    \let\CT@drsc@           \tabu@drsc@G
<a id='L776' name='L776'></a>    \let\tabu@ls@G          \tabu@ls@Gsave
<a id='L777' name='L777'></a>    \let\tabu@ls@           \tabu@ls@G
<a id='L778' name='L778'></a>    \let\tabu@rc@G          \tabu@rc@Gsave
<a id='L779' name='L779'></a>    \let\tabu@rc@           \tabu@rc@G
<a id='L780' name='L780'></a>    \let\CT@do@color        \relax
<a id='L781' name='L781'></a>    \let\tabu@evr@G         \tabu@evr@Gsave
<a id='L782' name='L782'></a>    \let\tabu@celllalign    \tabu@celllalign@save
<a id='L783' name='L783'></a>    \let\tabu@cellralign    \tabu@cellralign@save
<a id='L784' name='L784'></a>    \let\tabu@cellleft      \tabu@cellleft@save
<a id='L785' name='L785'></a>    \let\tabu@cellright     \tabu@cellright@save
<a id='L786' name='L786'></a>    \let\tabu@@celllalign   \tabu@@celllalign@save
<a id='L787' name='L787'></a>    \let\tabu@@cellralign   \tabu@@cellralign@save
<a id='L788' name='L788'></a>    \let\tabu@@cellleft     \tabu@@cellleft@save
<a id='L789' name='L789'></a>    \let\tabu@@cellright    \tabu@@cellright@save
<a id='L790' name='L790'></a>    \let\tabu@rowfontreset  \tabu@rowfontreset@save
<a id='L791' name='L791'></a>    \let\tabu@@rowfontreset \tabu@@rowfontreset@save
<a id='L792' name='L792'></a>    \tabu@naturalX         =\tabu@naturalX@save
<a id='L793' name='L793'></a>    \let\tabu@naturalXmax   \tabu@naturalXmax@save
<a id='L794' name='L794'></a>    \let\tabu@naturalXmin   \tabu@naturalXmin@save
<a id='L795' name='L795'></a>    \let\tabu@mkarstrut     \tabu@mkarstrut@save
<a id='L796' name='L796'></a>    \c@taburow             =\c@taburow@save
<a id='L797' name='L797'></a>    \ifcase \tabu@nested    \tabu@alloc \m@ne\fi
<a id='L798' name='L798'></a>    \endgroup               % &lt;end of \globaldefs&gt;
<a id='L799' name='L799'></a>    \ifcase \tabu@nested
<a id='L800' name='L800'></a>        \the\tabu@footnotes \global\tabu@footnotes{}%
<a id='L801' name='L801'></a>        \tabu@afterendpar   \tabu@elapsedtime
<a id='L802' name='L802'></a>    \fi
<a id='L803' name='L803'></a>    \tabu@clarstrut
<a id='L804' name='L804'></a>    \everyrow\expandafter   {\tabu@evr@G}%
<a id='L805' name='L805'></a>}% \tabu@cleanup
<a id='L806' name='L806'></a>\let\tabu@afterendpar \relax
<a id='L807' name='L807'></a>\def\tabu@setreset {%
<a id='L808' name='L808'></a>    \edef\tabu@savedparams {%         \relax for \tabu@message@save
<a id='L809' name='L809'></a>        \ifmmode \col@sep \the\arraycolsep
<a id='L810' name='L810'></a>        \else    \col@sep \the\tabcolsep \fi    \relax
<a id='L811' name='L811'></a>        \arrayrulewidth   \the\arrayrulewidth   \relax
<a id='L812' name='L812'></a>        \doublerulesep    \the\doublerulesep    \relax
<a id='L813' name='L813'></a>        \extratabsurround \the\extratabsurround \relax
<a id='L814' name='L814'></a>        \extrarowheight   \the\extrarowheight   \relax
<a id='L815' name='L815'></a>        \extrarowdepth    \the\extrarowdepth    \relax
<a id='L816' name='L816'></a>        \abovetabulinesep \the\abovetabulinesep \relax
<a id='L817' name='L817'></a>        \belowtabulinesep \the\belowtabulinesep \relax
<a id='L818' name='L818'></a>        \def\noexpand\arraystretch{\arraystretch}%
<a id='L819' name='L819'></a>        \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}%
<a id='L820' name='L820'></a>    \begingroup
<a id='L821' name='L821'></a>        \@temptokena\expandafter{\tabu@savedparams}% =&gt; only for \savetabu / \usetabu
<a id='L822' name='L822'></a>        \ifx \tabu@arc@L\relax  \else \tabu@setsave \tabu@arc@L \fi
<a id='L823' name='L823'></a>        \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi
<a id='L824' name='L824'></a>        \tabu@setsave \tabu@ls@L      \tabu@setsave \tabu@evr@L
<a id='L825' name='L825'></a>        \expandafter \endgroup \expandafter
<a id='L826' name='L826'></a>            \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena
<a id='L827' name='L827'></a>                \let\tabu@arc@G  \tabu@arc@L
<a id='L828' name='L828'></a>                \let\tabu@drsc@G \tabu@drsc@L
<a id='L829' name='L829'></a>                \let\tabu@ls@G   \tabu@ls@L
<a id='L830' name='L830'></a>                \let\tabu@rc@G   \tabu@rc@L
<a id='L831' name='L831'></a>                \let\tabu@evr@G  \tabu@evr@L}%
<a id='L832' name='L832'></a>    \def\tabu@reset{\tabu@savedparams
<a id='L833' name='L833'></a>        \tabu@everyrowtrue  \c@taburow \z@
<a id='L834' name='L834'></a>        \let\CT@arc@        \tabu@arc@L
<a id='L835' name='L835'></a>        \let\CT@drsc@       \tabu@drsc@L
<a id='L836' name='L836'></a>        \let\tabu@ls@       \tabu@ls@L
<a id='L837' name='L837'></a>        \let\tabu@rc@       \tabu@rc@L
<a id='L838' name='L838'></a>        \global\tabu@alloc  \tabu@alloc@save
<a id='L839' name='L839'></a>        \everyrow\expandafter{\tabu@evr@L}}%
<a id='L840' name='L840'></a>}% \tabu@reset
<a id='L841' name='L841'></a>\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}}
<a id='L842' name='L842'></a>\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}}
<a id='L843' name='L843'></a>%% The Rewriting Process -------------------------------------------
<a id='L844' name='L844'></a>\def\tabu@newcolumntype #1{%
<a id='L845' name='L845'></a>    \expandafter\tabu@new@columntype
<a id='L846' name='L846'></a>        \csname NC@find@\string#1\expandafter\endcsname
<a id='L847' name='L847'></a>        \csname NC@rewrite@\string#1\endcsname
<a id='L848' name='L848'></a>        {#1}%
<a id='L849' name='L849'></a>}% \tabu@newcolumntype
<a id='L850' name='L850'></a>\def\tabu@new@columntype #1#2#3{%
<a id='L851' name='L851'></a>    \def#1##1#3{\NC@{##1}}%
<a id='L852' name='L852'></a>    \let#2\relax \newcommand*#2%
<a id='L853' name='L853'></a>}% \tabu@new@columntype
<a id='L854' name='L854'></a>\def\tabu@privatecolumntype #1{%
<a id='L855' name='L855'></a>    \expandafter\tabu@private@columntype
<a id='L856' name='L856'></a>        \csname NC@find@\string#1\expandafter\endcsname
<a id='L857' name='L857'></a>        \csname NC@rewrite@\string#1\expandafter\endcsname
<a id='L858' name='L858'></a>        \csname tabu@NC@find@\string#1\expandafter\endcsname
<a id='L859' name='L859'></a>        \csname tabu@NC@rewrite@\string#1\endcsname
<a id='L860' name='L860'></a>        {#1}%
<a id='L861' name='L861'></a>}% \tabu@privatecolumntype
<a id='L862' name='L862'></a>\def\tabu@private@columntype#1#2#3#4{%
<a id='L863' name='L863'></a>    \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}%
<a id='L864' name='L864'></a>    \tabu@new@columntype#3#4%
<a id='L865' name='L865'></a>}% \tabu@private@columntype
<a id='L866' name='L866'></a>\let\tabu@privatecolumns \@empty
<a id='L867' name='L867'></a>\newcommand*\tabucolumn [1]{\expandafter \def \expandafter
<a id='L868' name='L868'></a>    \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns
<a id='L869' name='L869'></a>                                          \NC@do #1}}%
<a id='L870' name='L870'></a>\let\tabu@highprioritycolumns \@empty
<a id='L871' name='L871'></a>%% The  |  ``column'' : rewriting process --------------------------
<a id='L872' name='L872'></a>\tabu@privatecolumntype |{\tabu@rewritevline}
<a id='L873' name='L873'></a>\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}%
<a id='L874' name='L874'></a>                \expandafter \NC@find \tabu@rewritten}
<a id='L875' name='L875'></a>\def\tabu@lines #1{%
<a id='L876' name='L876'></a>    \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi
<a id='L877' name='L877'></a>    \NC@list\expandafter{\the\NC@list \NC@do #1}%
<a id='L878' name='L878'></a>}% \tabu@lines@
<a id='L879' name='L879'></a>\def\tabu@vlinearg #1{%
<a id='L880' name='L880'></a>    \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}%
<a id='L881' name='L881'></a>    \else\tabu@getline {#1}%
<a id='L882' name='L882'></a>    \fi
<a id='L883' name='L883'></a>    \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}%
<a id='L884' name='L884'></a>    }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}%
<a id='L885' name='L885'></a>    \expandafter \tabu@keepls \tabu@thestyle \@nil
<a id='L886' name='L886'></a>}% \tabu@vlinearg
<a id='L887' name='L887'></a>\def\tabu@keepls #1\@nil{%
<a id='L888' name='L888'></a>    \ifcat $\@cdr #1\@nil $%
<a id='L889' name='L889'></a>    \ifx \relax#1\else
<a id='L890' name='L890'></a>    \ifx \tabu@ls@#1\else
<a id='L891' name='L891'></a>        \let#1\relax
<a id='L892' name='L892'></a>        \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
<a id='L893' name='L893'></a>                \tabu@savels\noexpand#1}\fi\fi\fi
<a id='L894' name='L894'></a>}% \tabu@keepls
<a id='L895' name='L895'></a>\def\tabu@thevline {\begingroup
<a id='L896' name='L896'></a>    \ifdefined\tabu@leaders
<a id='L897' name='L897'></a>        \setbox\@tempboxa=\vtop to\dimexpr
<a id='L898' name='L898'></a>                      \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}%
<a id='L899' name='L899'></a>        \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox
<a id='L900' name='L900'></a>        \box\@tempboxa
<a id='L901' name='L901'></a>    \else
<a id='L902' name='L902'></a>                \tabu@thevrule
<a id='L903' name='L903'></a>    \fi             \endgroup
<a id='L904' name='L904'></a>}% \tabu@thevline
<a id='L905' name='L905'></a>\def\tabu@savels #1{%
<a id='L906' name='L906'></a>    \expandafter\let\csname\string#1\endcsname #1%
<a id='L907' name='L907'></a>    \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset
<a id='L908' name='L908'></a>                                                    \tabu@resetls#1}}%
<a id='L909' name='L909'></a>\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}%
<a id='L910' name='L910'></a>%% \multicolumn inside tabu environment -----------------------------
<a id='L911' name='L911'></a>\tabu@newcolumntype \tabu@rewritemulticolumn{%
<a id='L912' name='L912'></a>    \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group
<a id='L913' name='L913'></a>    \NC@list{\NC@do *}\tabu@textbar \tabu@lines
<a id='L914' name='L914'></a>    \tabu@savedecl
<a id='L915' name='L915'></a>    \tabu@privatecolumns
<a id='L916' name='L916'></a>    \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}%
<a id='L917' name='L917'></a>    \let\tabu@savels \relax
<a id='L918' name='L918'></a>    \NC@find
<a id='L919' name='L919'></a>}% \tabu@rewritemulticolumn
<a id='L920' name='L920'></a>\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup}
<a id='L921' name='L921'></a>\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI}
<a id='L922' name='L922'></a>\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup
<a id='L923' name='L923'></a>    \tabu@everyrowtrue
<a id='L924' name='L924'></a>    \NC@list{\NC@do \tabu@rewritemulticolumn}%
<a id='L925' name='L925'></a>    \expandafter\@gobbletwo % gobbles \multispan{#1}
<a id='L926' name='L926'></a>         \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}%
<a id='L927' name='L927'></a>                {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi
<a id='L928' name='L928'></a>                {#3}}%
<a id='L929' name='L929'></a>}% \tabu@multic@lumn
<a id='L930' name='L930'></a>%% The X column(s): rewriting process -----------------------------
<a id='L931' name='L931'></a>\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}}
<a id='L932' name='L932'></a>\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten }
<a id='L933' name='L933'></a>\def\tabu@siunitx   #1{\@ifnextchar \bgroup
<a id='L934' name='L934'></a>                     {\tabu@rewriteX@Ss{#1}}
<a id='L935' name='L935'></a>                      {\tabu@nosiunitx{#1}}}
<a id='L936' name='L936'></a>\def\tabu@rewriteX@Ss #1#2{\@temptokena{}%
<a id='L937' name='L937'></a>    \@defaultunits \let\tabu@temp =#2\relax\@nnil
<a id='L938' name='L938'></a>    \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi
<a id='L939' name='L939'></a>        \def\NC@find{\def\NC@find &gt;####1####2&lt;####3\relax{#1 {####1}{####3}%
<a id='L940' name='L940'></a>            }\expandafter\NC@find \the\@temptokena \relax
<a id='L941' name='L941'></a>        }\expandafter\NC@rewrite@S \@gobble #2\relax
<a id='L942' name='L942'></a>    \else \tabu@siunitxerror
<a id='L943' name='L943'></a>    \fi
<a id='L944' name='L944'></a>    \expandafter \NC@find \tabu@rewritten
<a id='L945' name='L945'></a>}% \tabu@rewriteX@Ss
<a id='L946' name='L946'></a>\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column !
<a id='L947' name='L947'></a>        \MessageBreak X column can only embed siunitx S or s columns}\@ehd
<a id='L948' name='L948'></a>}% \tabu@siunitxerror
<a id='L949' name='L949'></a>\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}%
<a id='L950' name='L950'></a>    \iftabu@measuring
<a id='L951' name='L951'></a>    \else \tabu@measuringtrue % first X column found in the preamble
<a id='L952' name='L952'></a>        \let\@halignto \relax   \let\tabu@halignto \relax
<a id='L953' name='L953'></a>        \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@
<a id='L954' name='L954'></a>        \else          \tabu@spreadtarget \z@ \fi
<a id='L955' name='L955'></a>        \ifdim \tabu@target=\z@
<a id='L956' name='L956'></a>                \setlength\tabu@target \tabu@thetarget
<a id='L957' name='L957'></a>                \tabu@message{\tabu@message@defaulttarget}%
<a id='L958' name='L958'></a>        \else   \tabu@message{\tabu@message@target}\fi
<a id='L959' name='L959'></a>    \fi
<a id='L960' name='L960'></a>}% \tabu@rewriteX
<a id='L961' name='L961'></a>\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax
<a id='L962' name='L962'></a>                                \def\tabu@rewritten{l}}
<a id='L963' name='L963'></a>\def\tabu@Xarg #1#2#3{%
<a id='L964' name='L964'></a>   \advance\tabu@Xcol \@ne      \let\tabu@Xlcr  \@empty
<a id='L965' name='L965'></a>   \let\tabu@Xdisp    \@empty   \let\tabu@Xmath \@empty
<a id='L966' name='L966'></a>    \ifx\\#1\\%    &lt;shortcut when no option&gt;
<a id='L967' name='L967'></a>         \def\tabu@rewritten{p}\tabucolX \p@        % &lt;default coef = 1&gt;
<a id='L968' name='L968'></a>    \else
<a id='L969' name='L969'></a>         \let\tabu@rewritten \@empty   \let\tabu@temp \@empty  \tabucolX \z@
<a id='L970' name='L970'></a>         \tabu@Xparse {}#1\relax
<a id='L971' name='L971'></a>    \fi
<a id='L972' name='L972'></a>    \tabu@Xrewritten{#2}{#3}%
<a id='L973' name='L973'></a>}% \tabu@Xarg
<a id='L974' name='L974'></a>\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest}
<a id='L975' name='L975'></a>\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}}
<a id='L976' name='L976'></a>\def\tabu@Xtest{%
<a id='L977' name='L977'></a>   \ifcase \ifx \relax\@let@token \z@ \else
<a id='L978' name='L978'></a>           \if ,\@let@token \m@ne\else
<a id='L979' name='L979'></a>           \if p\@let@token 1\else
<a id='L980' name='L980'></a>           \if m\@let@token 2\else
<a id='L981' name='L981'></a>           \if b\@let@token 3\else
<a id='L982' name='L982'></a>           \if l\@let@token 4\else
<a id='L983' name='L983'></a>           \if c\@let@token 5\else
<a id='L984' name='L984'></a>           \if r\@let@token 6\else
<a id='L985' name='L985'></a>           \if j\@let@token 7\else
<a id='L986' name='L986'></a>           \if L\@let@token 8\else
<a id='L987' name='L987'></a>           \if C\@let@token 9\else
<a id='L988' name='L988'></a>           \if R\@let@token 10\else
<a id='L989' name='L989'></a>           \if J\@let@token 11\else
<a id='L990' name='L990'></a>           \ifx \@sptoken\@let@token 12\else
<a id='L991' name='L991'></a>           \if .\@let@token 13\else
<a id='L992' name='L992'></a>           \if -\@let@token 13\else
<a id='L993' name='L993'></a>           \ifcat $\@let@token 14\else
<a id='L994' name='L994'></a>           15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
<a id='L995' name='L995'></a>   \or \tabu@Xtype {p}%
<a id='L996' name='L996'></a>   \or \tabu@Xtype {m}%
<a id='L997' name='L997'></a>   \or \tabu@Xtype {b}%
<a id='L998' name='L998'></a>   \or \tabu@Xalign \raggedright\relax
<a id='L999' name='L999'></a>   \or \tabu@Xalign \centering\relax
<a id='L1000' name='L1000'></a>   \or \tabu@Xalign \raggedleft\relax
<a id='L1001' name='L1001'></a>   \or \tabu@Xalign \tabu@justify\relax
<a id='L1002' name='L1002'></a>   \or \tabu@Xalign \RaggedRight\raggedright
<a id='L1003' name='L1003'></a>   \or \tabu@Xalign \Centering\centering
<a id='L1004' name='L1004'></a>   \or \tabu@Xalign \RaggedLeft\raggedleft
<a id='L1005' name='L1005'></a>   \or \tabu@Xalign \justifying\tabu@justify
<a id='L1006' name='L1006'></a>   \or \expandafter \tabu@Xparsespace
<a id='L1007' name='L1007'></a>   \or \expandafter \tabu@Xcoef
<a id='L1008' name='L1008'></a>   \or \expandafter \tabu@Xm@th
<a id='L1009' name='L1009'></a>   \or \tabu@Xcoef{}%
<a id='L1010' name='L1010'></a>   \else\expandafter \tabu@Xparse
<a id='L1011' name='L1011'></a>   \fi
<a id='L1012' name='L1012'></a>}% \tabu@Xtest
<a id='L1013' name='L1013'></a>\def\tabu@Xalign #1#2{%
<a id='L1014' name='L1014'></a>    \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu}
<a id='L1015' name='L1015'></a>       {Duplicate horizontal alignment specification}\fi
<a id='L1016' name='L1016'></a>    \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax
<a id='L1017' name='L1017'></a>    \else       \def\tabu@Xlcr{#2}\let#2\relax\fi
<a id='L1018' name='L1018'></a>    \expandafter\tabu@Xparse
<a id='L1019' name='L1019'></a>}% \tabu@Xalign
<a id='L1020' name='L1020'></a>\def\tabu@Xtype #1{%
<a id='L1021' name='L1021'></a>    \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu}
<a id='L1022' name='L1022'></a>            {Duplicate vertical alignment specification}\fi
<a id='L1023' name='L1023'></a>    \def\tabu@rewritten{#1}\expandafter\tabu@Xparse
<a id='L1024' name='L1024'></a>}% \tabu@Xtype
<a id='L1025' name='L1025'></a>\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}%
<a id='L1026' name='L1026'></a>    \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi
<a id='L1027' name='L1027'></a>}% \tabu@Xcoef
<a id='L1028' name='L1028'></a>\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@
<a id='L1029' name='L1029'></a>    \tabu@Xparse{}%
<a id='L1030' name='L1030'></a>}% \tabu@Xc@ef
<a id='L1031' name='L1031'></a>\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp}
<a id='L1032' name='L1032'></a>\def\tabu@Xd@sp{\let\tabu@Xmath=$%
<a id='L1033' name='L1033'></a>    \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}%
<a id='L1034' name='L1034'></a>            \expandafter\tabu@Xparse
<a id='L1035' name='L1035'></a>    \else   \expandafter\tabu@Xparse\expandafter{\expandafter}%
<a id='L1036' name='L1036'></a>    \fi
<a id='L1037' name='L1037'></a>}% \tabu@Xd@sp
<a id='L1038' name='L1038'></a>\def\tabu@Xrewritten {%
<a id='L1039' name='L1039'></a>   \ifx  \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi
<a id='L1040' name='L1040'></a>   \ifdim \tabucolX&lt;\z@         \tabu@negcoeftrue
<a id='L1041' name='L1041'></a>   \else\ifdim \tabucolX=\z@    \tabucolX \p@
<a id='L1042' name='L1042'></a>   \fi\fi
<a id='L1043' name='L1043'></a>   \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}%
<a id='L1044' name='L1044'></a>   \edef\tabu@Xcoefs{\tabu@Xcoefs    \tabu@      \tabu@temp}%
<a id='L1045' name='L1045'></a>   \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{%
<a id='L1046' name='L1046'></a>        &gt;{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}%
<a id='L1047' name='L1047'></a>                    \tabu@rewritten {\tabu@hsize \tabu@temp}%
<a id='L1048' name='L1048'></a>        &lt;{##2\ifx$\tabu@Xmath$\fi}}%
<a id='L1049' name='L1049'></a>   }\tabu@rewritten
<a id='L1050' name='L1050'></a>}% \tabu@Xrewritten
<a id='L1051' name='L1051'></a>\def\tabu@hsize #1#2{%
<a id='L1052' name='L1052'></a>    \ifdim #2\p@&lt;\z@
<a id='L1053' name='L1053'></a>        \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else
<a id='L1054' name='L1054'></a>        \ifdim \tabu@wd{#1}&lt;-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi
<a id='L1055' name='L1055'></a>        \fi
<a id='L1056' name='L1056'></a>   \else #2\tabucolX
<a id='L1057' name='L1057'></a>   \fi
<a id='L1058' name='L1058'></a>}% \tabu@hsize
<a id='L1059' name='L1059'></a>%% \usetabu  and  \preamble: rewriting process ---------------------
<a id='L1060' name='L1060'></a>\tabu@privatecolumntype \usetabu [1]{%
<a id='L1061' name='L1061'></a>    \ifx\\#1\\\tabu@saveerr{}\else
<a id='L1062' name='L1062'></a>        \@ifundefined{tabu@saved@\string#1}
<a id='L1063' name='L1063'></a>            {\tabu@saveerr{#1}}
<a id='L1064' name='L1064'></a>            {\let\tabu@rewriteX \tabu@rewriteXrestore
<a id='L1065' name='L1065'></a>             \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}%
<a id='L1066' name='L1066'></a>    \fi
<a id='L1067' name='L1067'></a>}% \NC@rewrite@\usetabu
<a id='L1068' name='L1068'></a>\tabu@privatecolumntype \preamble [1]{%
<a id='L1069' name='L1069'></a>    \ifx\\#1\\\tabu@saveerr{}\else
<a id='L1070' name='L1070'></a>        \@ifundefined{tabu@saved@\string#1}
<a id='L1071' name='L1071'></a>            {\tabu@saveerr{#1}}
<a id='L1072' name='L1072'></a>            {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}%
<a id='L1073' name='L1073'></a>    \fi
<a id='L1074' name='L1074'></a>}% \NC@rewrite@\preamble
<a id='L1075' name='L1075'></a>%% Controlling the rewriting process -------------------------------
<a id='L1076' name='L1076'></a>\tabu@newcolumntype \tabu@rewritefirst{%
<a id='L1077' name='L1077'></a>    \iftabu@long    \aftergroup \tabu@longpream  % &lt;the whole implementation is here !&gt;
<a id='L1078' name='L1078'></a>    \else           \aftergroup \tabu@pream
<a id='L1079' name='L1079'></a>    \fi
<a id='L1080' name='L1080'></a>    \let\tabu@          \relax      \let\tabu@hsize     \relax
<a id='L1081' name='L1081'></a>    \let\tabu@Xcoefs    \@empty     \let\tabu@savels    \relax
<a id='L1082' name='L1082'></a>    \tabu@Xcol          \z@         \tabu@cnt           \tw@
<a id='L1083' name='L1083'></a>    \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse
<a id='L1084' name='L1084'></a>    \global\setbox\@arstrutbox \box\@arstrutbox
<a id='L1085' name='L1085'></a>    \NC@list{\NC@do *}\tabu@textbar \tabu@lines
<a id='L1086' name='L1086'></a>    \NC@list\expandafter{\the\NC@list \NC@do X}%
<a id='L1087' name='L1087'></a>    \iftabu@siunitx     % &lt;siunitx S and s columns&gt;
<a id='L1088' name='L1088'></a>            \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi
<a id='L1089' name='L1089'></a>    \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}%
<a id='L1090' name='L1090'></a>    \expandafter\def\expandafter\tabu@NC@list\expandafter{%
<a id='L1091' name='L1091'></a>                    \the\expandafter\NC@list \tabu@NC@list}%    % * | X S &lt;original&gt;
<a id='L1092' name='L1092'></a>    \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu
<a id='L1093' name='L1093'></a>                         \expandafter \NC@do \expandafter\preamble
<a id='L1094' name='L1094'></a>                         \the\NC@list \NC@do \tabu@rewritemiddle
<a id='L1095' name='L1095'></a>                                      \NC@do \tabu@rewritelast}%
<a id='L1096' name='L1096'></a>    \tabu@savedecl
<a id='L1097' name='L1097'></a>    \tabu@privatecolumns
<a id='L1098' name='L1098'></a>    \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle
<a id='L1099' name='L1099'></a>}% NC@rewrite@\tabu@rewritefirst
<a id='L1100' name='L1100'></a>\tabu@newcolumntype \tabu@rewritemiddle{%
<a id='L1101' name='L1101'></a>    \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast
<a id='L1102' name='L1102'></a>}% \NC@rewrite@\tabu@rewritemiddle
<a id='L1103' name='L1103'></a>\tabu@newcolumntype \tabu@rewritelast{%
<a id='L1104' name='L1104'></a>    \ifx \tabu@temp\tabu@prev   \advance\tabu@cnt \m@ne
<a id='L1105' name='L1105'></a>            \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle
<a id='L1106' name='L1106'></a>                                               \NC@do \tabu@rewritelast}%
<a id='L1107' name='L1107'></a>    \else \let\tabu@prev\tabu@temp
<a id='L1108' name='L1108'></a>    \fi
<a id='L1109' name='L1109'></a>    \ifcase \tabu@cnt   \expandafter\tabu@endrewrite
<a id='L1110' name='L1110'></a>    \else               \expandafter\NC@find \expandafter\tabu@rewritemiddle
<a id='L1111' name='L1111'></a>    \fi
<a id='L1112' name='L1112'></a>}% \NC@rewrite@\tabu@rewritelast
<a id='L1113' name='L1113'></a>%% Choosing the strategy --------------------------------------------
<a id='L1114' name='L1114'></a>\def\tabu@endrewrite {%
<a id='L1115' name='L1115'></a>    \let\tabu@temp \NC@find
<a id='L1116' name='L1116'></a>    \ifx \@arrayright\relax \let\@arrayright \@empty  \fi
<a id='L1117' name='L1117'></a>    \count@=%
<a id='L1118' name='L1118'></a>        \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print
<a id='L1119' name='L1119'></a>             \iftabu@measuring
<a id='L1120' name='L1120'></a>                \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
<a id='L1121' name='L1121'></a>                    \tabu@target        \csname tabu@\the\tabu@nested.T\endcsname
<a id='L1122' name='L1122'></a>                    \tabucolX           \csname tabu@\the\tabu@nested.X\endcsname
<a id='L1123' name='L1123'></a>                    \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}%
<a id='L1124' name='L1124'></a>             \fi
<a id='L1125' name='L1125'></a>        \else\iftabu@measuring        4       % X columns
<a id='L1126' name='L1126'></a>                \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer
<a id='L1127' name='L1127'></a>                    \tabu@target        \the\tabu@target
<a id='L1128' name='L1128'></a>                    \tabu@spreadtarget  \the\tabu@spreadtarget}%
<a id='L1129' name='L1129'></a>                    \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}%
<a id='L1130' name='L1130'></a>                    \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}%
<a id='L1131' name='L1131'></a>                 \let\tabu@Xcoefs \relax
<a id='L1132' name='L1132'></a>             \else\ifcase\tabu@nested \thr@@  % outer, no X
<a id='L1133' name='L1133'></a>                                      \global\let\tabu@afterendpar \relax
<a id='L1134' name='L1134'></a>                  \else               \@ne    % inner, no X, outer in mode 1 or 2
<a id='L1135' name='L1135'></a>                  \fi
<a id='L1136' name='L1136'></a>                  \ifdefined\tabu@usetabu
<a id='L1137' name='L1137'></a>                  \else \ifdim\tabu@target=\z@
<a id='L1138' name='L1138'></a>                  \else \let\tabu@temp \tabu@extracolsep
<a id='L1139' name='L1139'></a>                  \fi\fi
<a id='L1140' name='L1140'></a>             \fi
<a id='L1141' name='L1141'></a>        \fi
<a id='L1142' name='L1142'></a>    \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}%
<a id='L1143' name='L1143'></a>    \tabu@temp
<a id='L1144' name='L1144'></a>}% \tabu@endrewrite
<a id='L1145' name='L1145'></a>\def\tabu@extracolsep{\@defaultunits    \expandafter\let
<a id='L1146' name='L1146'></a>    \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil
<a id='L1147' name='L1147'></a>    \ifx \tabu@temp\@sptoken
<a id='L1148' name='L1148'></a>        \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep
<a id='L1149' name='L1149'></a>    \else
<a id='L1150' name='L1150'></a>        \edef\tabu@temp{\noexpand\NC@find
<a id='L1151' name='L1151'></a>            \if |\noexpand\tabu@temp        @%
<a id='L1152' name='L1152'></a>            \else\if !\noexpand\tabu@temp   @%
<a id='L1153' name='L1153'></a>            \else                           !%
<a id='L1154' name='L1154'></a>            \fi\fi
<a id='L1155' name='L1155'></a>            {\noexpand\extracolsep\noexpand\@flushglue}}%
<a id='L1156' name='L1156'></a>    \fi
<a id='L1157' name='L1157'></a>    \tabu@temp
<a id='L1158' name='L1158'></a>}% \tabu@extrac@lsep
<a id='L1159' name='L1159'></a>%% Implementing the strategy ----------------------------------------
<a id='L1160' name='L1160'></a>\long\def\tabu@pream #1\@preamble {%
<a id='L1161' name='L1161'></a>    \let\tabu@ \tabu@@  \tabu@mkpreambuffer     \tabu@aftergroupcleanup
<a id='L1162' name='L1162'></a>    \NC@list\expandafter {\tabu@NC@list}%    in case of nesting...
<a id='L1163' name='L1163'></a>    \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi
<a id='L1164' name='L1164'></a>    \let\tabu@savedpreamble \@preamble
<a id='L1165' name='L1165'></a>    \global\let\tabu@elapsedtime \relax
<a id='L1166' name='L1166'></a>    \tabu@thebody ={#1\tabu@aftergroupcleanup}%
<a id='L1167' name='L1167'></a>    \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody
<a id='L1168' name='L1168'></a>                                                \@preamble}%
<a id='L1169' name='L1169'></a>    \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
<a id='L1170' name='L1170'></a>    \tabu@select
<a id='L1171' name='L1171'></a>}% \tabu@pream
<a id='L1172' name='L1172'></a>\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{%
<a id='L1173' name='L1173'></a>    \let\tabu@ \tabu@@  \tabu@mkpreambuffer     \tabu@aftergroupcleanup
<a id='L1174' name='L1174'></a>    \NC@list\expandafter {\tabu@NC@list}%    in case of nesting...
<a id='L1175' name='L1175'></a>    \let\tabu@savedpreamble \@preamble
<a id='L1176' name='L1176'></a>    \global\let\tabu@elapsedtime \relax
<a id='L1177' name='L1177'></a>    \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}%
<a id='L1178' name='L1178'></a>    \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
<a id='L1179' name='L1179'></a>    \tabu@select
<a id='L1180' name='L1180'></a>}% \tabu@longpream
<a id='L1181' name='L1181'></a>\def\tabu@select {%
<a id='L1182' name='L1182'></a>    \ifnum\tabu@nested&gt;\z@ \tabuscantokensfalse \fi
<a id='L1183' name='L1183'></a>    \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi
<a id='L1184' name='L1184'></a>    \ifcase \count@
<a id='L1185' name='L1185'></a>        \global\let\tabu@elapsedtime \relax
<a id='L1186' name='L1186'></a>        \tabu@seteverycr
<a id='L1187' name='L1187'></a>        \expandafter \tabuthepreamble       % vertical adjustment (inherited from outer)
<a id='L1188' name='L1188'></a>    \or      % exit in vertical measure + struts per cell because no X and outer in mode 3
<a id='L1189' name='L1189'></a>        \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
<a id='L1190' name='L1190'></a>        \def\tabu@cellralign{\tabu@verticalspacing}%
<a id='L1191' name='L1191'></a>        \tabu@seteverycr
<a id='L1192' name='L1192'></a>        \expandafter \tabuthepreamble
<a id='L1193' name='L1193'></a>    \or                            % exit without measure because no X and outer in mode 4
<a id='L1194' name='L1194'></a>        \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
<a id='L1195' name='L1195'></a>        \tabu@seteverycr
<a id='L1196' name='L1196'></a>        \expandafter \tabuthepreamble
<a id='L1197' name='L1197'></a>    \else                                   % needs trials
<a id='L1198' name='L1198'></a>        \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
<a id='L1199' name='L1199'></a>        \tabu@savecounters
<a id='L1200' name='L1200'></a>        \expandafter \tabu@setstrategy
<a id='L1201' name='L1201'></a>    \fi
<a id='L1202' name='L1202'></a>}% \tabu@select
<a id='L1203' name='L1203'></a>\def\tabu@@ {\gdef\tabu@mkpreambuffer}
<a id='L1204' name='L1204'></a>%% Protections to set up before trials ------------------------------
<a id='L1205' name='L1205'></a>\def\tabu@setstrategy {\begingroup  % &lt;trials group&gt;
<a id='L1206' name='L1206'></a>    \tabu@trialh@@k    \tabu@cnt    \z@  % number of trials
<a id='L1207' name='L1207'></a>    \hbadness          \@M          \let\hbadness          \@tempcnta
<a id='L1208' name='L1208'></a>    \hfuzz             \maxdimen    \let\hfuzz             \@tempdima
<a id='L1209' name='L1209'></a>    \let\write         \tabu@nowrite\let\GenericError      \tabu@GenericError
<a id='L1210' name='L1210'></a>    \let\savetabu      \@gobble     \let\tabudefaulttarget \linewidth
<a id='L1211' name='L1211'></a>    \let\@footnotetext \@gobble     \let\@xfootnote        \tabu@xfootnote
<a id='L1212' name='L1212'></a>    \let\color         \tabu@nocolor\let\rowcolor          \tabu@norowcolor
<a id='L1213' name='L1213'></a>    \let\tabu@aftergroupcleanup \relax % only after the last trial
<a id='L1214' name='L1214'></a>    \tabu@mkpreambuffer
<a id='L1215' name='L1215'></a>    \ifnum \count@&gt;\thr@@ \let\@halignto \@empty  \tabucolX@init
<a id='L1216' name='L1216'></a>                          \def\tabu@lasttry{\m@ne\p@}\fi
<a id='L1217' name='L1217'></a>    \begingroup \iffalse{\fi \ifnum0=`}\fi
<a id='L1218' name='L1218'></a>        \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi %
<a id='L1219' name='L1219'></a>                                  \tabu@collectbody \tabu@strategy %
<a id='L1220' name='L1220'></a>}% \tabu@setstrategy
<a id='L1221' name='L1221'></a>\def\tabu@savecounters{%
<a id='L1222' name='L1222'></a>    \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}%
<a id='L1223' name='L1223'></a>    \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax
<a id='L1224' name='L1224'></a>}% \tabu@savecounters
<a id='L1225' name='L1225'></a>\def\tabucolX@init {%  \tabucolX &lt;= \tabu@target / (sum coefs &gt; 0)
<a id='L1226' name='L1226'></a>    \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs
<a id='L1227' name='L1227'></a>    \ifdim \dimen@&gt;\z@
<a id='L1228' name='L1228'></a>        \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax
<a id='L1229' name='L1229'></a>        \ifdim \tabucolX&lt;\@tempdima \tabucolX \@tempdima \fi
<a id='L1230' name='L1230'></a>    \fi
<a id='L1231' name='L1231'></a>}% \tabucolX@init
<a id='L1232' name='L1232'></a>\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum
<a id='L1233' name='L1233'></a>    \ifdim #2\p@&gt;\z@ #2\p@  \advance\dimen@ #2\p@
<a id='L1234' name='L1234'></a>    \else           -#2\p@  \tabu@negcoeftrue
<a id='L1235' name='L1235'></a>                            \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax
<a id='L1236' name='L1236'></a>                            \ifdim \tabucolX&lt;\@tempdima \tabucolX \@tempdima \fi
<a id='L1237' name='L1237'></a>                            \tabu@wddef{#1}{0pt}%
<a id='L1238' name='L1238'></a>    \fi
<a id='L1239' name='L1239'></a>}% \tabu@Xinit
<a id='L1240' name='L1240'></a>%% Collecting the environment body ----------------------------------
<a id='L1241' name='L1241'></a>\long\def\tabu@collectbody #1#2\end #3{%
<a id='L1242' name='L1242'></a>    \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}%
<a id='L1243' name='L1243'></a>    \ifx \tabu@stack\@empty
<a id='L1244' name='L1244'></a>        \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}%
<a id='L1245' name='L1245'></a>                \def\tabu@end@envir{\end{#3}}%
<a id='L1246' name='L1246'></a>                \iftabuscantokens
<a id='L1247' name='L1247'></a>                    \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}%
<a id='L1248' name='L1248'></a>                    \else        \def\tabu@endenvir {\let\endarray \@empty
<a id='L1249' name='L1249'></a>                                                     \end{#3}\tabu@gobbleX}%
<a id='L1250' name='L1250'></a>                    \fi
<a id='L1251' name='L1251'></a>                \else           \def\tabu@endenvir  {\end{#3}}\fi}%
<a id='L1252' name='L1252'></a>        \let\tabu@collectbody \tabu@endofcollect
<a id='L1253' name='L1253'></a>    \else\def\tabu@temp{#3}%
<a id='L1254' name='L1254'></a>        \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
<a id='L1255' name='L1255'></a>        \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}%
<a id='L1256' name='L1256'></a>        \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}%
<a id='L1257' name='L1257'></a>        \else \toks@\expandafter{\the\toks@ #2\end{#3}}%
<a id='L1258' name='L1258'></a>        \fi\fi\fi
<a id='L1259' name='L1259'></a>    \fi
<a id='L1260' name='L1260'></a>    \tabu@collectbody{#1}%
<a id='L1261' name='L1261'></a>}% \tabu@collectbody
<a id='L1262' name='L1262'></a>\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}%
<a id='L1263' name='L1263'></a>\def\tabu@endofcollect #1{\ifnum0=`{}\fi
<a id='L1264' name='L1264'></a>                          \expandafter\endgroup \the\toks@  #1%
<a id='L1265' name='L1265'></a>}% \tabu@endofcollect
<a id='L1266' name='L1266'></a>%% The trials: switching between strategies -------------------------
<a id='L1267' name='L1267'></a>\def\tabu@strategy {\relax  % stops \count@ assignment !
<a id='L1268' name='L1268'></a>    \ifcase\count@          % case 0 = print with vertical adjustment (outer is finished)
<a id='L1269' name='L1269'></a>        \expandafter \tabu@endoftrials
<a id='L1270' name='L1270'></a>    \or                     % case 1 = exit in vertical measure (outer in mode 3)
<a id='L1271' name='L1271'></a>        \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}%
<a id='L1272' name='L1272'></a>        \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}%
<a id='L1273' name='L1273'></a>        \expandafter \tabu@endoftrials
<a id='L1274' name='L1274'></a>    \or                     % case 2 = exit with a rule replacing the table (outer in mode 4)
<a id='L1275' name='L1275'></a>        \expandafter \tabu@quickend
<a id='L1276' name='L1276'></a>    \or                     % case 3 = outer is in mode 3 because of no X
<a id='L1277' name='L1277'></a>        \begingroup
<a id='L1278' name='L1278'></a>            \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
<a id='L1279' name='L1279'></a>            \def\tabu@cellralign{\tabu@verticalspacing}%
<a id='L1280' name='L1280'></a>            \expandafter \tabu@measuring
<a id='L1281' name='L1281'></a>    \else                   % case 4 = horizontal measure
<a id='L1282' name='L1282'></a>        \begingroup
<a id='L1283' name='L1283'></a>            \global\let\tabu@elapsedtime \tabu@message@etime
<a id='L1284' name='L1284'></a>            \long\def\multicolumn##1##2##3{\multispan{##1}}%
<a id='L1285' name='L1285'></a>            \let\tabu@startpboxORI \@startpbox
<a id='L1286' name='L1286'></a>            \iftabu@spread
<a id='L1287' name='L1287'></a>                    \def\tabu@naturalXmax {\z@}%
<a id='L1288' name='L1288'></a>                    \let\tabu@naturalXmin \tabu@naturalXmax
<a id='L1289' name='L1289'></a>                    \tabu@evr{\global\tabu@naturalX \z@}%
<a id='L1290' name='L1290'></a>                    \let\@startpbox \tabu@startpboxmeasure
<a id='L1291' name='L1291'></a>            \else\iftabu@negcoef
<a id='L1292' name='L1292'></a>                    \let\@startpbox \tabu@startpboxmeasure
<a id='L1293' name='L1293'></a>            \else   \let\@startpbox \tabu@startpboxquick
<a id='L1294' name='L1294'></a>            \fi\fi
<a id='L1295' name='L1295'></a>            \expandafter \tabu@measuring
<a id='L1296' name='L1296'></a>    \fi
<a id='L1297' name='L1297'></a>}% \tabu@strategy
<a id='L1298' name='L1298'></a>\def\tabu@measuring{\expandafter \tabu@trial \expandafter
<a id='L1299' name='L1299'></a>                                                \count@ \the\count@ \tabu@endtrial
<a id='L1300' name='L1300'></a>}% \tabu@measuring
<a id='L1301' name='L1301'></a>\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi}
<a id='L1302' name='L1302'></a>\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
<a id='L1303' name='L1303'></a>    \ifx \tabu@savecounters\relax \else
<a id='L1304' name='L1304'></a>                \let\tabu@savecounters \relax \tabu@clckpt \fi
<a id='L1305' name='L1305'></a>    $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
<a id='L1306' name='L1306'></a>       \expandafter{\expandafter \tabuthepreamble
<a id='L1307' name='L1307'></a>                         \the\tabu@thebody
<a id='L1308' name='L1308'></a>                         \csname tabu@adl@endtrial\endcsname
<a id='L1309' name='L1309'></a>                         \endarray}$\egroup             % got \tabu@box
<a id='L1310' name='L1310'></a>}% \tabu@shorttrial
<a id='L1311' name='L1311'></a>\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
<a id='L1312' name='L1312'></a>    \ifx \tabu@savecounters\relax \else
<a id='L1313' name='L1313'></a>                \let\tabu@savecounters \relax \tabu@clckpt \fi
<a id='L1314' name='L1314'></a>    \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
<a id='L1315' name='L1315'></a>       \expandafter{\expandafter \tabuthepreamble
<a id='L1316' name='L1316'></a>                         \the\tabu@thebody
<a id='L1317' name='L1317'></a>                         \tabuendlongtrial}\egroup      % got \tabu@box
<a id='L1318' name='L1318'></a>}% \tabu@longtrial
<a id='L1319' name='L1319'></a>\def\tabuendlongtrial{% no @ allowed for \scantokens
<a id='L1320' name='L1320'></a>    \LT@echunk  \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
<a id='L1321' name='L1321'></a>                \LT@get@widths
<a id='L1322' name='L1322'></a>}% \tabuendlongtrial
<a id='L1323' name='L1323'></a>\def\tabu@adl@endtrial{% &lt;arydshln in nested trials - problem for global column counters!&gt;
<a id='L1324' name='L1324'></a>    \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails !
<a id='L1325' name='L1325'></a>\def\tabu@seteverycr {\tabu@reset
<a id='L1326' name='L1326'></a>    \everycr \expandafter{\the\everycr  \tabu@everycr}%
<a id='L1327' name='L1327'></a>    \let\everycr \tabu@noeverycr                      % &lt;for ialign&gt;
<a id='L1328' name='L1328'></a>}% \tabu@seteverycr
<a id='L1329' name='L1329'></a>\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@}
<a id='L1330' name='L1330'></a>\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr}
<a id='L1331' name='L1331'></a>\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi}
<a id='L1332' name='L1332'></a>\def\tabu@endoftrials {%
<a id='L1333' name='L1333'></a>    \iftabuscantokens   \expandafter\@firstoftwo
<a id='L1334' name='L1334'></a>    \else               \expandafter\@secondoftwo
<a id='L1335' name='L1335'></a>    \fi
<a id='L1336' name='L1336'></a>        {\expandafter \tabu@closetrialsgroup \expandafter
<a id='L1337' name='L1337'></a>         \tabu@rescan \expandafter{%
<a id='L1338' name='L1338'></a>                    \expandafter\tabuthepreamble
<a id='L1339' name='L1339'></a>                        \the\expandafter\tabu@thebody
<a id='L1340' name='L1340'></a>                                    \iftabu@long \else \endarray \fi}}
<a id='L1341' name='L1341'></a>        {\expandafter\tabu@closetrialsgroup \expandafter
<a id='L1342' name='L1342'></a>                    \tabuthepreamble
<a id='L1343' name='L1343'></a>                        \the\tabu@thebody}%
<a id='L1344' name='L1344'></a>                                        \tabu@endenvir      % Finish !
<a id='L1345' name='L1345'></a>}% \tabu@endoftrials
<a id='L1346' name='L1346'></a>\def\tabu@closetrialsgroup {%
<a id='L1347' name='L1347'></a>    \toks@\expandafter{\tabu@endenvir}%
<a id='L1348' name='L1348'></a>    \edef\tabu@bufferX{\endgroup
<a id='L1349' name='L1349'></a>        \tabucolX       \the\tabucolX
<a id='L1350' name='L1350'></a>        \tabu@target    \the\tabu@target
<a id='L1351' name='L1351'></a>        \tabu@cnt       \the\tabu@cnt
<a id='L1352' name='L1352'></a>        \def\noexpand\tabu@endenvir{\the\toks@}%
<a id='L1353' name='L1353'></a>        %Quid de \@halignto = \tabu@halignto ??
<a id='L1354' name='L1354'></a>    }% \tabu@bufferX
<a id='L1355' name='L1355'></a>    \tabu@bufferX
<a id='L1356' name='L1356'></a>    \ifcase\tabu@nested % print out (outer in mode 0)
<a id='L1357' name='L1357'></a>        \global\tabu@cnt \tabu@cnt
<a id='L1358' name='L1358'></a>        \tabu@evr{\tabu@verticaldynamicadjustment}%
<a id='L1359' name='L1359'></a>        \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty
<a id='L1360' name='L1360'></a>        \let\@finalstrut \tabu@finalstrut
<a id='L1361' name='L1361'></a>    \else               % vertical measure of nested tabu
<a id='L1362' name='L1362'></a>        \tabu@evr{\tabu@verticalinit}%
<a id='L1363' name='L1363'></a>        \tabu@celllalign@def{\tabu@verticalmeasure}%
<a id='L1364' name='L1364'></a>        \def\tabu@cellralign{\tabu@verticalspacing}%
<a id='L1365' name='L1365'></a>    \fi
<a id='L1366' name='L1366'></a>    \tabu@clckpt \let\@halignto \tabu@halignto
<a id='L1367' name='L1367'></a>    \let\@halignto \@empty
<a id='L1368' name='L1368'></a>    \tabu@seteverycr
<a id='L1369' name='L1369'></a>    \ifdim \tabustrutrule&gt;\z@ \ifnum\tabu@nested=\z@
<a id='L1370' name='L1370'></a>        \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts)
<a id='L1371' name='L1371'></a>    \fi\fi
<a id='L1372' name='L1372'></a>}% \tabu@closetrialsgroup
<a id='L1373' name='L1373'></a>\def\tabu@quickend {\expandafter \endgroup \expandafter
<a id='L1374' name='L1374'></a>                        \tabu@target \the\tabu@target \tabu@quickrule
<a id='L1375' name='L1375'></a>                        \let\endarray \relax \tabu@endenvir
<a id='L1376' name='L1376'></a>}% \tabu@quickend
<a id='L1377' name='L1377'></a>\def\tabu@endtrial {\relax      % stops \count@ assignment !
<a id='L1378' name='L1378'></a>    \ifcase \count@ \tabu@err   % case 0 = impossible here
<a id='L1379' name='L1379'></a>    \or             \tabu@err   % case 1 = impossible here
<a id='L1380' name='L1380'></a>    \or             \tabu@err   % case 2 = impossible here
<a id='L1381' name='L1381'></a>    \or                         % case 3 = outer goes into mode 0
<a id='L1382' name='L1382'></a>        \def\tabu@bufferX{\endgroup}\count@ \z@
<a id='L1383' name='L1383'></a>    \else                       % case 4 = outer goes into mode 3
<a id='L1384' name='L1384'></a>        \iftabu@spread  \tabu@spreadarith % inner into mode 1 (outer in mode 3)
<a id='L1385' name='L1385'></a>        \else           \tabu@arith       %              or 2 (outer in mode 4)
<a id='L1386' name='L1386'></a>        \fi
<a id='L1387' name='L1387'></a>        \count@=%
<a id='L1388' name='L1388'></a>            \ifcase\tabu@nested     \thr@@  % outer goes into mode 3
<a id='L1389' name='L1389'></a>            \else\iftabu@measuring  \tw@    % outer is in mode 4
<a id='L1390' name='L1390'></a>            \else                   \@ne    % outer is in mode 3
<a id='L1391' name='L1391'></a>            \fi\fi
<a id='L1392' name='L1392'></a>        \edef\tabu@bufferX{\endgroup
<a id='L1393' name='L1393'></a>                           \tabucolX        \the\tabucolX
<a id='L1394' name='L1394'></a>                           \tabu@target     \the\tabu@target}%
<a id='L1395' name='L1395'></a>    \fi
<a id='L1396' name='L1396'></a>    \expandafter \tabu@bufferX \expandafter
<a id='L1397' name='L1397'></a>                                    \count@ \the\count@  \tabu@strategy
<a id='L1398' name='L1398'></a>}% \tabu@endtrial
<a id='L1399' name='L1399'></a>\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}}
<a id='L1400' name='L1400'></a>%% The algorithms: compute the widths / stop or go on ---------------
<a id='L1401' name='L1401'></a>\def\tabu@arithnegcoef {%
<a id='L1402' name='L1402'></a>    \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs
<a id='L1403' name='L1403'></a>}% \tabu@arithnegcoef
<a id='L1404' name='L1404'></a>\def\tabu@arith@negcoef #1#2{%
<a id='L1405' name='L1405'></a>    \ifdim #2\p@&gt;\z@    \advance\dimen@     #2\p@       % saturated by definition
<a id='L1406' name='L1406'></a>                        \advance\@tempdima  #2\tabucolX
<a id='L1407' name='L1407'></a>    \else
<a id='L1408' name='L1408'></a>        \ifdim -#2\tabucolX &lt;\tabu@wd{#1}% c_i X &lt; natural width &lt;= \tabu@target-&gt; saturated
<a id='L1409' name='L1409'></a>                        \advance\dimen@     -#2\p@
<a id='L1410' name='L1410'></a>                        \advance\@tempdima  -#2\tabucolX
<a id='L1411' name='L1411'></a>        \else
<a id='L1412' name='L1412'></a>                        \advance\@tempdima \tabu@wd{#1}% natural width &lt;= c_i X =&gt; neutralised
<a id='L1413' name='L1413'></a>                        \ifdim \tabu@wd{#1}&lt;\tabu@target \else % neutralised
<a id='L1414' name='L1414'></a>                        \advance\dimen@     -#2\p@ % saturated (natural width = tabu@target)
<a id='L1415' name='L1415'></a>                        \fi
<a id='L1416' name='L1416'></a>        \fi
<a id='L1417' name='L1417'></a>    \fi
<a id='L1418' name='L1418'></a>}% \tabu@arith@negcoef
<a id='L1419' name='L1419'></a>\def\tabu@givespace #1#2{% here \tabu@DELTA &lt; \z@
<a id='L1420' name='L1420'></a>    \ifdim \@tempdima=\z@
<a id='L1421' name='L1421'></a>        \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}%
<a id='L1422' name='L1422'></a>    \else
<a id='L1423' name='L1423'></a>        \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2}
<a id='L1424' name='L1424'></a>                    *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}%
<a id='L1425' name='L1425'></a>    \fi
<a id='L1426' name='L1426'></a>}% \tabu@givespace
<a id='L1427' name='L1427'></a>\def\tabu@arith {\advance\tabu@cnt \@ne
<a id='L1428' name='L1428'></a>    \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi
<a id='L1429' name='L1429'></a>    \tabu@arithnegcoef
<a id='L1430' name='L1430'></a>    \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % &lt;incompressible material&gt;
<a id='L1431' name='L1431'></a>    \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax
<a id='L1432' name='L1432'></a>    \tabu@message{\tabu@message@arith}%
<a id='L1433' name='L1433'></a>    \ifdim \tabu@DELTA &lt;\tabu@hfuzz
<a id='L1434' name='L1434'></a>        \ifdim \tabu@DELTA&lt;\z@          % wd (tabu)&lt;\tabu@target ?
<a id='L1435' name='L1435'></a>            \let\tabu@ \tabu@givespace \tabu@Xcoefs
<a id='L1436' name='L1436'></a>            \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message
<a id='L1437' name='L1437'></a>        \else   % already converged: nothing to do but nearly impossible...
<a id='L1438' name='L1438'></a>        \fi
<a id='L1439' name='L1439'></a>        \tabucolX \maxdimen
<a id='L1440' name='L1440'></a>        \tabu@measuringfalse
<a id='L1441' name='L1441'></a>    \else                               % need for narrower X columns
<a id='L1442' name='L1442'></a>        \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax
<a id='L1443' name='L1443'></a>        \tabu@measuringtrue
<a id='L1444' name='L1444'></a>        \@whilesw \iftabu@measuring\fi {%
<a id='L1445' name='L1445'></a>            \advance\tabu@cnt \@ne
<a id='L1446' name='L1446'></a>            \tabu@arithnegcoef
<a id='L1447' name='L1447'></a>            \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always &lt; 0 here
<a id='L1448' name='L1448'></a>            \tabu@message{\tabu@header
<a id='L1449' name='L1449'></a>                \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
<a id='L1450' name='L1450'></a>                \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@
<a id='L1451' name='L1451'></a>                \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
<a id='L1452' name='L1452'></a>                \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
<a id='L1453' name='L1453'></a>                \ifdim -\tabu@DELTA&lt;\tabu@hfuzz \tabu@spaces target ok\else
<a id='L1454' name='L1454'></a>                \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@
<a id='L1455' name='L1455'></a>                \fi}%
<a id='L1456' name='L1456'></a>            \ifdim -\tabu@DELTA&lt;\tabu@hfuzz
<a id='L1457' name='L1457'></a>                \advance\@tempdima \@tempdimb % for message
<a id='L1458' name='L1458'></a>                \tabu@measuringfalse
<a id='L1459' name='L1459'></a>            \else
<a id='L1460' name='L1460'></a>                \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax
<a id='L1461' name='L1461'></a>            \fi
<a id='L1462' name='L1462'></a>        }%
<a id='L1463' name='L1463'></a>    \fi
<a id='L1464' name='L1464'></a>    \tabu@message{\tabu@message@reached}%
<a id='L1465' name='L1465'></a>    \edef\tabu@bufferX{\endgroup \tabu@cnt    \the\tabu@cnt
<a id='L1466' name='L1466'></a>                                 \tabucolX    \the\tabucolX
<a id='L1467' name='L1467'></a>                                 \tabu@target \the\tabu@target}%
<a id='L1468' name='L1468'></a>}% \tabu@arith
<a id='L1469' name='L1469'></a>\def\tabu@spreadarith {%
<a id='L1470' name='L1470'></a>    \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs
<a id='L1471' name='L1471'></a>    \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}%
<a id='L1472' name='L1472'></a>    \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax
<a id='L1473' name='L1473'></a>    \iftabu@measuring
<a id='L1474' name='L1474'></a>        \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
<a id='L1475' name='L1475'></a>        \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}%
<a id='L1476' name='L1476'></a>    \else
<a id='L1477' name='L1477'></a>        \tabu@message{\tabu@message@spreadarith}%
<a id='L1478' name='L1478'></a>        \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget &gt;\tabu@target
<a id='L1479' name='L1479'></a>            \tabu@message{(tabu) spread
<a id='L1480' name='L1480'></a>                \ifdim \@tempdimc&gt;\tabu@target useless here: default target used%
<a id='L1481' name='L1481'></a>                \else too large: reduced to fit default target\fi.}%
<a id='L1482' name='L1482'></a>        \else
<a id='L1483' name='L1483'></a>            \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
<a id='L1484' name='L1484'></a>            \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}%
<a id='L1485' name='L1485'></a>        \fi
<a id='L1486' name='L1486'></a>        \begingroup \let\tabu@wddef \@gobbletwo
<a id='L1487' name='L1487'></a>            \@tempdimb \@tempdima
<a id='L1488' name='L1488'></a>            \tabucolX@init
<a id='L1489' name='L1489'></a>            \tabu@arithnegcoef
<a id='L1490' name='L1490'></a>            \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax
<a id='L1491' name='L1491'></a>        \expandafter\endgroup \expandafter\tabucolX \the\tabucolX
<a id='L1492' name='L1492'></a>        \tabu@arith
<a id='L1493' name='L1493'></a>    \fi
<a id='L1494' name='L1494'></a>}% \tabu@spreadarith
<a id='L1495' name='L1495'></a>\def\tabu@spread@arith #1#2{%
<a id='L1496' name='L1496'></a>    \ifdim #2\p@&gt;\z@ \advance\dimen@ #2\p@
<a id='L1497' name='L1497'></a>    \else            \advance\@tempdima \tabu@wd{#1}\relax
<a id='L1498' name='L1498'></a>    \fi
<a id='L1499' name='L1499'></a>}% \tabu@spread@arith
<a id='L1500' name='L1500'></a>%% Reporting in the .log file ---------------------------------------
<a id='L1501' name='L1501'></a>\def\tabu@message@defaulttarget{%
<a id='L1502' name='L1502'></a>    \ifnum\tabu@nested=\z@^^J(tabu) Default target:
<a id='L1503' name='L1503'></a>    \ifx\tabudefaulttarget\linewidth    \string\linewidth
<a id='L1504' name='L1504'></a>        \ifdim \tabu@thetarget=\linewidth \else
<a id='L1505' name='L1505'></a>            -\the\dimexpr\linewidth-\tabu@thetarget\fi  =
<a id='L1506' name='L1506'></a>    \else\ifx\tabudefaulttarget\linegoal\string\linegoal=
<a id='L1507' name='L1507'></a>    \fi\fi
<a id='L1508' name='L1508'></a>    \else (tabu) Default target (nested): \fi
<a id='L1509' name='L1509'></a>    \the\tabu@target \on@line
<a id='L1510' name='L1510'></a>    \ifnum\tabu@nested=\z@ , page \the\c@page\fi}
<a id='L1511' name='L1511'></a>\def\tabu@message@target {^^J(tabu) Target specified:
<a id='L1512' name='L1512'></a>   \the\tabu@target \on@line, page \the\c@page}
<a id='L1513' name='L1513'></a>\def\tabu@message@arith {\tabu@header
<a id='L1514' name='L1514'></a>    \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
<a id='L1515' name='L1515'></a>    \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@
<a id='L1516' name='L1516'></a>    \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
<a id='L1517' name='L1517'></a>    \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
<a id='L1518' name='L1518'></a>    \ifdim \tabu@DELTA&lt;\tabu@hfuzz giving space\else
<a id='L1519' name='L1519'></a>    \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@
<a id='L1520' name='L1520'></a>    \fi
<a id='L1521' name='L1521'></a>}% \tabu@message@arith
<a id='L1522' name='L1522'></a>\def\tabu@message@spreadarith {\tabu@spreadheader
<a id='L1523' name='L1523'></a>   \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@
<a id='L1524' name='L1524'></a>   \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@
<a id='L1525' name='L1525'></a>   \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@
<a id='L1526' name='L1526'></a>   \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@
<a id='L1527' name='L1527'></a>   \tabu@msgalign \ifdim \dimexpr\@tempdimc&gt;\tabu@target \tabu@target
<a id='L1528' name='L1528'></a>                  \else  \@tempdimc+\tabu@spreadtarget \fi
<a id='L1529' name='L1529'></a>                  {}{}{}{}{}\@@}
<a id='L1530' name='L1530'></a>\def\tabu@message@negcoef #1#2{
<a id='L1531' name='L1531'></a>    \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]:
<a id='L1532' name='L1532'></a>    \space width = \tabu@wd {#1}
<a id='L1533' name='L1533'></a>        \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname
<a id='L1534' name='L1534'></a>    \ifdim -\tabu@pt#2\tabucolX&lt;\tabu@target
<a id='L1535' name='L1535'></a>    &lt; \number-\rem@pt#2 X
<a id='L1536' name='L1536'></a>    = \the\dimexpr -\tabu@pt#2\tabucolX \relax
<a id='L1537' name='L1537'></a>    \else
<a id='L1538' name='L1538'></a>    &lt;= \the\tabu@target\space &lt; \number-\rem@pt#2 X\fi}
<a id='L1539' name='L1539'></a>\def\tabu@message@reached{\tabu@header
<a id='L1540' name='L1540'></a>     ******* Reached Target:
<a id='L1541' name='L1541'></a>            hfuzz = \tabu@hfuzz\on@line\space *******}
<a id='L1542' name='L1542'></a>\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}%
<a id='L1543' name='L1543'></a>    \tabu@message{(tabu)\tabu@spaces Time elapsed during measure:
<a id='L1544' name='L1544'></a>    \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec
<a id='L1545' name='L1545'></a>    \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime)
<a id='L1546' name='L1546'></a>    -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax
<a id='L1547' name='L1547'></a>    *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space
<a id='L1548' name='L1548'></a>                                        cycle\ifnum\tabu@cnt&gt;\@ne s\fi)^^J^^J}}
<a id='L1549' name='L1549'></a>\def\tabu@message@verticalsp {%
<a id='L1550' name='L1550'></a>    \ifdim \@tempdima&gt;\tabu@ht
<a id='L1551' name='L1551'></a>        \ifdim \@tempdimb&gt;\tabu@dp
<a id='L1552' name='L1552'></a>        \expandafter\expandafter\expandafter\string\tabu@ht =
<a id='L1553' name='L1553'></a>            \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@
<a id='L1554' name='L1554'></a>        \expandafter\expandafter\expandafter\string\tabu@dp =
<a id='L1555' name='L1555'></a>            \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J%
<a id='L1556' name='L1556'></a>        \else
<a id='L1557' name='L1557'></a>        \expandafter\expandafter\expandafter\string\tabu@ht =
<a id='L1558' name='L1558'></a>            \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J%
<a id='L1559' name='L1559'></a>        \fi
<a id='L1560' name='L1560'></a>    \else\ifdim \@tempdimb&gt;\tabu@dp
<a id='L1561' name='L1561'></a>        \tabu@spaces\tabu@spaces\tabu@spaces
<a id='L1562' name='L1562'></a>        \expandafter\expandafter\expandafter\string\tabu@dp =
<a id='L1563' name='L1563'></a>            \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi
<a id='L1564' name='L1564'></a>    \fi
<a id='L1565' name='L1565'></a>}% \tabu@message@verticalsp
<a id='L1566' name='L1566'></a>\edef\tabu@spaces{\@spaces}
<a id='L1567' name='L1567'></a>\def\tabu@strippt{\expandafter\tabu@pt\the}
<a id='L1568' name='L1568'></a>{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}}
<a id='L1569' name='L1569'></a>\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr}
<a id='L1570' name='L1570'></a>\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt}
<a id='L1571' name='L1571'></a>\def\do #1{%
<a id='L1572' name='L1572'></a>    \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{%
<a id='L1573' name='L1573'></a>    \ifnum##1&lt;10 #1 #1\else
<a id='L1574' name='L1574'></a>    \ifnum##1&lt;100 #1 \else
<a id='L1575' name='L1575'></a>    \ifnum##1&lt;\@m #1\fi\fi\fi
<a id='L1576' name='L1576'></a>    ##1.##2##3##4##5##6##7##8#1}%
<a id='L1577' name='L1577'></a>    \def\tabu@header{(tabu) \ifnum\tabu@cnt&lt;10 #1\fi\the\tabu@cnt) }%
<a id='L1578' name='L1578'></a>    \def\tabu@titles{\ifnum \tabu@nested=\z@
<a id='L1579' name='L1579'></a>      (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target
<a id='L1580' name='L1580'></a>                  #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}%
<a id='L1581' name='L1581'></a>    \def\tabu@spreadheader{%
<a id='L1582' name='L1582'></a>      (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min.
<a id='L1583' name='L1583'></a>                                                      #1 New Target^^J%
<a id='L1584' name='L1584'></a>      (tabu) sprd}
<a id='L1585' name='L1585'></a>    \def\tabu@message@save {\begingroup
<a id='L1586' name='L1586'></a>        \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@}
<a id='L1587' name='L1587'></a>        \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt
<a id='L1588' name='L1588'></a>                                                     \dimexpr####1\p@{ }{ }}}%
<a id='L1589' name='L1589'></a>        \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}%
<a id='L1590' name='L1590'></a>        \let\CT@arc@ \relax \let\@preamble \@gobble
<a id='L1591' name='L1591'></a>        \let\tabu@savedpream  \@firstofone
<a id='L1592' name='L1592'></a>        \let\tabu@savedparams \@firstofone
<a id='L1593' name='L1593'></a>        \def\tabu@target ####1\relax   {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}%
<a id='L1594' name='L1594'></a>        \def\tabucolX ####1\relax      {(tabu) X columns width#1 = \x{####1}^^J}%
<a id='L1595' name='L1595'></a>        \def\tabu@nbcols ####1\relax   {(tabu) Number of columns: \z{####1}^^J}%
<a id='L1596' name='L1596'></a>        \def\tabu@aligndefault    ####1{(tabu) Default alignment: #1 #1 ####1^^J}%
<a id='L1597' name='L1597'></a>        \def\col@sep ####1\relax       {(tabu) column sep #1 #1 #1 = \x{####1}^^J}%
<a id='L1598' name='L1598'></a>        \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}%
<a id='L1599' name='L1599'></a>        \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}%
<a id='L1600' name='L1600'></a>        \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}%
<a id='L1601' name='L1601'></a>        \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}%
<a id='L1602' name='L1602'></a>        \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}%
<a id='L1603' name='L1603'></a>        \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }%
<a id='L1604' name='L1604'></a>        \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}%
<a id='L1605' name='L1605'></a>        \def\arraystretch         ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}%
<a id='L1606' name='L1606'></a>        \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}%
<a id='L1607' name='L1607'></a>        \def\tabu@arc@L           ####1{(tabu) taburulecolor #1 #1 = ####1^^J}%
<a id='L1608' name='L1608'></a>        \def\tabu@drsc@L          ####1{(tabu) tabudoublerulecolor=  ####1^^J}%
<a id='L1609' name='L1609'></a>        \def\tabu@evr@L           ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}%
<a id='L1610' name='L1610'></a>        \def\tabu@ls@L            ####1{(tabu) line style = \detokenize{####1}^^J}%
<a id='L1611' name='L1611'></a>        \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}%
<a id='L1612' name='L1612'></a>        \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}%
<a id='L1613' name='L1613'></a>        \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo
<a id='L1614' name='L1614'></a>        \tabu@message{%
<a id='L1615' name='L1615'></a>         (tabu) \string\savetabu{\tabu@temp}: \on@line^^J%
<a id='L1616' name='L1616'></a>         \tabu@usetabu \@nil^^J}%
<a id='L1617' name='L1617'></a>        \endgroup}
<a id='L1618' name='L1618'></a>}\do{ }
<a id='L1619' name='L1619'></a>%% Measuring the natural width (varwidth) - store the results -------
<a id='L1620' name='L1620'></a>\def\tabu@startpboxmeasure #1{\bgroup   % entering \vtop
<a id='L1621' name='L1621'></a>    \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}%
<a id='L1622' name='L1622'></a>    \ifodd 1\ifx \tabu@temp\@empty 0 \else      % starts with \tabu@hsize ?
<a id='L1623' name='L1623'></a>            \iftabu@spread           \else      % if spread -&gt; measure
<a id='L1624' name='L1624'></a>            \ifdim \tabu@temp\p@&gt;\z@ 0 \fi\fi\fi% if coef&gt;0 -&gt; do not measure
<a id='L1625' name='L1625'></a>        \let\@startpbox \tabu@startpboxORI      % restore immediately (nesting)
<a id='L1626' name='L1626'></a>        \tabu@measuringtrue                     % for the quick option...
<a id='L1627' name='L1627'></a>        \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi
<a id='L1628' name='L1628'></a>        \ifdim \tabu@temp\p@&gt;\z@ \ifdim \tabu@temp\tabucolX&lt;\tabu@target
<a id='L1629' name='L1629'></a>                                        \tabu@target=\tabu@temp\tabucolX \fi\fi
<a id='L1630' name='L1630'></a>        \setbox\tabu@box  \hbox \bgroup
<a id='L1631' name='L1631'></a>            \begin{varwidth}\tabu@target
<a id='L1632' name='L1632'></a>                \let\FV@ListProcessLine \tabu@FV@ListProcessLine  % \hbox to natural width...
<a id='L1633' name='L1633'></a>                \narrowragged \arraybackslash \parfillskip \@flushglue
<a id='L1634' name='L1634'></a>                \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi
<a id='L1635' name='L1635'></a>                \bgroup \aftergroup\tabu@endpboxmeasure
<a id='L1636' name='L1636'></a>                \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi
<a id='L1637' name='L1637'></a>    \else \expandafter\@gobble
<a id='L1638' name='L1638'></a>                            \tabu@startpboxquick{#1}% \@gobble \bgroup
<a id='L1639' name='L1639'></a>    \fi
<a id='L1640' name='L1640'></a>}% \tabu@startpboxmeasure
<a id='L1641' name='L1641'></a>\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty
<a id='L1642' name='L1642'></a>                                          \bgroup\color@begingroup}
<a id='L1643' name='L1643'></a>\def\tabu@endpboxmeasure {%
<a id='L1644' name='L1644'></a>    \@finalstrut \@arstrutbox
<a id='L1645' name='L1645'></a>                    \end{varwidth}\egroup    % &lt;got my \tabu@box&gt;
<a id='L1646' name='L1646'></a>    \ifdim \tabu@temp\p@ &lt;\z@   % neg coef
<a id='L1647' name='L1647'></a>        \ifdim \tabu@wd\tabu@Xcol &lt;\wd\tabu@box
<a id='L1648' name='L1648'></a>            \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}%
<a id='L1649' name='L1649'></a>            \tabu@debug{\tabu@message@endpboxmeasure}%
<a id='L1650' name='L1650'></a>        \fi
<a id='L1651' name='L1651'></a>    \else                       % spread coef&gt;0
<a id='L1652' name='L1652'></a>        \global\advance \tabu@naturalX \wd\tabu@box
<a id='L1653' name='L1653'></a>        \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax
<a id='L1654' name='L1654'></a>        \ifdim \tabu@naturalXmax &lt;\tabu@naturalX
<a id='L1655' name='L1655'></a>            \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi
<a id='L1656' name='L1656'></a>        \ifdim \tabu@naturalXmin &lt;\@tempdima
<a id='L1657' name='L1657'></a>            \xdef\tabu@naturalXmin {\the\@tempdima}\fi
<a id='L1658' name='L1658'></a>    \fi
<a id='L1659' name='L1659'></a>   \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target
<a id='L1660' name='L1660'></a>}% \tabu@endpboxmeasure
<a id='L1661' name='L1661'></a>\def\tabu@wddef #1{\expandafter\xdef
<a id='L1662' name='L1662'></a>                   \csname tabu@\the\tabu@nested.W\number#1\endcsname}
<a id='L1663' name='L1663'></a>\def\tabu@wd    #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname}
<a id='L1664' name='L1664'></a>\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces&lt;-&gt; % &lt;-&gt; save natural wd
<a id='L1665' name='L1665'></a>    \the\tabu@Xcol. X[\tabu@temp]:
<a id='L1666' name='L1666'></a>    target = \the\tabucolX \space
<a id='L1667' name='L1667'></a>    \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol
<a id='L1668' name='L1668'></a>    =\tabu@wd\tabu@Xcol
<a id='L1669' name='L1669'></a>}% \tabu@message@endpboxmeasure
<a id='L1670' name='L1670'></a>\def\tabu@startpboxquick {\bgroup
<a id='L1671' name='L1671'></a>    \let\@startpbox \tabu@startpboxORI  % restore immediately
<a id='L1672' name='L1672'></a>    \let\tabu \tabu@quick               % \begin is expanded before...
<a id='L1673' name='L1673'></a>    \expandafter\@gobble \@startpbox    % gobbles \bgroup
<a id='L1674' name='L1674'></a>}% \tabu@startpboxquick
<a id='L1675' name='L1675'></a>\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi
<a id='L1676' name='L1676'></a>    \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick
<a id='L1677' name='L1677'></a>}% \tabu@quick
<a id='L1678' name='L1678'></a>\def\tabu@endquick {%
<a id='L1679' name='L1679'></a>    \ifodd 1\ifx\tabu@end@envir\tabu@endtabu  \else
<a id='L1680' name='L1680'></a>            \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax
<a id='L1681' name='L1681'></a>            \endgroup
<a id='L1682' name='L1682'></a>    \else   \let\endtabu \relax
<a id='L1683' name='L1683'></a>            \tabu@end@envir
<a id='L1684' name='L1684'></a>    \fi
<a id='L1685' name='L1685'></a>}% \tabu@quick
<a id='L1686' name='L1686'></a>\def\tabu@endtabu   {\end{tabu}}
<a id='L1687' name='L1687'></a>\def\tabu@endtabus  {\end{tabu*}}
<a id='L1688' name='L1688'></a>%% Measuring the heights and depths - store the results -------------
<a id='L1689' name='L1689'></a>\def\tabu@verticalmeasure{\everypar{}%
<a id='L1690' name='L1690'></a>    \ifnum \currentgrouptype&gt;12         % 14=semi-simple, 15=math shift group
<a id='L1691' name='L1691'></a>        \setbox\tabu@box =\hbox\bgroup
<a id='L1692' name='L1692'></a>            \let\tabu@verticalspacing \tabu@verticalsp@lcr
<a id='L1693' name='L1693'></a>            \d@llarbegin                % after \hbox ...
<a id='L1694' name='L1694'></a>    \else
<a id='L1695' name='L1695'></a>        \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop
<a id='L1696' name='L1696'></a>                        \else\ifnum\currentgrouptype=12\vcenter
<a id='L1697' name='L1697'></a>                        \else\vbox\fi\fi}%
<a id='L1698' name='L1698'></a>        \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup
<a id='L1699' name='L1699'></a>            \let\tabu@verticalspacing \tabu@verticalsp@pmb
<a id='L1700' name='L1700'></a>    \fi
<a id='L1701' name='L1701'></a>}% \tabu@verticalmeasure
<a id='L1702' name='L1702'></a>\def\tabu@verticalsp@lcr{%
<a id='L1703' name='L1703'></a>    \d@llarend \egroup       % &lt;got my \tabu@box&gt;
<a id='L1704' name='L1704'></a>    \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
<a id='L1705' name='L1705'></a>    \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
<a id='L1706' name='L1706'></a>        \ifdim\tabustrutrule&gt;\z@ \tabu@debug{\tabu@message@verticalsp}\fi
<a id='L1707' name='L1707'></a>    \ifdim \tabu@ht&lt;\@tempdima    \tabu@htdef{\the\@tempdima}\fi
<a id='L1708' name='L1708'></a>    \ifdim \tabu@dp&lt;\@tempdimb    \tabu@dpdef{\the\@tempdimb}\fi
<a id='L1709' name='L1709'></a>    \noindent\vrule height\@tempdima depth\@tempdimb
<a id='L1710' name='L1710'></a>}% \tabu@verticalsp@lcr
<a id='L1711' name='L1711'></a>\def\tabu@verticalsp@pmb{% inserts struts as needed
<a id='L1712' name='L1712'></a>    \par \expandafter\egroup
<a id='L1713' name='L1713'></a>            \expandafter$\expandafter
<a id='L1714' name='L1714'></a>                    \egroup \expandafter
<a id='L1715' name='L1715'></a>                            \@tempdimc \the\prevdepth
<a id='L1716' name='L1716'></a>    \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
<a id='L1717' name='L1717'></a>    \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
<a id='L1718' name='L1718'></a>        \ifdim\tabustrutrule&gt;\z@ \tabu@debug{\tabu@message@verticalsp}\fi
<a id='L1719' name='L1719'></a>    \ifdim \tabu@ht&lt;\@tempdima    \tabu@htdef{\the\@tempdima}\fi
<a id='L1720' name='L1720'></a>    \ifdim \tabu@dp&lt;\@tempdimb    \tabu@dpdef{\the\@tempdimb}\fi
<a id='L1721' name='L1721'></a>    \let\@finalstrut \@gobble
<a id='L1722' name='L1722'></a>    \hrule height\@tempdima depth\@tempdimb width\hsize
<a id='L1723' name='L1723'></a>%%    \box\tabu@box
<a id='L1724' name='L1724'></a>}% \tabu@verticalsp@pmb
<a id='L1725' name='L1725'></a>
<a id='L1726' name='L1726'></a>\def\tabu@verticalinit{%
<a id='L1727' name='L1727'></a>    \ifnum \c@taburow=\z@ \tabu@rearstrut \fi       % after \tabu@reset !
<a id='L1728' name='L1728'></a>    \advance\c@taburow \@ne
<a id='L1729' name='L1729'></a>    \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}%
<a id='L1730' name='L1730'></a>    \advance\c@taburow \m@ne
<a id='L1731' name='L1731'></a>}% \tabu@verticalinit
<a id='L1732' name='L1732'></a>\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
<a id='L1733' name='L1733'></a>\def\tabu@ht                      {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
<a id='L1734' name='L1734'></a>\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
<a id='L1735' name='L1735'></a>\def\tabu@dp                      {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
<a id='L1736' name='L1736'></a>\def\tabu@verticaldynamicadjustment {%
<a id='L1737' name='L1737'></a>    \advance\c@taburow \@ne
<a id='L1738' name='L1738'></a>        \extrarowheight \dimexpr\tabu@ht - \ht\strutbox
<a id='L1739' name='L1739'></a>        \extrarowdepth  \dimexpr\tabu@dp - \dp\strutbox
<a id='L1740' name='L1740'></a>        \let\arraystretch \@empty
<a id='L1741' name='L1741'></a>    \advance\c@taburow \m@ne
<a id='L1742' name='L1742'></a>}% \tabu@verticaldynamicadjustment
<a id='L1743' name='L1743'></a>\def\tabuphantomline{\crcr \noalign{%
<a id='L1744' name='L1744'></a>    {\globaldefs \@ne
<a id='L1745' name='L1745'></a>        \setbox\@arstrutbox     \box\voidb@x
<a id='L1746' name='L1746'></a>        \let\tabu@@celllalign   \tabu@celllalign
<a id='L1747' name='L1747'></a>        \let\tabu@@cellralign   \tabu@cellralign
<a id='L1748' name='L1748'></a>        \let\tabu@@cellleft     \tabu@cellleft
<a id='L1749' name='L1749'></a>        \let\tabu@@cellright    \tabu@cellright
<a id='L1750' name='L1750'></a>        \let\tabu@@thevline     \tabu@thevline
<a id='L1751' name='L1751'></a>        \let\tabu@celllalign    \@empty
<a id='L1752' name='L1752'></a>        \let\tabu@cellralign    \@empty
<a id='L1753' name='L1753'></a>        \let\tabu@cellright     \@empty
<a id='L1754' name='L1754'></a>        \let\tabu@cellleft      \@empty
<a id='L1755' name='L1755'></a>        \let\tabu@thevline      \relax}%
<a id='L1756' name='L1756'></a>    \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &amp;}}%
<a id='L1757' name='L1757'></a>    \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr
<a id='L1758' name='L1758'></a>        \noalign{\tabu@rearstrut
<a id='L1759' name='L1759'></a>            {\globaldefs\@ne
<a id='L1760' name='L1760'></a>                \let\tabu@celllalign \tabu@@celllalign
<a id='L1761' name='L1761'></a>                \let\tabu@cellralign \tabu@@cellralign
<a id='L1762' name='L1762'></a>                \let\tabu@cellleft   \tabu@@cellleft
<a id='L1763' name='L1763'></a>                \let\tabu@cellright  \tabu@@cellright
<a id='L1764' name='L1764'></a>                \let\tabu@thevline   \tabu@@thevline}}}%
<a id='L1765' name='L1765'></a>    \expandafter}\the\toks@
<a id='L1766' name='L1766'></a>}% \tabuphantomline
<a id='L1767' name='L1767'></a>%% \firsthline and \lasthline corrections ---------------------------
<a id='L1768' name='L1768'></a>\def\tabu@firstline {\tabu@hlineAZ  \tabu@firsthlinecorrection     {}}
<a id='L1769' name='L1769'></a>\def\tabu@firsthline{\tabu@hlineAZ  \tabu@firsthlinecorrection \hline}
<a id='L1770' name='L1770'></a>\def\tabu@lastline  {\tabu@hlineAZ  \tabu@lasthlinecorrection      {}}
<a id='L1771' name='L1771'></a>\def\tabu@lasthline {\tabu@hlineAZ  \tabu@lasthlinecorrection  \hline}
<a id='L1772' name='L1772'></a>\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument)
<a id='L1773' name='L1773'></a>    \noalign{\ifnum0=`}\fi
<a id='L1774' name='L1774'></a>    {\CT@arc@\hrule height\arrayrulewidth}%
<a id='L1775' name='L1775'></a>    \futurelet \tabu@temp \tabu@xhline
<a id='L1776' name='L1776'></a>}% \tabu@hline
<a id='L1777' name='L1777'></a>\def\tabu@xhline{%
<a id='L1778' name='L1778'></a>    \ifx \tabu@temp \hline
<a id='L1779' name='L1779'></a>        {\ifx \CT@drsc@\relax \vskip
<a id='L1780' name='L1780'></a>         \else\ifx \CT@drsc@\@empty \vskip
<a id='L1781' name='L1781'></a>         \else \CT@drsc@\hrule height
<a id='L1782' name='L1782'></a>         \fi\fi
<a id='L1783' name='L1783'></a>         \doublerulesep}%
<a id='L1784' name='L1784'></a>    \fi
<a id='L1785' name='L1785'></a>    \ifnum0=`{\fi}%
<a id='L1786' name='L1786'></a>}% \tabu@xhline
<a id='L1787' name='L1787'></a>\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@
<a id='L1788' name='L1788'></a>    \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}%
<a id='L1789' name='L1789'></a>    \tabu@hlineAZsurround
<a id='L1790' name='L1790'></a>}% \tabu@hlineAZ
<a id='L1791' name='L1791'></a>\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{%
<a id='L1792' name='L1792'></a>    \extratabsurround #1\let\tabucline \tabucline@scan
<a id='L1793' name='L1793'></a>    \let\hline     \tabu@hlinescan \let\firsthline \hline
<a id='L1794' name='L1794'></a>    \let\cline     \tabu@clinescan \let\lasthline  \hline
<a id='L1795' name='L1795'></a>    \expandafter \futurelet \expandafter \tabu@temp
<a id='L1796' name='L1796'></a>                \expandafter \tabu@nexthlineAZ \tabu@temp
<a id='L1797' name='L1797'></a>}% \tabu@hlineAZsurround
<a id='L1798' name='L1798'></a>\def\tabu@hlinescan   {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline}
<a id='L1799' name='L1799'></a>\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}}
<a id='L1800' name='L1800'></a>\def\tabucline@scan{\@testopt \tabucline@sc@n {}}
<a id='L1801' name='L1801'></a>\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}}
<a id='L1802' name='L1802'></a>\def\tabu@nexthlineAZ{%
<a id='L1803' name='L1803'></a>    \ifx \tabu@temp\hline \else
<a id='L1804' name='L1804'></a>    \ifx \tabu@temp\cline \else
<a id='L1805' name='L1805'></a>    \ifx \tabu@temp\tabucline \else
<a id='L1806' name='L1806'></a>         \tabu@hlinecorrection
<a id='L1807' name='L1807'></a>    \fi\fi\fi
<a id='L1808' name='L1808'></a>}% \tabu@nexthlineAZ
<a id='L1809' name='L1809'></a>\def\tabu@xhlineAZ #1{%
<a id='L1810' name='L1810'></a>    \toks@\expandafter{\the\toks@ #1}%
<a id='L1811' name='L1811'></a>    \@tempdimc \tabu@thick                  % The last line width
<a id='L1812' name='L1812'></a>    \ifcase\count@ \@tempdimb \tabu@thick   % The first line width
<a id='L1813' name='L1813'></a>    \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax
<a id='L1814' name='L1814'></a>    \fi
<a id='L1815' name='L1815'></a>    \advance\count@ \@ne    \futurelet \tabu@temp \tabu@nexthlineAZ
<a id='L1816' name='L1816'></a>}% \tabu@xhlineAZ
<a id='L1817' name='L1817'></a>\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1
<a id='L1818' name='L1818'></a>    \@tempdima \dimexpr \ht\@arstrutbox+\dimen@
<a id='L1819' name='L1819'></a>    \edef\firsthline{%      &lt;local in \noalign&gt;
<a id='L1820' name='L1820'></a>        \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
<a id='L1821' name='L1821'></a>                    height \the\dimexpr\@tempdima+\extratabsurround
<a id='L1822' name='L1822'></a>                    depth  \dp\@arstrutbox
<a id='L1823' name='L1823'></a>                    width  \tabustrutrule}\hss}\cr
<a id='L1824' name='L1824'></a>        \noalign{\vskip -\the\dimexpr   \@tempdima+\@tempdimb
<a id='L1825' name='L1825'></a>                                        +\dp\@arstrutbox \relax}%
<a id='L1826' name='L1826'></a>        \the\toks@
<a id='L1827' name='L1827'></a>   }\ifnum0=`{\fi
<a id='L1828' name='L1828'></a>            \expandafter}\firsthline % we are then !
<a id='L1829' name='L1829'></a>}% \tabu@firsthlinecorrection
<a id='L1830' name='L1830'></a>\def\tabu@lasthlinecorrection{%
<a id='L1831' name='L1831'></a>    \@tempdima \dimexpr  \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc
<a id='L1832' name='L1832'></a>    \edef\lasthline{%   &lt;local in \noalign&gt;
<a id='L1833' name='L1833'></a>        \the\toks@
<a id='L1834' name='L1834'></a>        \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}%
<a id='L1835' name='L1835'></a>        \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
<a id='L1836' name='L1836'></a>                    depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@
<a id='L1837' name='L1837'></a>                                       +\extratabsurround-\@tempdimc
<a id='L1838' name='L1838'></a>                    height \z@
<a id='L1839' name='L1839'></a>                    width \tabustrutrule}\hss}\cr
<a id='L1840' name='L1840'></a>    }\ifnum0=`{\fi
<a id='L1841' name='L1841'></a>            \expandafter}\lasthline % we are then !
<a id='L1842' name='L1842'></a>}% \tabu@lasthlinecorrection
<a id='L1843' name='L1843'></a>\def\tabu@LT@@hline{%
<a id='L1844' name='L1844'></a>    \ifx\LT@next\hline
<a id='L1845' name='L1845'></a>        \global\let\LT@next \@gobble
<a id='L1846' name='L1846'></a>        \ifx \CT@drsc@\relax
<a id='L1847' name='L1847'></a>            \gdef\CT@LT@sep{%
<a id='L1848' name='L1848'></a>                \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}%
<a id='L1849' name='L1849'></a>        \else
<a id='L1850' name='L1850'></a>            \gdef\CT@LT@sep{%
<a id='L1851' name='L1851'></a>                \multispan\LT@cols{%
<a id='L1852' name='L1852'></a>                \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
<a id='L1853' name='L1853'></a>        \fi
<a id='L1854' name='L1854'></a>    \else
<a id='L1855' name='L1855'></a>        \global\let\LT@next\empty
<a id='L1856' name='L1856'></a>        \gdef\CT@LT@sep{%
<a id='L1857' name='L1857'></a>            \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}%
<a id='L1858' name='L1858'></a>    \fi
<a id='L1859' name='L1859'></a>    \ifnum0=`{\fi}%
<a id='L1860' name='L1860'></a>    \multispan\LT@cols
<a id='L1861' name='L1861'></a>        {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
<a id='L1862' name='L1862'></a>    \CT@LT@sep
<a id='L1863' name='L1863'></a>    \multispan\LT@cols
<a id='L1864' name='L1864'></a>        {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
<a id='L1865' name='L1865'></a>    \noalign{\penalty\@M}%
<a id='L1866' name='L1866'></a>    \LT@next
<a id='L1867' name='L1867'></a>}% \tabu@LT@@hline
<a id='L1868' name='L1868'></a>%% Horizontal lines : \tabucline ------------------------------------
<a id='L1869' name='L1869'></a>\let\tabu@start \@tempcnta
<a id='L1870' name='L1870'></a>\let\tabu@stop  \@tempcntb
<a id='L1871' name='L1871'></a>\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline}
<a id='L1872' name='L1872'></a>\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}%
<a id='L1873' name='L1873'></a>   \ifnum \tabu@stop&lt;\z@   \toks@{}%
<a id='L1874' name='L1874'></a>   \else \tabu@clinearg{#1}\tabu@thestyle
<a id='L1875' name='L1875'></a>        \edef\tabucline{\toks@{%
<a id='L1876' name='L1876'></a>            \ifnum \tabu@start&gt;\z@ \omit
<a id='L1877' name='L1877'></a>                  \tabu@multispan\tabu@start {\span\omit}&amp;\fi
<a id='L1878' name='L1878'></a>            \omit \tabu@multispan\tabu@stop {\span\omit}%
<a id='L1879' name='L1879'></a>                                        \tabu@thehline\cr
<a id='L1880' name='L1880'></a>        }}\tabucline
<a id='L1881' name='L1881'></a>        \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}%
<a id='L1882' name='L1882'></a>    \fi
<a id='L1883' name='L1883'></a>    \futurelet \tabu@temp \tabu@xcline
<a id='L1884' name='L1884'></a>}% \tabu@cline
<a id='L1885' name='L1885'></a>\def\tabu@clinearg #1{%
<a id='L1886' name='L1886'></a>    \ifx\\#1\\\let\tabu@thestyle \tabu@ls@
<a id='L1887' name='L1887'></a>    \else \@defaultunits \expandafter\let\expandafter\@tempa
<a id='L1888' name='L1888'></a>                                    \romannumeral-`\0#1\relax \@nnil
<a id='L1889' name='L1889'></a>        \ifx \hbox\@tempa           \tabu@clinebox{#1}%
<a id='L1890' name='L1890'></a>        \else\ifx \box\@tempa       \tabu@clinebox{#1}%
<a id='L1891' name='L1891'></a>        \else\ifx \vbox\@tempa      \tabu@clinebox{#1}%
<a id='L1892' name='L1892'></a>        \else\ifx \vtop\@tempa      \tabu@clinebox{#1}%
<a id='L1893' name='L1893'></a>        \else\ifx \copy\@tempa      \tabu@clinebox{#1}%
<a id='L1894' name='L1894'></a>        \else\ifx \leaders\@tempa   \tabu@clineleads{#1}%
<a id='L1895' name='L1895'></a>        \else\ifx \cleaders\@tempa  \tabu@clineleads{#1}%
<a id='L1896' name='L1896'></a>        \else\ifx \xleaders\@tempa  \tabu@clineleads{#1}%
<a id='L1897' name='L1897'></a>        \else\tabu@getline {#1}%
<a id='L1898' name='L1898'></a>        \fi\fi\fi\fi\fi\fi\fi\fi
<a id='L1899' name='L1899'></a>    \fi
<a id='L1900' name='L1900'></a>}% \tabu@clinearg
<a id='L1901' name='L1901'></a>\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}}
<a id='L1902' name='L1902'></a>\def\tabu@clineleads #1{%
<a id='L1903' name='L1903'></a>    \let\tabu@thestyle \relax \let\tabu@leaders \@undefined
<a id='L1904' name='L1904'></a>    \gdef\tabu@thehrule{#1}}
<a id='L1905' name='L1905'></a>\def\tabu@thehline{\begingroup
<a id='L1906' name='L1906'></a>    \ifdefined\tabu@leaders
<a id='L1907' name='L1907'></a>            \noexpand\tabu@thehleaders
<a id='L1908' name='L1908'></a>    \else   \noexpand\tabu@thehrule
<a id='L1909' name='L1909'></a>    \fi            \endgroup
<a id='L1910' name='L1910'></a>}% \tabu@thehline
<a id='L1911' name='L1911'></a>\def\tabu@xcline{%
<a id='L1912' name='L1912'></a>    \ifx \tabu@temp\tabucline
<a id='L1913' name='L1913'></a>        \toks@\expandafter{\the\toks@ \noalign
<a id='L1914' name='L1914'></a>        {\ifx\CT@drsc@\relax \vskip
<a id='L1915' name='L1915'></a>         \else \CT@drsc@\hrule height
<a id='L1916' name='L1916'></a>         \fi
<a id='L1917' name='L1917'></a>         \doublerulesep}}%
<a id='L1918' name='L1918'></a>    \fi
<a id='L1919' name='L1919'></a>    \tabu@docline
<a id='L1920' name='L1920'></a>}% \tabu@xcline
<a id='L1921' name='L1921'></a>\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@}
<a id='L1922' name='L1922'></a>\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}%
<a id='L1923' name='L1923'></a>              \ifnum0=`{\fi}\aftergroup\tabu@doclineafter}
<a id='L1924' name='L1924'></a>\def\tabu@multispan #1#2{%
<a id='L1925' name='L1925'></a>    \ifnum\numexpr#1&gt;\@ne #2\expandafter\tabu@multispan
<a id='L1926' name='L1926'></a>    \else                   \expandafter\@gobbletwo
<a id='L1927' name='L1927'></a>    \fi  {#1-1}{#2}%
<a id='L1928' name='L1928'></a>}% \tabu@multispan
<a id='L1929' name='L1929'></a>\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil}
<a id='L1930' name='L1930'></a>\def\tabu@start@stop #1-#2\@nnil{%
<a id='L1931' name='L1931'></a>   \@defaultunits   \tabu@start\number 0#1\relax    \@nnil
<a id='L1932' name='L1932'></a>   \@defaultunits   \tabu@stop \number 0#2\relax    \@nnil
<a id='L1933' name='L1933'></a>   \tabu@stop   \ifnum \tabu@start&gt;\tabu@nbcols     \m@ne
<a id='L1934' name='L1934'></a>                \else\ifnum \tabu@stop=\z@          \tabu@nbcols
<a id='L1935' name='L1935'></a>                \else\ifnum \tabu@stop&gt;\tabu@nbcols \tabu@nbcols
<a id='L1936' name='L1936'></a>                \else                               \tabu@stop
<a id='L1937' name='L1937'></a>                \fi\fi\fi
<a id='L1938' name='L1938'></a>   \advance\tabu@start \m@ne
<a id='L1939' name='L1939'></a>   \ifnum \tabu@start&gt;\z@ \advance\tabu@stop -\tabu@start \fi
<a id='L1940' name='L1940'></a>}% \tabu@start@stop
<a id='L1941' name='L1941'></a>%% Numbers: siunitx S columns  (and \tabudecimal) -------------------
<a id='L1942' name='L1942'></a>\def\tabu@tabudecimal #1{%
<a id='L1943' name='L1943'></a>    \def\tabu@decimal{#1}\@temptokena{}%
<a id='L1944' name='L1944'></a>    \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces
<a id='L1945' name='L1945'></a>    \tabu@scandecimal
<a id='L1946' name='L1946'></a>}% \tabu@tabudecimal
<a id='L1947' name='L1947'></a>\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@}
<a id='L1948' name='L1948'></a>\def\tabu@skipdecimal#1{#1\tabu@scandecimal}
<a id='L1949' name='L1949'></a>\def\tabu@getdecimal@ignorespaces{%
<a id='L1950' name='L1950'></a>    \ifcase 0\ifx\tabu@temp\ignorespaces\else
<a id='L1951' name='L1951'></a>             \ifx\tabu@temp\@sptoken1\else
<a id='L1952' name='L1952'></a>             2\fi\fi\relax
<a id='L1953' name='L1953'></a>            \let\tabu@getdecimal@ \tabu@getdecimal
<a id='L1954' name='L1954'></a>            \expandafter\tabu@skipdecimal
<a id='L1955' name='L1955'></a>    \or     \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal
<a id='L1956' name='L1956'></a>    \else   \expandafter\tabu@skipdecimal
<a id='L1957' name='L1957'></a>    \fi
<a id='L1958' name='L1958'></a>}% \tabu@getdecimal@ignorespaces
<a id='L1959' name='L1959'></a>\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}%
<a id='L1960' name='L1960'></a>                        \tabu@scandecimal}
<a id='L1961' name='L1961'></a>\def\do#1{%
<a id='L1962' name='L1962'></a>    \def\tabu@get@decimalspace#1{%
<a id='L1963' name='L1963'></a>        \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}%
<a id='L1964' name='L1964'></a>}\do{ }
<a id='L1965' name='L1965'></a>\let\tabu@@tabudecimal \tabu@tabudecimal
<a id='L1966' name='L1966'></a>\def\tabu@getdecimal{%
<a id='L1967' name='L1967'></a>   \ifcase    0\ifx 0\tabu@temp\else
<a id='L1968' name='L1968'></a>               \ifx 1\tabu@temp\else
<a id='L1969' name='L1969'></a>               \ifx 2\tabu@temp\else
<a id='L1970' name='L1970'></a>               \ifx 3\tabu@temp\else
<a id='L1971' name='L1971'></a>               \ifx 4\tabu@temp\else
<a id='L1972' name='L1972'></a>               \ifx 5\tabu@temp\else
<a id='L1973' name='L1973'></a>               \ifx 6\tabu@temp\else
<a id='L1974' name='L1974'></a>               \ifx 7\tabu@temp\else
<a id='L1975' name='L1975'></a>               \ifx 8\tabu@temp\else
<a id='L1976' name='L1976'></a>               \ifx 9\tabu@temp\else
<a id='L1977' name='L1977'></a>               \ifx .\tabu@temp\else
<a id='L1978' name='L1978'></a>               \ifx ,\tabu@temp\else
<a id='L1979' name='L1979'></a>               \ifx -\tabu@temp\else
<a id='L1980' name='L1980'></a>               \ifx +\tabu@temp\else
<a id='L1981' name='L1981'></a>               \ifx e\tabu@temp\else
<a id='L1982' name='L1982'></a>               \ifx E\tabu@temp\else
<a id='L1983' name='L1983'></a>               \ifx\tabu@cellleft\tabu@temp1\else
<a id='L1984' name='L1984'></a>               \ifx\ignorespaces\tabu@temp1\else
<a id='L1985' name='L1985'></a>               \ifx\@sptoken\tabu@temp2\else
<a id='L1986' name='L1986'></a>            3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
<a id='L1987' name='L1987'></a>       \expandafter\tabu@get@decimal
<a id='L1988' name='L1988'></a>   \or \expandafter\tabu@skipdecimal
<a id='L1989' name='L1989'></a>   \or \expandafter\tabu@get@decimalspace
<a id='L1990' name='L1990'></a>   \else\expandafter\tabu@printdecimal
<a id='L1991' name='L1991'></a>   \fi
<a id='L1992' name='L1992'></a>}% \tabu@getdecimal
<a id='L1993' name='L1993'></a>\def\tabu@printdecimal{%
<a id='L1994' name='L1994'></a>    \edef\tabu@temp{\the\@temptokena}%
<a id='L1995' name='L1995'></a>    \ifx\tabu@temp\@empty\else
<a id='L1996' name='L1996'></a>    \ifx\tabu@temp\space\else
<a id='L1997' name='L1997'></a>        \expandafter\tabu@decimal\expandafter{\the\@temptokena}%
<a id='L1998' name='L1998'></a>    \fi\fi
<a id='L1999' name='L1999'></a>}% \tabu@printdecimal
<a id='L2000' name='L2000'></a>%% Verbatim inside X columns ----------------------------------------
<a id='L2001' name='L2001'></a>\def\tabu@verbatim{%
<a id='L2002' name='L2002'></a>    \let\verb \tabu@verb
<a id='L2003' name='L2003'></a>    \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd
<a id='L2004' name='L2004'></a>}% \tabu@verbatim
<a id='L2005' name='L2005'></a>\let\tabu@ltx@verb \verb
<a id='L2006' name='L2006'></a>\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb}
<a id='L2007' name='L2007'></a>\def\tabu@fancyvrb {%
<a id='L2008' name='L2008'></a>    \def\tabu@FV@DefineCheckEnd ##1{%
<a id='L2009' name='L2009'></a>        \def\tabu@FV@DefineCheckEnd{%
<a id='L2010' name='L2010'></a>            ##1% &lt;original definition (if fancyvrb is loaded)&gt;
<a id='L2011' name='L2011'></a>            \let\FV@CheckEnd     \tabu@FV@CheckEnd
<a id='L2012' name='L2012'></a>            \let\FV@@CheckEnd    \tabu@FV@@CheckEnd
<a id='L2013' name='L2013'></a>            \let\FV@@@CheckEnd   \tabu@FV@@@CheckEnd
<a id='L2014' name='L2014'></a>            \edef\FV@EndScanning{%
<a id='L2015' name='L2015'></a>            \def\noexpand\next{\noexpand\end{\FV@EnvironName}}%
<a id='L2016' name='L2016'></a>                \global\let\noexpand\FV@EnvironName\relax
<a id='L2017' name='L2017'></a>                \noexpand\next}%
<a id='L2018' name='L2018'></a>            \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}%
<a id='L2019' name='L2019'></a>    }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd}
<a id='L2020' name='L2020'></a>}% \tabu@fancyvrb
<a id='L2021' name='L2021'></a>\def\tabu@FV@CheckEnd  #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil}
<a id='L2022' name='L2022'></a>\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}}
<a id='L2023' name='L2023'></a>\begingroup
<a id='L2024' name='L2024'></a>\catcode`\[1      \catcode`\]2
<a id='L2025' name='L2025'></a>\@makeother\{     \@makeother\}
<a id='L2026' name='L2026'></a>   \edef\x[\endgroup
<a id='L2027' name='L2027'></a>      \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3%
<a id='L2028' name='L2028'></a>   ]\x               \@nil{\def\@tempa{#2}\def\@tempb{#3}}
<a id='L2029' name='L2029'></a>\def\tabu@FV@ListProcessLine #1{%
<a id='L2030' name='L2030'></a>  \hbox {%to \hsize{%
<a id='L2031' name='L2031'></a>    \kern\leftmargin
<a id='L2032' name='L2032'></a>    \hbox {%to \linewidth{%
<a id='L2033' name='L2033'></a>      \FV@LeftListNumber
<a id='L2034' name='L2034'></a>      \FV@LeftListFrame
<a id='L2035' name='L2035'></a>      \FancyVerbFormatLine{#1}\hss
<a id='L2036' name='L2036'></a>%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on)
<a id='L2037' name='L2037'></a>%%      \FV@RightListFrame}%
<a id='L2038' name='L2038'></a>      \FV@RightListFrame
<a id='L2039' name='L2039'></a>      \FV@RightListNumber}%
<a id='L2040' name='L2040'></a>%% DG/SR modification end
<a id='L2041' name='L2041'></a>    \hss}}
<a id='L2042' name='L2042'></a>%% \savetabu --------------------------------------------------------
<a id='L2043' name='L2043'></a>\newcommand*\savetabu[1]{\noalign{%
<a id='L2044' name='L2044'></a>    \tabu@sanitizearg{#1}\tabu@temp
<a id='L2045' name='L2045'></a>    \ifx \tabu@temp\@empty  \tabu@savewarn{}{The tabu will not be saved}\else
<a id='L2046' name='L2046'></a>        \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}%
<a id='L2047' name='L2047'></a>        \ifdefined\tabu@restored \expandafter\let
<a id='L2048' name='L2048'></a>            \csname tabu@saved@\tabu@temp \endcsname \tabu@restored
<a id='L2049' name='L2049'></a>        \else {\tabu@save}%
<a id='L2050' name='L2050'></a>        \fi
<a id='L2051' name='L2051'></a>    \fi}%
<a id='L2052' name='L2052'></a>}% \savetabu
<a id='L2053' name='L2053'></a>\def\tabu@save {%
<a id='L2054' name='L2054'></a>    \toks0\expandafter{\tabu@saved@}%
<a id='L2055' name='L2055'></a>    \iftabu@negcoef
<a id='L2056' name='L2056'></a>        \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}%
<a id='L2057' name='L2057'></a>        \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi
<a id='L2058' name='L2058'></a>    \toks1\expandafter{\tabu@savedpream}%
<a id='L2059' name='L2059'></a>    \toks2\expandafter{\tabu@savedpreamble}%
<a id='L2060' name='L2060'></a>    \let\@preamble \relax
<a id='L2061' name='L2061'></a>    \let\tabu@savedpream \relax \let\tabu@savedparams \relax
<a id='L2062' name='L2062'></a>    \edef\tabu@preamble{%
<a id='L2063' name='L2063'></a>        \def\noexpand\tabu@aligndefault{\tabu@align}%
<a id='L2064' name='L2064'></a>        \def\tabu@savedparams {\noexpand\the\toks0}%
<a id='L2065' name='L2065'></a>        \def\tabu@savedpream  {\noexpand\the\toks1}}%
<a id='L2066' name='L2066'></a>    \edef\tabu@usetabu{%
<a id='L2067' name='L2067'></a>        \def\@preamble {\noexpand\the\toks2}%
<a id='L2068' name='L2068'></a>        \tabu@target \the\tabu@target \relax
<a id='L2069' name='L2069'></a>        \tabucolX    \the\tabucolX    \relax
<a id='L2070' name='L2070'></a>        \tabu@nbcols \the\tabu@nbcols \relax
<a id='L2071' name='L2071'></a>        \def\noexpand\tabu@aligndefault{\tabu@align}%
<a id='L2072' name='L2072'></a>        \def\tabu@savedparams {\noexpand\the\toks0}%
<a id='L2073' name='L2073'></a>        \def\tabu@savedpream  {\noexpand\the\toks1}}%
<a id='L2074' name='L2074'></a>    \let\tabu@aligndefault \relax \let\@sharp \relax
<a id='L2075' name='L2075'></a>    \edef\@tempa{\noexpand\tabu@s@ved
<a id='L2076' name='L2076'></a>                          {\tabu@usetabu}
<a id='L2077' name='L2077'></a>                         {\tabu@preamble}
<a id='L2078' name='L2078'></a>                            {\the\toks1}}\@tempa
<a id='L2079' name='L2079'></a>    \tabu@message@save
<a id='L2080' name='L2080'></a>}% \tabu@save
<a id='L2081' name='L2081'></a>\long\def\tabu@s@ved #1#2#3{%
<a id='L2082' name='L2082'></a>    \def\tabu@usetabu{#1}% &lt;for \tabu@message@save&gt;
<a id='L2083' name='L2083'></a>    \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{%
<a id='L2084' name='L2084'></a>        \ifodd ##1%     \usetabu
<a id='L2085' name='L2085'></a>            \tabu@measuringfalse \tabu@spreadfalse  % Just in case...
<a id='L2086' name='L2086'></a>            \gdef\tabu@usetabu {%
<a id='L2087' name='L2087'></a>                \ifdim \tabu@target&gt;\z@ \tabu@warn@usetabu \fi
<a id='L2088' name='L2088'></a>                \global\let\tabu@usetabu \@undefined
<a id='L2089' name='L2089'></a>                \def\@halignto {to\tabu@target}%
<a id='L2090' name='L2090'></a>                #1%
<a id='L2091' name='L2091'></a>                \ifx \tabu@align\tabu@aligndefault@text
<a id='L2092' name='L2092'></a>                \ifnum \tabu@nested=\z@
<a id='L2093' name='L2093'></a>                       \let\tabu@align \tabu@aligndefault \fi\fi}%
<a id='L2094' name='L2094'></a>        \else     %     \preamble
<a id='L2095' name='L2095'></a>            \gdef\tabu@preamble {%
<a id='L2096' name='L2096'></a>                \global\let\tabu@preamble \@undefined
<a id='L2097' name='L2097'></a>                #2%
<a id='L2098' name='L2098'></a>                \ifx \tabu@align\tabu@aligndefault@text
<a id='L2099' name='L2099'></a>                \ifnum \tabu@nested=\z@
<a id='L2100' name='L2100'></a>                       \let\tabu@align \tabu@aligndefault \fi\fi}%
<a id='L2101' name='L2101'></a>        \fi
<a id='L2102' name='L2102'></a>        #3}%
<a id='L2103' name='L2103'></a>}% \tabu@s@ved
<a id='L2104' name='L2104'></a>\def\tabu@aligndefault@text {\tabu@aligndefault}%
<a id='L2105' name='L2105'></a>\def\tabu@warn@usetabu {\PackageWarning{tabu}
<a id='L2106' name='L2106'></a>    {Specifying a target with \string\usetabu\space is useless
<a id='L2107' name='L2107'></a>    \MessageBreak The target cannot be changed!}}
<a id='L2108' name='L2108'></a>\def\tabu@savewd #1#2{\ifdim #2\p@&lt;\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi}
<a id='L2109' name='L2109'></a>\def\tabu@savewarn#1#2{\PackageInfo{tabu}
<a id='L2110' name='L2110'></a>    {User-name `#1' already used for \string\savetabu
<a id='L2111' name='L2111'></a>    \MessageBreak #2}}%
<a id='L2112' name='L2112'></a>\def\tabu@saveerr#1{\PackageError{tabu}
<a id='L2113' name='L2113'></a>    {User-name `#1' is unknown for \string\usetabu
<a id='L2114' name='L2114'></a>    \MessageBreak I cannot restore an unknown preamble!}\@ehd}
<a id='L2115' name='L2115'></a>%% \rowfont ---------------------------------------------------------
<a id='L2116' name='L2116'></a>\newskip \tabu@cellskip
<a id='L2117' name='L2117'></a>\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi
<a id='L2118' name='L2118'></a>                    {\ifnum0=`}\fi    \tabu@row@font}
<a id='L2119' name='L2119'></a>\newcommand*\tabu@row@font[2][]{%
<a id='L2120' name='L2120'></a>    \ifnum7=\currentgrouptype
<a id='L2121' name='L2121'></a>        \global\let\tabu@@cellleft    \tabu@cellleft
<a id='L2122' name='L2122'></a>        \global\let\tabu@@cellright   \tabu@cellright
<a id='L2123' name='L2123'></a>        \global\let\tabu@@celllalign  \tabu@celllalign
<a id='L2124' name='L2124'></a>        \global\let\tabu@@cellralign  \tabu@cellralign
<a id='L2125' name='L2125'></a>        \global\let\tabu@@rowfontreset\tabu@rowfontreset
<a id='L2126' name='L2126'></a>    \fi
<a id='L2127' name='L2127'></a>    \global\let\tabu@rowfontreset \tabu@rowfont@reset
<a id='L2128' name='L2128'></a>    \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}%
<a id='L2129' name='L2129'></a>    \ifcsname tabu@cell@#1\endcsname       % row alignment
<a id='L2130' name='L2130'></a>            \csname tabu@cell@#1\endcsname \fi
<a id='L2131' name='L2131'></a>    \ifnum0=`{\fi}% end of group / noalign group
<a id='L2132' name='L2132'></a>}% \rowfont
<a id='L2133' name='L2133'></a>\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}%
<a id='L2134' name='L2134'></a>\def\tabu@rowfont@reset{%
<a id='L2135' name='L2135'></a>    \global\let\tabu@rowfontreset \tabu@@rowfontreset
<a id='L2136' name='L2136'></a>    \global\let\tabu@cellleft     \tabu@@cellleft
<a id='L2137' name='L2137'></a>    \global\let\tabu@cellright    \tabu@@cellright
<a id='L2138' name='L2138'></a>    \global\let\tabu@cellfont     \@empty
<a id='L2139' name='L2139'></a>    \global\let\tabu@celllalign   \tabu@@celllalign
<a id='L2140' name='L2140'></a>    \global\let\tabu@cellralign   \tabu@@cellralign
<a id='L2141' name='L2141'></a>}% \tabu@@rowfontreset
<a id='L2142' name='L2142'></a>\let\tabu@rowfontreset \@empty     % overwritten \AtBeginDocument if colortbl
<a id='L2143' name='L2143'></a>%% \tabu@prepnext@tok -----------------------------------------------
<a id='L2144' name='L2144'></a>\newif \iftabu@cellright
<a id='L2145' name='L2145'></a>\def\tabu@prepnext@tok{%
<a id='L2146' name='L2146'></a>    \ifnum \count@&lt;\z@   % &lt;first initialisation&gt;
<a id='L2147' name='L2147'></a>            \@tempcnta  \@M   % &lt;not initialized by array.sty&gt;
<a id='L2148' name='L2148'></a>            \tabu@nbcols\z@
<a id='L2149' name='L2149'></a>            \let\tabu@fornoopORI \@fornoop
<a id='L2150' name='L2150'></a>            \tabu@cellrightfalse
<a id='L2151' name='L2151'></a>    \else
<a id='L2152' name='L2152'></a>        \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left
<a id='L2153' name='L2153'></a>                \advance \tabu@nbcols \@ne
<a id='L2154' name='L2154'></a>                \iftabu@cellright % before-previous token is right and is finished
<a id='L2155' name='L2155'></a>                    \tabu@cellrightfalse % &lt;only once&gt;
<a id='L2156' name='L2156'></a>                    \tabu@righttok
<a id='L2157' name='L2157'></a>                \fi
<a id='L2158' name='L2158'></a>                \tabu@lefttok
<a id='L2159' name='L2159'></a>        \or                     % (case 1) previous token is right
<a id='L2160' name='L2160'></a>                \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop
<a id='L2161' name='L2161'></a>        \else % special column: do not change the token
<a id='L2162' name='L2162'></a>                \iftabu@cellright    % before-previous token is right
<a id='L2163' name='L2163'></a>                    \tabu@cellrightfalse
<a id='L2164' name='L2164'></a>                    \tabu@righttok
<a id='L2165' name='L2165'></a>                \fi
<a id='L2166' name='L2166'></a>        \fi % \ifcase
<a id='L2167' name='L2167'></a>    \fi
<a id='L2168' name='L2168'></a>    \tabu@prepnext@tokORI
<a id='L2169' name='L2169'></a>}% \tabu@prepnext@tok
<a id='L2170' name='L2170'></a>\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@}
<a id='L2171' name='L2171'></a>\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{%
<a id='L2172' name='L2172'></a>    \ifx \in@#2\else
<a id='L2173' name='L2173'></a>        \let\@fornoop \tabu@fornoopORI
<a id='L2174' name='L2174'></a>        \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}%
<a id='L2175' name='L2175'></a>        \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}%
<a id='L2176' name='L2176'></a>        \expandafter\prepnext@tok
<a id='L2177' name='L2177'></a>    \fi
<a id='L2178' name='L2178'></a>}% \tabu@lastnoop
<a id='L2179' name='L2179'></a>\def\tabu@righttok{%
<a id='L2180' name='L2180'></a>    \advance \count@ \m@ne
<a id='L2181' name='L2181'></a>    \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}%
<a id='L2182' name='L2182'></a>    \advance \count@ \@ne
<a id='L2183' name='L2183'></a>}% \tabu@righttok
<a id='L2184' name='L2184'></a>\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign
<a id='L2185' name='L2185'></a>                                    \the\toks\count@ \tabu@cellleft}% after because of $
<a id='L2186' name='L2186'></a>}% \tabu@lefttok
<a id='L2187' name='L2187'></a>%% Neutralisation of glues ------------------------------------------
<a id='L2188' name='L2188'></a>\let\tabu@cellleft   \@empty
<a id='L2189' name='L2189'></a>\let\tabu@cellright  \@empty
<a id='L2190' name='L2190'></a>\tabu@celllalign@def{\tabu@cellleft}%
<a id='L2191' name='L2191'></a>\let\tabu@cellralign \@empty
<a id='L2192' name='L2192'></a>\def\tabu@cell@align #1#2#3{%
<a id='L2193' name='L2193'></a>    \let\tabu@maybesiunitx \toks@ \tabu@celllalign
<a id='L2194' name='L2194'></a>    \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}%
<a id='L2195' name='L2195'></a>    \toks@\expandafter{\tabu@cellralign #2}%
<a id='L2196' name='L2196'></a>    \xdef\tabu@cellralign{\the\toks@}%
<a id='L2197' name='L2197'></a>    \toks@\expandafter{\tabu@cellleft #3}%
<a id='L2198' name='L2198'></a>    \xdef\tabu@cellleft{\the\toks@}%
<a id='L2199' name='L2199'></a>}% \tabu@cell@align
<a id='L2200' name='L2200'></a>\def\tabu@cell@l{% force alignment to left
<a id='L2201' name='L2201'></a>   \tabu@cell@align
<a id='L2202' name='L2202'></a>      {\tabu@removehfil \raggedright \tabu@cellleft}% left
<a id='L2203' name='L2203'></a>      {\tabu@flush1\tabu@ignorehfil}%                 right
<a id='L2204' name='L2204'></a>      \raggedright
<a id='L2205' name='L2205'></a>}% \tabu@cell@l
<a id='L2206' name='L2206'></a>\def\tabu@cell@c{% force alignment to center
<a id='L2207' name='L2207'></a>   \tabu@cell@align
<a id='L2208' name='L2208'></a>      {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft}
<a id='L2209' name='L2209'></a>      {\tabu@flush{.5}\tabu@ignorehfil}
<a id='L2210' name='L2210'></a>      \centering
<a id='L2211' name='L2211'></a>}% \tabu@cell@c
<a id='L2212' name='L2212'></a>\def\tabu@cell@r{% force alignment to right
<a id='L2213' name='L2213'></a>   \tabu@cell@align
<a id='L2214' name='L2214'></a>      {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft}
<a id='L2215' name='L2215'></a>      \tabu@ignorehfil
<a id='L2216' name='L2216'></a>      \raggedleft
<a id='L2217' name='L2217'></a>}% \tabu@cell@r
<a id='L2218' name='L2218'></a>\def\tabu@cell@j{% force justification (for p, m, b columns)
<a id='L2219' name='L2219'></a>      \tabu@cell@align
<a id='L2220' name='L2220'></a>         {\tabu@justify\tabu@cellleft}
<a id='L2221' name='L2221'></a>         {}
<a id='L2222' name='L2222'></a>         \tabu@justify
<a id='L2223' name='L2223'></a>}% \tabu@cell@j
<a id='L2224' name='L2224'></a>\def\tabu@justify{%
<a id='L2225' name='L2225'></a>   \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip
<a id='L2226' name='L2226'></a>   \parfillskip\@flushglue
<a id='L2227' name='L2227'></a>}% \tabu@justify
<a id='L2228' name='L2228'></a>%% ragged2e settings
<a id='L2229' name='L2229'></a>\def\tabu@cell@L{% force alignment to left (ragged2e)
<a id='L2230' name='L2230'></a>   \tabu@cell@align
<a id='L2231' name='L2231'></a>      {\tabu@removehfil \RaggedRight \tabu@cellleft}
<a id='L2232' name='L2232'></a>      {\tabu@flush 1\tabu@ignorehfil}
<a id='L2233' name='L2233'></a>      \RaggedRight
<a id='L2234' name='L2234'></a>}% \tabu@cell@L
<a id='L2235' name='L2235'></a>\def\tabu@cell@C{% force alignment to center (ragged2e)
<a id='L2236' name='L2236'></a>   \tabu@cell@align
<a id='L2237' name='L2237'></a>      {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft}
<a id='L2238' name='L2238'></a>      {\tabu@flush{.5}\tabu@ignorehfil}
<a id='L2239' name='L2239'></a>      \Centering
<a id='L2240' name='L2240'></a>}% \tabu@cell@C
<a id='L2241' name='L2241'></a>\def\tabu@cell@R{% force alignment to right (ragged2e)
<a id='L2242' name='L2242'></a>   \tabu@cell@align
<a id='L2243' name='L2243'></a>      {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft}
<a id='L2244' name='L2244'></a>      \tabu@ignorehfil
<a id='L2245' name='L2245'></a>      \RaggedLeft
<a id='L2246' name='L2246'></a>}% \tabu@cell@R
<a id='L2247' name='L2247'></a>\def\tabu@cell@J{% force justification (ragged2e)
<a id='L2248' name='L2248'></a>   \tabu@cell@align
<a id='L2249' name='L2249'></a>      {\justifying \tabu@cellleft}
<a id='L2250' name='L2250'></a>      {}
<a id='L2251' name='L2251'></a>      \justifying
<a id='L2252' name='L2252'></a>}% \tabu@cell@J
<a id='L2253' name='L2253'></a>\def\tabu@flush#1{%
<a id='L2254' name='L2254'></a>    \iftabu@colortbl      % colortbl uses \hfill rather than \hfil
<a id='L2255' name='L2255'></a>        \hskip \ifnum13&lt;\currentgrouptype \stretch{#1}%
<a id='L2256' name='L2256'></a>        \else  \ifdim#1pt&lt;\p@ \tabu@cellskip
<a id='L2257' name='L2257'></a>        \else  \stretch{#1}
<a id='L2258' name='L2258'></a>        \fi\fi \relax
<a id='L2259' name='L2259'></a>    \else                % array.sty
<a id='L2260' name='L2260'></a>        \ifnum 13&lt;\currentgrouptype
<a id='L2261' name='L2261'></a>                \hfil \hskip1sp \relax  \fi
<a id='L2262' name='L2262'></a>    \fi
<a id='L2263' name='L2263'></a>}% \tabu@flush
<a id='L2264' name='L2264'></a>\let\tabu@hfil  \hfil
<a id='L2265' name='L2265'></a>\let\tabu@hfill \hfill
<a id='L2266' name='L2266'></a>\let\tabu@hskip \hskip
<a id='L2267' name='L2267'></a>\def\tabu@removehfil{%
<a id='L2268' name='L2268'></a>    \iftabu@colortbl
<a id='L2269' name='L2269'></a>        \unkern \tabu@cellskip =\lastskip
<a id='L2270' name='L2270'></a>        \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip
<a id='L2271' name='L2271'></a>        \else \tabu@cellskip \z@skip
<a id='L2272' name='L2272'></a>        \fi
<a id='L2273' name='L2273'></a>    \else
<a id='L2274' name='L2274'></a>        \ifdim\lastskip=1sp\unskip\fi
<a id='L2275' name='L2275'></a>        \ifnum\gluestretchorder\lastskip =\@ne
<a id='L2276' name='L2276'></a>            \hfilneg % \hfilneg for array.sty but not for colortbl...
<a id='L2277' name='L2277'></a>        \fi
<a id='L2278' name='L2278'></a>    \fi
<a id='L2279' name='L2279'></a>}% \tabu@removehfil
<a id='L2280' name='L2280'></a>\def\tabu@ignorehfil{\aftergroup \tabu@nohfil}
<a id='L2281' name='L2281'></a>\def\tabu@nohfil{% \hfil -&gt; do nothing + restore original \hfil
<a id='L2282' name='L2282'></a>   \def\hfil{\let\hfil \tabu@hfil}%   local to (alignment template) group
<a id='L2283' name='L2283'></a>}% \tabu@nohfil
<a id='L2284' name='L2284'></a>\def\tabu@colortblalignments {% if colortbl
<a id='L2285' name='L2285'></a>    \def\tabu@nohfil{%
<a id='L2286' name='L2286'></a>        \def\hfil  {\let\hfil \tabu@hfil}% local to (alignment template) group
<a id='L2287' name='L2287'></a>        \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff...
<a id='L2288' name='L2288'></a>        \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local
<a id='L2289' name='L2289'></a>}% \tabu@colortblalignments
<a id='L2290' name='L2290'></a>%% Taking care of footnotes and hyperfootnotes ----------------------
<a id='L2291' name='L2291'></a>\long\def\tabu@footnotetext #1{%
<a id='L2292' name='L2292'></a>   \edef\@tempa{\the\tabu@footnotes
<a id='L2293' name='L2293'></a>      \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}%
<a id='L2294' name='L2294'></a>   \global\tabu@footnotes\expandafter{\@tempa {#1}}}%
<a id='L2295' name='L2295'></a>\long\def\tabu@xfootnotetext [#1]#2{%
<a id='L2296' name='L2296'></a>   \global\tabu@footnotes\expandafter{\the\tabu@footnotes
<a id='L2297' name='L2297'></a>                               \footnotetext [{#1}]{#2}}}
<a id='L2298' name='L2298'></a>\let\tabu@xfootnote \@xfootnote
<a id='L2299' name='L2299'></a>\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }}
<a id='L2300' name='L2300'></a>\long\def\tabu@Hy@xfootnote [#1]{%
<a id='L2301' name='L2301'></a>   \begingroup
<a id='L2302' name='L2302'></a>      \value\@mpfn #1\relax
<a id='L2303' name='L2303'></a>      \protected@xdef \@thefnmark  {\thempfn}%
<a id='L2304' name='L2304'></a>   \endgroup
<a id='L2305' name='L2305'></a>   \@footnotemark \tabu@Hy@ftntxt {#1}%
<a id='L2306' name='L2306'></a>}% \tabu@Hy@xfootnote
<a id='L2307' name='L2307'></a>\long\def\tabu@Hy@ftntxt #1#2{%
<a id='L2308' name='L2308'></a>    \edef\@tempa{%
<a id='L2309' name='L2309'></a>        \the\tabu@footnotes
<a id='L2310' name='L2310'></a>        \begingroup
<a id='L2311' name='L2311'></a>            \value\@mpfn #1\relax
<a id='L2312' name='L2312'></a>            \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}%
<a id='L2313' name='L2313'></a>            \expandafter \noexpand \expandafter
<a id='L2314' name='L2314'></a>                \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}%
<a id='L2315' name='L2315'></a>    }%
<a id='L2316' name='L2316'></a>    \global\tabu@footnotes\expandafter{\@tempa {#2}%
<a id='L2317' name='L2317'></a>                                         \endgroup}%
<a id='L2318' name='L2318'></a>}% \tabu@Hy@ftntxt
<a id='L2319' name='L2319'></a>\long\def\tabu@Hy@footnotetext #1#2{%
<a id='L2320' name='L2320'></a>    \H@@footnotetext{%
<a id='L2321' name='L2321'></a>        \ifHy@nesting
<a id='L2322' name='L2322'></a>            \hyper@@anchor {#1}{#2}%
<a id='L2323' name='L2323'></a>        \else
<a id='L2324' name='L2324'></a>            \Hy@raisedlink{%
<a id='L2325' name='L2325'></a>                \hyper@@anchor {#1}{\relax}%
<a id='L2326' name='L2326'></a>            }%
<a id='L2327' name='L2327'></a>            \def\@currentHref {#1}%
<a id='L2328' name='L2328'></a>            \let\@currentlabelname \@empty
<a id='L2329' name='L2329'></a>            #2%
<a id='L2330' name='L2330'></a>        \fi
<a id='L2331' name='L2331'></a>    }%
<a id='L2332' name='L2332'></a>}% \tabu@Hy@footnotetext
<a id='L2333' name='L2333'></a>%% No need for \arraybackslash ! ------------------------------------
<a id='L2334' name='L2334'></a>\def\tabu@latextwoe {%
<a id='L2335' name='L2335'></a>\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
<a id='L2336' name='L2336'></a>\tabu@temp \tabu@centering   \centering   \arraybackslash
<a id='L2337' name='L2337'></a>\tabu@temp \tabu@raggedleft  \raggedleft  \arraybackslash
<a id='L2338' name='L2338'></a>\tabu@temp \tabu@raggedright \raggedright \arraybackslash
<a id='L2339' name='L2339'></a>}% \tabu@latextwoe
<a id='L2340' name='L2340'></a>\def\tabu@raggedtwoe {%
<a id='L2341' name='L2341'></a>\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
<a id='L2342' name='L2342'></a>\tabu@temp \tabu@Centering   \Centering   \arraybackslash
<a id='L2343' name='L2343'></a>\tabu@temp \tabu@RaggedLeft  \RaggedLeft  \arraybackslash
<a id='L2344' name='L2344'></a>\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash
<a id='L2345' name='L2345'></a>\tabu@temp \tabu@justifying  \justifying  \arraybackslash
<a id='L2346' name='L2346'></a>}% \tabu@raggedtwoe
<a id='L2347' name='L2347'></a>\def\tabu@normalcrbackslash{\let\\\@normalcr}
<a id='L2348' name='L2348'></a>\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{%
<a id='L2349' name='L2349'></a>                       \expandafter\tabu@normalcrbackslash \@trivlist}}
<a id='L2350' name='L2350'></a>%% Utilities: \fbox  \fcolorbox  and \tabudecimal -------------------
<a id='L2351' name='L2351'></a>\def\tabu@fbox      {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox}
<a id='L2352' name='L2352'></a>\def\tabu@beginfbox {\bgroup \kern\fboxsep
<a id='L2353' name='L2353'></a>                     \bgroup\aftergroup\tabu@endfbox}
<a id='L2354' name='L2354'></a>\def\tabu@endfbox   {\kern\fboxsep\egroup\egroup
<a id='L2355' name='L2355'></a>                     \@frameb@x\relax}
<a id='L2356' name='L2356'></a>\def\tabu@color@b@x #1#2{\leavevmode \bgroup
<a id='L2357' name='L2357'></a>    \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}%
<a id='L2358' name='L2358'></a>    \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox
<a id='L2359' name='L2359'></a>}% \tabu@color@b@x
<a id='L2360' name='L2360'></a>\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup
<a id='L2361' name='L2361'></a>       \aftergroup\tabu@endcolor@b@x \set@color}
<a id='L2362' name='L2362'></a>\def\tabu@endcolor@b@x {\kern\fboxsep \egroup
<a id='L2363' name='L2363'></a>    \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@
<a id='L2364' name='L2364'></a>    \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@
<a id='L2365' name='L2365'></a>    \tabu@docolor@b@x \egroup
<a id='L2366' name='L2366'></a>}% \tabu@endcolor@b@x
<a id='L2367' name='L2367'></a>%% Corrections (arydshln, delarray, colortbl) -----------------------
<a id='L2368' name='L2368'></a>\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray
<a id='L2369' name='L2369'></a>    \iftabu@colortbl
<a id='L2370' name='L2370'></a>        \ifdefined\adl@array  % &lt;colortbl + arydshln&gt;
<a id='L2371' name='L2371'></a>        \def\tabu@endarray{%
<a id='L2372' name='L2372'></a>            \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %&lt;original&gt;
<a id='L2373' name='L2373'></a>            \@arrayright      % &lt;FC&gt;
<a id='L2374' name='L2374'></a>            \gdef\@preamble{}}% &lt;FC&gt;
<a id='L2375' name='L2375'></a>        \else                 % &lt;colortbl / no arydshln&gt;
<a id='L2376' name='L2376'></a>        \def\tabu@endarray{%
<a id='L2377' name='L2377'></a>            \crcr \egroup \egroup    %&lt;original&gt;
<a id='L2378' name='L2378'></a>            \@arrayright             % &lt;FC&gt;
<a id='L2379' name='L2379'></a>            \gdef\@preamble{}\CT@end}%
<a id='L2380' name='L2380'></a>        \fi
<a id='L2381' name='L2381'></a>    \else
<a id='L2382' name='L2382'></a>        \ifdefined\adl@array  % &lt;arydshln / no colortbl&gt;
<a id='L2383' name='L2383'></a>        \def\tabu@endarray{%
<a id='L2384' name='L2384'></a>            \adl@endarray \egroup \adl@arrayrestore \egroup %&lt;original&gt;
<a id='L2385' name='L2385'></a>            \@arrayright      % &lt;FC&gt;
<a id='L2386' name='L2386'></a>            \gdef\@preamble{}}% &lt;FC&gt;
<a id='L2387' name='L2387'></a>    \else                   % &lt;no arydshln / no colotbl + \@arrayright missing&gt;
<a id='L2388' name='L2388'></a>        \PackageWarning{tabu}
<a id='L2389' name='L2389'></a>        {\string\@arrayright\space is missing from the
<a id='L2390' name='L2390'></a>        \MessageBreak definition of \string\endarray.
<a id='L2391' name='L2391'></a>        \MessageBreak Compatibility with delarray.sty is broken.}%
<a id='L2392' name='L2392'></a>    \fi\fi
<a id='L2393' name='L2393'></a>}% \tabu@fix@arrayright
<a id='L2394' name='L2394'></a>\def\tabu@adl@xarraydashrule #1#2#3{%
<a id='L2395' name='L2395'></a>     \ifnum\@lastchclass=\adl@class@start\else
<a id='L2396' name='L2396'></a>     \ifnum\@lastchclass=\@ne\else
<a id='L2397' name='L2397'></a>     \ifnum\@lastchclass=5 \else % &lt;FC&gt; @-arg (class 5) and !-arg (class 1)
<a id='L2398' name='L2398'></a>             \adl@leftrulefalse \fi\fi           % must be treated the same
<a id='L2399' name='L2399'></a>     \fi
<a id='L2400' name='L2400'></a>     \ifadl@zwvrule\else \ifadl@inactive\else
<a id='L2401' name='L2401'></a>             \@addtopreamble{\vrule\@width\arrayrulewidth
<a id='L2402' name='L2402'></a>                     \@height\z@ \@depth\z@}\fi \fi
<a id='L2403' name='L2403'></a>     \ifadl@leftrule
<a id='L2404' name='L2404'></a>             \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}%
<a id='L2405' name='L2405'></a>                     {\number#1}#3}%
<a id='L2406' name='L2406'></a>     \else   \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}%
<a id='L2407' name='L2407'></a>                     {\number#2}#3}
<a id='L2408' name='L2408'></a>     \fi
<a id='L2409' name='L2409'></a>}% \tabu@adl@xarraydashrule
<a id='L2410' name='L2410'></a>\def\tabu@adl@act@endpbox {%
<a id='L2411' name='L2411'></a>    \unskip \ifhmode \nobreak \fi    \@finalstrut \@arstrutbox
<a id='L2412' name='L2412'></a>    \egroup \egroup
<a id='L2413' name='L2413'></a>    \adl@colhtdp \box\adl@box \hfil
<a id='L2414' name='L2414'></a>}% \tabu@adl@act@endpbox
<a id='L2415' name='L2415'></a>\def\tabu@adl@fix {%
<a id='L2416' name='L2416'></a>    \let\adl@xarraydashrule \tabu@adl@xarraydashrule % &lt;fix&gt; arydshln
<a id='L2417' name='L2417'></a>    \let\adl@act@endpbox    \tabu@adl@act@endpbox    % &lt;fix&gt; arydshln
<a id='L2418' name='L2418'></a>    \let\adl@act@@endpbox   \tabu@adl@act@endpbox    % &lt;fix&gt; arydshln
<a id='L2419' name='L2419'></a>    \let\@preamerror        \@preamerr               % &lt;fix&gt; arydshln
<a id='L2420' name='L2420'></a>}% \tabu@adl@fix
<a id='L2421' name='L2421'></a>%% Correction for longtable' \@startbox definition ------------------
<a id='L2422' name='L2422'></a>%%    =&gt; \everypar is ``missing'' : TeX should be in vertical mode
<a id='L2423' name='L2423'></a>\def\tabu@LT@startpbox #1{%
<a id='L2424' name='L2424'></a>    \bgroup
<a id='L2425' name='L2425'></a>        \let\@footnotetext\LT@p@ftntext
<a id='L2426' name='L2426'></a>        \setlength\hsize{#1}%
<a id='L2427' name='L2427'></a>        \@arrayparboxrestore
<a id='L2428' name='L2428'></a>        \everypar{%
<a id='L2429' name='L2429'></a>            \vrule \@height \ht\@arstrutbox \@width \z@
<a id='L2430' name='L2430'></a>            \everypar{}}%
<a id='L2431' name='L2431'></a>}% \tabu@LT@startpbox
<a id='L2432' name='L2432'></a>%% \tracingtabu  and  the package options ------------------
<a id='L2433' name='L2433'></a>\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}}
<a id='L2434' name='L2434'></a>\DeclareOption{linegoal}{%
<a id='L2435' name='L2435'></a>   \AtEndOfPackage{%
<a id='L2436' name='L2436'></a>      \RequirePackage{linegoal}[2010/12/07]%
<a id='L2437' name='L2437'></a>      \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX
<a id='L2438' name='L2438'></a>}}
<a id='L2439' name='L2439'></a>\DeclareOption{scantokens}{\tabuscantokenstrue}
<a id='L2440' name='L2440'></a>\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}}
<a id='L2441' name='L2441'></a>\def\tracingtabu {\begingroup\@ifnextchar=%
<a id='L2442' name='L2442'></a>    {\afterassignment\tabu@tracing\count@}
<a id='L2443' name='L2443'></a>    {\afterassignment\tabu@tracing\count@1\relax}}
<a id='L2444' name='L2444'></a>\def\tabu@tracing{\expandafter\endgroup
<a id='L2445' name='L2445'></a>    \expandafter\tabu@tr@cing \the\count@ \relax
<a id='L2446' name='L2446'></a>}% \tabu@tracing
<a id='L2447' name='L2447'></a>\def\tabu@tr@cing #1\relax {%
<a id='L2448' name='L2448'></a>    \ifnum#1&gt;\thr@@ \let\tabu@tracinglines\message
<a id='L2449' name='L2449'></a>    \else           \let\tabu@tracinglines\@gobble
<a id='L2450' name='L2450'></a>    \fi
<a id='L2451' name='L2451'></a>    \ifnum#1&gt;\tw@   \let\tabu@DBG        \tabu@@DBG
<a id='L2452' name='L2452'></a>                    \def\tabu@mkarstrut {\tabu@DBG@arstrut}%
<a id='L2453' name='L2453'></a>                    \tabustrutrule      1.5\p@
<a id='L2454' name='L2454'></a>    \else           \let\tabu@DBG        \@gobble
<a id='L2455' name='L2455'></a>                    \def\tabu@mkarstrut {\tabu@arstrut}%
<a id='L2456' name='L2456'></a>                    \tabustrutrule      \z@
<a id='L2457' name='L2457'></a>    \fi
<a id='L2458' name='L2458'></a>    \ifnum#1&gt;\@ne   \let\tabu@debug      \message
<a id='L2459' name='L2459'></a>    \else           \let\tabu@debug      \@gobble
<a id='L2460' name='L2460'></a>    \fi
<a id='L2461' name='L2461'></a>    \ifnum#1&gt;\z@
<a id='L2462' name='L2462'></a>        \let\tabu@message             \message
<a id='L2463' name='L2463'></a>        \let\tabu@tracing@save        \tabu@message@save
<a id='L2464' name='L2464'></a>        \let\tabu@starttimer          \tabu@pdftimer
<a id='L2465' name='L2465'></a>    \else
<a id='L2466' name='L2466'></a>        \let\tabu@message             \@gobble
<a id='L2467' name='L2467'></a>        \let\tabu@tracing@save        \@gobble
<a id='L2468' name='L2468'></a>        \let\tabu@starttimer          \relax
<a id='L2469' name='L2469'></a>    \fi
<a id='L2470' name='L2470'></a>}% \tabu@tr@cing
<a id='L2471' name='L2471'></a>%% Setup \AtBeginDocument
<a id='L2472' name='L2472'></a>\AtBeginDocument{\tabu@AtBeginDocument}
<a id='L2473' name='L2473'></a>\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined
<a id='L2474' name='L2474'></a>    \ifdefined\arrayrulecolor   \tabu@colortbltrue       % &lt;colortbl&gt;
<a id='L2475' name='L2475'></a>                                \tabu@colortblalignments % different glues are used
<a id='L2476' name='L2476'></a>    \else                       \tabu@colortblfalse \fi
<a id='L2477' name='L2477'></a>    \ifdefined\CT@arc@ \else \let\CT@arc@  \relax \fi
<a id='L2478' name='L2478'></a>    \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi
<a id='L2479' name='L2479'></a>    \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@
<a id='L2480' name='L2480'></a>    \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname   % &lt;siunitx: ok&gt;
<a id='L2481' name='L2481'></a>            \expandafter\ifx
<a id='L2482' name='L2482'></a>                \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax
<a id='L2483' name='L2483'></a>            \tabu@siunitxtrue
<a id='L2484' name='L2484'></a>    \else   \let\tabu@maybesiunitx   \@firstofone                % &lt;not siunitx: setup&gt;
<a id='L2485' name='L2485'></a>            \let\tabu@siunitx        \tabu@nosiunitx
<a id='L2486' name='L2486'></a>            \tabu@siunitxfalse
<a id='L2487' name='L2487'></a>    \fi
<a id='L2488' name='L2488'></a>    \ifdefined\adl@array        % &lt;arydshln&gt;
<a id='L2489' name='L2489'></a>    \else     \let\tabu@adl@fix \relax
<a id='L2490' name='L2490'></a>              \let\tabu@adl@endtrial \@empty \fi
<a id='L2491' name='L2491'></a>    \ifdefined\longtable        % &lt;longtable&gt;
<a id='L2492' name='L2492'></a>    \else     \let\longtabu \tabu@nolongtabu \fi
<a id='L2493' name='L2493'></a>    \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi
<a id='L2494' name='L2494'></a>    \csname\ifcsname ifHy@hyperfootnotes\endcsname % &lt;hyperfootnotes&gt;
<a id='L2495' name='L2495'></a>            ifHy@hyperfootnotes\else iffalse\fi\endcsname
<a id='L2496' name='L2496'></a>        \let\tabu@footnotetext \tabu@Hy@ftntext
<a id='L2497' name='L2497'></a>        \let\tabu@xfootnote    \tabu@Hy@xfootnote \fi
<a id='L2498' name='L2498'></a>    \ifdefined\FV@DefineCheckEnd% &lt;fancyvrb&gt;
<a id='L2499' name='L2499'></a>            \tabu@fancyvrb  \fi
<a id='L2500' name='L2500'></a>    \ifdefined\color            % &lt;color / xcolor&gt;
<a id='L2501' name='L2501'></a>        \let\tabu@color \color
<a id='L2502' name='L2502'></a>        \def\tabu@leavevmodecolor ##1{%
<a id='L2503' name='L2503'></a>            \def\tabu@leavevmodecolor {\leavevmode ##1}%
<a id='L2504' name='L2504'></a>        }\expandafter\tabu@leavevmodecolor\expandafter{\color}%
<a id='L2505' name='L2505'></a>    \else
<a id='L2506' name='L2506'></a>        \let\tabu@color           \tabu@nocolor
<a id='L2507' name='L2507'></a>        \let\tabu@leavevmodecolor \@firstofone \fi
<a id='L2508' name='L2508'></a>    \tabu@latextwoe
<a id='L2509' name='L2509'></a>    \ifdefined\@raggedtwoe@everyselectfont    % &lt;ragged2e&gt;
<a id='L2510' name='L2510'></a>        \tabu@raggedtwoe
<a id='L2511' name='L2511'></a>    \else
<a id='L2512' name='L2512'></a>        \let\tabu@cell@L \tabu@cell@l
<a id='L2513' name='L2513'></a>        \let\tabu@cell@R \tabu@cell@r
<a id='L2514' name='L2514'></a>        \let\tabu@cell@C \tabu@cell@c
<a id='L2515' name='L2515'></a>        \let\tabu@cell@J \tabu@cell@j   \fi
<a id='L2516' name='L2516'></a>    \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}%
<a id='L2517' name='L2517'></a>    \ifin@ \let\tabu@endarray \endarray
<a id='L2518' name='L2518'></a>    \else  \tabu@fix@arrayright \fi% &lt;fix for colortbl &amp; arydshln (delarray)&gt;
<a id='L2519' name='L2519'></a>    \everyrow{}%
<a id='L2520' name='L2520'></a>}% \tabu@AtBeginDocument
<a id='L2521' name='L2521'></a>\def\tabu@warn@cellspace{%
<a id='L2522' name='L2522'></a>    \PackageWarning{tabu}{%
<a id='L2523' name='L2523'></a>                  Package cellspace has some limitations
<a id='L2524' name='L2524'></a>    \MessageBreak And redefines some macros of array.sty.
<a id='L2525' name='L2525'></a>    \MessageBreak Please use \string\tabulinesep\space to control
<a id='L2526' name='L2526'></a>    \MessageBreak vertical spacing of lines inside tabu environment}%
<a id='L2527' name='L2527'></a>}% \tabu@warn@cellspace
<a id='L2528' name='L2528'></a>%% tabu Package initialisation
<a id='L2529' name='L2529'></a>\tabuscantokensfalse
<a id='L2530' name='L2530'></a>\let\tabu@arc@G         \relax
<a id='L2531' name='L2531'></a>\let\tabu@drsc@G        \relax
<a id='L2532' name='L2532'></a>\let\tabu@evr@G         \@empty
<a id='L2533' name='L2533'></a>\let\tabu@rc@G          \@empty
<a id='L2534' name='L2534'></a>\def\tabu@ls@G          {\tabu@linestyle@}%
<a id='L2535' name='L2535'></a>\let\tabu@@rowfontreset \@empty % &lt;init&gt;
<a id='L2536' name='L2536'></a>\let\tabu@@celllalign   \@empty
<a id='L2537' name='L2537'></a>\let\tabu@@cellralign   \@empty
<a id='L2538' name='L2538'></a>\let\tabu@@cellleft     \@empty
<a id='L2539' name='L2539'></a>\let\tabu@@cellright    \@empty
<a id='L2540' name='L2540'></a>\def\tabu@naturalXmin   {\z@}
<a id='L2541' name='L2541'></a>\def\tabu@naturalXmax   {\z@}
<a id='L2542' name='L2542'></a>\let\tabu@rowfontreset  \@empty
<a id='L2543' name='L2543'></a>\def\tabulineon {4pt}\let\tabulineoff \tabulineon
<a id='L2544' name='L2544'></a>\tabu@everyrowtrue
<a id='L2545' name='L2545'></a>\ifdefined\pdfelapsedtime                   % &lt;pdfTeX&gt;
<a id='L2546' name='L2546'></a>        \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}%
<a id='L2547' name='L2547'></a>\else   \let\tabu@pdftimer \relax \let\tabu@message@etime \relax
<a id='L2548' name='L2548'></a>\fi
<a id='L2549' name='L2549'></a>\tracingtabu=\z@
<a id='L2550' name='L2550'></a>\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@
<a id='L2551' name='L2551'></a>\tabulinestyle{}
<a id='L2552' name='L2552'></a>\taburowcolors{}
<a id='L2553' name='L2553'></a>\let\tabudefaulttarget  \linewidth
<a id='L2554' name='L2554'></a>\ProcessOptions*                % \ProcessOptions* is quicker !
<a id='L2555' name='L2555'></a>\endinput
<a id='L2556' name='L2556'></a>%%
<a id='L2557' name='L2557'></a>%% End of file `tabu.sty'.
</pre>
<hr />
<a id='BOTTOM' name='BOTTOM'></a>
<em class='comment'>/* [&lt;][&gt;][^][v]<a href='#TOP'>[top]</a>[bottom]<a href='../mains.html'>[index]</a><a href='../help.html'>[help]</a> */</em>
</body>
</html>

/* [<][>][^][v][top][bottom][index][help] */