summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tabu
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-11-25 01:41:09 +0000
committerKarl Berry <karl@freefriends.org>2010-11-25 01:41:09 +0000
commit758bc16c67cd2f74d2101fab34d81b1ccffd8a26 (patch)
treeef299e485bc7f764bc1d617f58f61abd25eb8eab /Master/texmf-dist/source/latex/tabu
parent70be14e9ec1c5bc101114cdd33ea23c8ec080f84 (diff)
tabu (24nov10)
git-svn-id: svn://tug.org/texlive/trunk@20554 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tabu')
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.drv16
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.dtx220
-rw-r--r--Master/texmf-dist/source/latex/tabu/tabu.ins6
3 files changed, 175 insertions, 67 deletions
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.drv b/Master/texmf-dist/source/latex/tabu/tabu.drv
index 2b23f068a87..7ba3a4e3baa 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.drv
+++ b/Master/texmf-dist/source/latex/tabu/tabu.drv
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% tabu : 2010/11/18 v1.3 - tabu : Flexible LaTeX tabulars
+%% tabu : 2010/11/22 v1.4 - tabu : Flexible LaTeX tabulars
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -25,8 +25,8 @@
%%
\edef\thisfile{\jobname}
\def\thisinfo{Flexible \LaTeX{} tabulars (\FC)}
-\def\thisdate{2010/11/18}
-\def\thisversion{1.3}
+\def\thisdate{2010/11/22}
+\def\thisversion{1.4}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/macros/latex}
\def\CTANdisplay{CTAN:macros/latex}
\makeatletter\protected\def\CTANhref{\@ifstar\CTANhrefstar\CTANhrefnost}\makeatother
@@ -35,6 +35,7 @@
\let\loadclass\LoadClass
\def\LoadClass#1{\loadclass[abstracton]{scrartcl}\let\scrmaketitle\maketitle\AtEndOfClass{\let\maketitle\scrmaketitle}}
\PassOptionsToPackage{svgnames}{xcolor}
+\PassOptionsToPackage{hyperfootnotes}{hyperref}
\documentclass[a4paper,oneside]{ltxdoc}
\AtBeginDocument{\DeleteShortVerb{\|}}
\usepackage[latin1]{inputenc}
@@ -42,10 +43,11 @@
\usepackage{etoolbox,geometry,graphicx,xcolor,lastpage,lmodern,bbding,hologo,relsize,moresize,manfnt,xspace,numprint}
\usepackage[official]{eurosym}
\usepackage[expansion=all,stretch=20,shrink=60]{microtype}
-\usepackage{tocloft,titlesec,hypbmsec,fancyhdr,enumitem,multirow,makecell,tabularx,booktabs,delarray,ragged2e,colortbl,marginnote,shapepar}
+\usepackage{tocloft,titlesec,hypbmsec,fancyhdr,enumitem,multirow,makecell,booktabs,delarray,ragged2e,colortbl,marginnote,shapepar}
\heavyrulewidth=.7pt
\usepackage{holtxdoc,bookmark}
-\usepackage{interfaces}[2010/11/15]
+\usepackage{tabularx}
+\usepackage{interfaces}[2010/11/26]
\usetikz{basic,chains,positioning}
\usepackage{embedfile}
\RequirePackage{amsopn,amsmath}% \DeclareMathOperator
@@ -58,7 +60,7 @@
\csname endofdump\endcsname
\CodelineNumbered
\usepackage{fancyvrb}\fvset{gobble=1,listparameters={\topsep=0pt}}
-\usepackage[linegoal,debugshow]{tabu}
+\usepackage[linegoal]{tabu}\tracingtabu\tracingtabularx
\lastlinefit999
\geometry{top=0pt,includeheadfoot,headheight=.6cm,headsep=.6cm,bottom=.6cm,footskip=.5cm,left=4cm,right=1.5cm}
\hypersetup{%
@@ -66,7 +68,7 @@
pdfsubject={a simple line parser for TeX},
pdfauthor={Florent CHERVET},
colorlinks,linkcolor=reflink,
- pdfstartview={FitH},%pdfpagemode=UseOutLines,
+ pdfstartview=FitH,pdfpagemode=UseOutLines,
pdfkeywords={tex, e-tex, latex, package, tabular, array, halign, tabularx, longtable, color, colortbl, alignment},
}
\embedfile{\thisfile.dtx}
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.dtx b/Master/texmf-dist/source/latex/tabu/tabu.dtx
index 8293de6dd76..804d8a60e75 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.dtx
+++ b/Master/texmf-dist/source/latex/tabu/tabu.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% tabu : 2010/11/18 v1.3 - tabu: flexible LaTeX tabulars]
+% tabu : 2010/11/22 v1.4 - tabu: flexible LaTeX tabulars]
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -36,7 +36,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2010/11/18 v1.3 - tabu: Flexible LaTeX tabulars}
+\Msg{* Package: 2010/11/22 v1.4 - tabu: Flexible LaTeX tabulars}
\Msg{************************************************************************}
\keepsilent
@@ -47,7 +47,7 @@
This is a generated file.
-tabu : 2010/11/18 v1.3 - tabu : Flexible LaTeX tabulars
+tabu : 2010/11/22 v1.4 - tabu : Flexible LaTeX tabulars
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -98,8 +98,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%<*driver>
\edef\thisfile{\jobname}
\def\thisinfo{Flexible \LaTeX{} tabulars (\FC)}
-\def\thisdate{2010/11/18}
-\def\thisversion{1.3}
+\def\thisdate{2010/11/22}
+\def\thisversion{1.4}
\def\CTANbaseurl{http://www.ctan.org/tex-archive/macros/latex}
\def\CTANdisplay{CTAN:macros/latex}
\makeatletter\protected\def\CTANhref{\@ifstar\CTANhrefstar\CTANhrefnost}\makeatother
@@ -108,6 +108,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\let\loadclass\LoadClass
\def\LoadClass#1{\loadclass[abstracton]{scrartcl}\let\scrmaketitle\maketitle\AtEndOfClass{\let\maketitle\scrmaketitle}}
\PassOptionsToPackage{svgnames}{xcolor}
+\PassOptionsToPackage{hyperfootnotes}{hyperref}
\documentclass[a4paper,oneside]{ltxdoc}
\AtBeginDocument{\DeleteShortVerb{\|}}
\usepackage[latin1]{inputenc}
@@ -115,10 +116,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\usepackage{etoolbox,geometry,graphicx,xcolor,lastpage,lmodern,bbding,hologo,relsize,moresize,manfnt,xspace,numprint}
\usepackage[official]{eurosym}
\usepackage[expansion=all,stretch=20,shrink=60]{microtype}
-\usepackage{tocloft,titlesec,hypbmsec,fancyhdr,enumitem,multirow,makecell,tabularx,booktabs,delarray,ragged2e,colortbl,marginnote,shapepar}
+\usepackage{tocloft,titlesec,hypbmsec,fancyhdr,enumitem,multirow,makecell,booktabs,delarray,ragged2e,colortbl,marginnote,shapepar}
\heavyrulewidth=.7pt
\usepackage{holtxdoc,bookmark}
-\usepackage{interfaces}[2010/11/15]
+\usepackage{tabularx}
+\usepackage{interfaces}[2010/11/26]
\usetikz{basic,chains,positioning}
\usepackage{embedfile}
\RequirePackage{amsopn,amsmath}% \DeclareMathOperator
@@ -131,7 +133,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\csname endofdump\endcsname
\CodelineNumbered
\usepackage{fancyvrb}\fvset{gobble=1,listparameters={\topsep=0pt}}
-\usepackage[linegoal,debugshow]{tabu}
+\usepackage[linegoal]{tabu}\tracingtabu\tracingtabularx
\lastlinefit999
\geometry{top=0pt,includeheadfoot,headheight=.6cm,headsep=.6cm,bottom=.6cm,footskip=.5cm,left=4cm,right=1.5cm}
\hypersetup{%
@@ -139,7 +141,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
pdfsubject={a simple line parser for TeX},
pdfauthor={Florent CHERVET},
colorlinks,linkcolor=reflink,
- pdfstartview={FitH},%pdfpagemode=UseOutLines,
+ pdfstartview=FitH,pdfpagemode=UseOutLines,
pdfkeywords={tex, e-tex, latex, package, tabular, array, halign, tabularx, longtable, color, colortbl, alignment},
}
\embedfile{\thisfile.dtx}
@@ -149,7 +151,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%</driver>
% \fi
%
-% \CheckSum{3520}
+% \CheckSum{3666}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -212,13 +214,12 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \newrobustcmd*\macrocodecolor{\color{macrocode}}\definecolor{macrocode}{rgb}{0.05,0.02,0.07}
% \def\macro@font{\changefont{fam=lmtt,size-=1pt,color=macrocode,spread=1}\let\AltMacroFont\macro@font}
% \def\MacroFont{\changefont{fam=lmtt,color=macrocode}}
-% \g@addto@macro\@list@extra{\parsep\parskip\topsep\z@\itemsep\z@}
% \def\texorpdf#1#2{\texorpdfstring{#1{#2}}{#2}}
% \def\textitbf#1{\textbf{\itshape#1}}\let\textbfit\textitbf
-% \DefineVerbatimEnvironment{VerbLines}{Verbatim}{gobble=1,frame=lines,framesep=6pt,fontfamily=\ttdefault,fontseries=m}
-% \DefineVerbatimEnvironment{VerbLines*}{Verbatim}{gobble=1,frame=lines,framesep=6pt,fontfamily=\ttdefault,fontseries=m,commandchars=$()}
-% \DefineVerbatimEnvironment{Verb}{Verbatim}{gobble=1,fontfamily=\ttdefault,fontseries=m}
-% \DefineVerbatimEnvironment{Verb*}{Verbatim}{gobble=1,fontfamily=\ttdefault,fontseries=m,commandchars=$()}
+% \DefineVerbatimEnvironment{VerbLines}{Verbatim}{frame=lines,framesep=6pt,fontfamily=\ttdefault,fontseries=m}
+% \DefineVerbatimEnvironment{VerbLines*}{Verbatim}{frame=lines,framesep=6pt,fontfamily=\ttdefault,fontseries=m,commandchars=$()}
+% \DefineVerbatimEnvironment{Verb}{Verbatim}{fontfamily=\ttdefault,fontseries=m}
+% \DefineVerbatimEnvironment{Verb*}{Verbatim}{fontfamily=\ttdefault,fontseries=m,commandchars=$()}
% \def\smex{\leavevmode\hb@xt@2em{\hfil$\longrightarrow$\hfil}}
% \def\ttdefault{lmvtt}
% \renewrobustcmd\#[1]{{\usefont{T1}{pcr}{bx}{n}\char`\##1}}
@@ -340,8 +341,9 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \definecolor{reflink}{rgb}{0.95,0.00,0.05}
% \definecolor{reflink}{rgb}{0.05,0.00,0.95}
-% \newrobustcmd\stform{\@ifnextchar*{\@stform[]\textasteriskcentered\@gobble}\@stform}
-% \newrobustcmd\@stform[2][\string]{\textttbf{#1#2}\xspace}
+% \newrobustcmd*\stform{\ifincsname\else\expandafter\@stform\fi}
+% \newrobustcmd*\@stform{\@ifnextchar*{\@@stform[]\textasteriskcentered\@gobble}\@@stform}
+% \newrobustcmd*\@@stform[2][\string]{\textttbf{#1#2}\ifnum\catcode`\ =\active\else\expandafter\xspace\fi}
%
% \makeatother
%
@@ -431,7 +433,9 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% is parsed by the macros in \xfile{array.sty} with no modification in the characters classes.
% \textt{tabu} improves \textt{tabular} and \textt{array}:
% \begin{itemize}
-% \item footnotes and index words are allowed inside \textt{tabu}
+% \item footnotes and index words are allowed inside \textt{tabu}, unlike \xpackage{tabularx}, footnote links
+% are not broken when compiled with \xpackage{hyperref}. The syntax \cs{footnote}\M[number]\M{text}
+% is allowed (this is not implemented for \xpackage{longtable} yet...)
% \item \textt X columns are also allowed, with an \emph{optional} parameter for the width-coefficient,
% the alignment (\textt{l,r,c} or \textt{L,R,C} for \xpackage{ragged2e} settings) and the column
% type (\textt{p,m,b}). \textt{tabu} has also a \emph{default target width} when used
@@ -576,8 +580,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% His pipe-smoking, deer stalkered image peers at us from ads in Yellow Pages,
% to signs for neighbourhood crime-watch; from billboards to the classroom;
% from film and television to the public library, and now over the Internet.
-% He long ago transcended the boundaries of 19th Century London to become
-% an international best-seller and has been accepted as part
+% He long ago transcended the boundaries of 19th Century London\footnote{Capital of the U.K. (too see a linked footnote)}
+% to become an international best-seller and has been accepted as part
% of British folklore. Holmes is alive to millions."
% &
% There the text was too long, and \textt{tabu spread} behaves as if you didn't give it a target.\par
@@ -603,7 +607,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \multicolumn2{|c|}{Hello} & World \\ \tabucline-
% \end{tabu}
% \end{Verb*}
-%
+%
% \begin{tabu}{|X|X|X[2]|} \tabucline-
% \multicolumn2{|c|}{Hello} & World \\ \tabucline-
% \end{tabu}
@@ -617,7 +621,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \tabuphantomline
% \end{tabu}
% \end{Verb*}
-%
+%
% \begin{tabu}{|X|X|X[2]|} \tabucline-
% \multicolumn2{|c|}{Hello} & World \\ \tabucline-
% \tabuphantomline
@@ -627,7 +631,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% Even if it is possible to add a \cs{tabuphantomline} in any line of the \textt{tabu}, it is a good practice
% to append it \emph{at the end} of the \textt{tabu}, for it may introduce indesirable side effects on vertical alignment
% otherwise, when \textt{tabu} is nested inside another tabular.
-%
+%
%
% \subsubsection{Nesting \textt{tabu}{\texorpdf\small s} with \textt X columns}
%
@@ -721,7 +725,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% stops at column 2. \\ \tabucline[1pt on 1.5pt off 2pt]{1-4} \margintext{[1pt on 1.5pt off 2pt]}
% \cs{tabucline}\M*[1.5pt]\M*{-} & draws a horizontal solid line of width \textt{1.5pt} between the first
% and the last column. \\ \tabucline[1.5pt]{-} \margintext{[1.5pt]}
-% \cs{tabucline}\M*{2-} & draws a horizontal solid line of width \cs{arrayrulewidth} between the second
+% \cs{tabucline}\M*{2-} & \spaceskip=\fontdimen2\font plus1em\relax draws a horizontal solid line of width \cs{arrayrulewidth} between the second
% column and the last one.\\ \tabucline{2-} \margintext{default}
% \cs{tabucline}\M*[on 2pt red]\M*{-5} & draws a horizontal dashed line between columns 1 and 5
% of width \cs{arrayrulewidth}. Dashed are
@@ -730,7 +734,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{tabu}
% \end{center}}
%
-% \begin{declcs}{tabucline}\stform*\M[style or spec.]\M*{start-end}
+% \begin{declcs}{tabucline\stform*}\M[style or spec.]\M*{start-end}
% \end{declcs}
%
% For fine tuning, the star form \cs{tabucline}\stform* can be used to keep the vertical lines that might
@@ -1033,7 +1037,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% This is \textt{tabu} with \xpackage{delarray} shortcut for parenthesis around
% \end{tabu}
% \\ \tabucline[1pt on2pt blue]-
-%
+%
% \extrarowheight=0pt
% \begin{tabularx}{\linewidth}[t]({X})
% This is \textt{tabularx} with \xpackage{delarray} shortcut for parenthesis around
@@ -1155,7 +1159,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \begin{Verb*}
% \begin{tabu}{|X|X|} \tabucline-
-% ($db(\rowfont))[c]\bfseries
+% ($db(\rowfont))[c]\bfseries
% This & Is \\ \tabucline[on 2pt,blue]-
% \textt{tabu} & package \\ \tabucline-
% \end{tabu}
@@ -1165,7 +1169,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \rowfont[c]\bfseries This & Is \\ \tabucline[on 2pt,blue]-
% \textt{tabu} & package \\ \tabucline-
% \end{tabu}
-%
+%
%
% \section(Differences: tabu, tabular, tabularx){Differences between \textt{tabu}, \textt{tabular} and \textt{tabularx}}
%
@@ -1452,7 +1456,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{tabu}[2010/11/18 v1.3 - flexible LaTeX tabulars (FC)]
+\ProvidesPackage{tabu}[2010/11/22 v1.4 - flexible LaTeX tabulars (FC)]
\RequirePackage{array}[2008/09/09]
% \end{macrocode}
%
@@ -1764,7 +1768,6 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\def\tabu@rewritelast{%
\ifx \@halignto\relax % found a X column
\let\tabu@temp \@empty
- %\aftergroup \tabu@addphantomline
\ifx \tabu@halignto\relax % X column measure
\aftergroup \tabu@prep@TRIAL
\else \aftergroup \tabu@setup@everycr
@@ -1772,9 +1775,9 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\else
\ifdim \tabu@target=\z@ \let\tabu@temp \@empty
\else
- \if |\noexpand\tabu@temp \def\tabu@temp{@{\extracolsep\@flushglue}}\else
- \if !\noexpand\tabu@temp \def\tabu@temp{@{\extracolsep\@flushglue}}\else
- \def\tabu@temp{!{\extracolsep\@flushglue}}\fi\fi
+ \if |\noexpand\tabu@temp\def\tabu@temp{@{\extracolsep\@flushglue}}\else
+ \if !\noexpand\tabu@temp\def\tabu@temp{@{\extracolsep\@flushglue}}\else
+ \def\tabu@temp{!{\extracolsep\@flushglue}}\fi\fi
\fi
\aftergroup\tabu@setup@everycr
\fi
@@ -1785,21 +1788,16 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{macro}
%
%
-% \begin{macro}{\tabu@everycr@tok}
% \begin{macro}{\iftabu@colortbl}
%
-% This token is used to store and restore the content of \cs{everycr} when \cs{rowfont} is used.
-%
% The switch \cs{iftabu@colortbl} is used by \cs{rowfont} when modifying the alignment, because
% \xpackage{colortbl} changes the glue put inside the \cs{halign} preamble to make standard alignments.
% This switch is set At Begin Document.
%
% \begin{macrocode}
-%%\newtoks\tabu@everycr@tok
\newif\iftabu@colortbl
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
%
% \begin{macro}{\tabu@nowrite}
@@ -1870,7 +1868,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\fi\fi
\fi
\let\@footnotetext \tabu@footnotetext
- \let\@xfootnotenext\tabu@xfootnotetext
+ \let\@xfootnotetext\tabu@xfootnotetext
+ \let\@xfootnote \tabu@xfootnote
\let\centering \tabu@centering
\let\raggedright \tabu@raggedright
\let\raggedleft \tabu@raggedleft
@@ -1921,11 +1920,19 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
}% \tabu@sett@rget
\def\tabu@to to{\def\@halignto{to}\tabu@gettarget}
\def\tabu@spread spread{\tabu@spreadtrue\def\@halignto{spread}\tabu@gettarget}
-\def\tabu@gettarget{\afterassignment\tabu@begin\tabu@target}
+\def\tabu@gettarget{\afterassignment\tabu@linegoaltarget\tabu@target}
+\def\tabu@linegoaltarget{\futurelet\tabu@temp\tabu@linegoal@target}
+\def\tabu@linegoal@target{\ifx\tabu@temp\LNGL@setlinegoal
+ \LNGL@setlinegoal
+ \expandafter\expandafter\expandafter \tabu@begin
+ \expandafter\@gobble
+ \else \expandafter\tabu@begin
+ \fi
+}% \tabu@linegoal@target
\def\tabu@begin#1#{%
\edef\@halignto{\ifdim\tabu@target>\z@ \@halignto\the\tabu@target\fi}%
\let\tabu@halignto \@halignto
- \expandafter\@testopt\expandafter\tabu@@begin \tabu@aligndefault #1\@nil
+ \expandafter\@testopt \expandafter\tabu@@begin \tabu@aligndefault #1\@nil
}% \tabu@begin
\def\tabu@@begin[#1]#2\@nil#3{%
\edef\tabu@align{#1}%
@@ -1946,10 +1953,23 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \end{macro}
% \end{macro}
%
+%
+% \subsection{Footnotes inside \textt{tabu}}
+%
% \begin{macro}{\tabu@footnotes}
%
+% The (global) token that stores the footnotes inside \textt{tabu}:
+%
% \begin{macrocode}
\newtoks\tabu@footnotes
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tabu@footenotetext}
+%
+% The macros in case \xpackage{hyperref} is not used, or used with the option \textt{hyperfootnotes=false}:
+%
+% \begin{macrocode}
\long\def\tabu@footnotetext#1{%
\edef\@tempa{\the\tabu@footnotes
\noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}%
@@ -1957,9 +1977,67 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\long\def\tabu@xfootnotetext[#1]#2{%
\global\tabu@footnotes\expandafter{\the\tabu@footnotes
\footnotetext[{#1}]{#2}}}
+\let\tabu@xfootnote \@xfootnote
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\tabu@Hy@ftntext}
+% \begin{macro}{\tabu@Hy@xfootnote}
+%
+% The macros in case \xpackage{hyperref} is loaded with the option \textt{hyperfootnotes=true}:
+%
+% \begin{macrocode}
+\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }}
+\long\def\tabu@Hy@xfootnote[#1]{%
+ \begingroup
+ \value\@mpfn #1\relax
+ \protected@xdef \@thefnmark {\thempfn}%
+ \endgroup
+ \@footnotemark \tabu@Hy@ftntxt {#1}%
+}% \tabu@Hy@xfootnote
+\long\def\tabu@Hy@ftntxt#1#2{%
+ \edef\@tempa{%
+ \the\tabu@footnotes
+ \begingroup
+ \value\@mpfn #1\relax
+ \noexpand\protected@xdef
+ \noexpand\@thefnmark{\noexpand\thempfn}%
+ \expandafter\noexpand\expandafter\tabu@Hy@footnotetext
+ \expandafter{%
+ \Hy@footnote@currentHref
+ }%
+ }%
+ \global\tabu@footnotes\expandafter{%
+ \@tempa{#2}%
+ \endgroup
+ }%
+}% \tabu@Hy@ftntxt
+\long\def\tabu@Hy@footnotetext#1#2{%
+ \H@@footnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor{#1}{#2}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor{#1}{\relax}%
+ }%
+ \def\@currentHref{#1}%
+ \let\@currentlabelname\@empty
+ #2%
+ \fi
+ }%
+}% \tabu@Hy@footnotetext
+\AtBeginDocument{%
+ \@ifpackageloaded{hyperref}
+ {\ifHy@hyperfootnotes
+ \let\tabu@footnotetext \tabu@Hy@ftntext
+ \let\tabu@xfootnote \tabu@Hy@xfootnote
+ \fi}
+ {}%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
%
%
% \subsection{Flow chart of expansion} ^^A\enlargethispage{\baselineskip}
@@ -2211,7 +2289,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% This macro is used instead of \cs{tabu@rewrite@Xto} for \textt X columns with ``\textt{tabu spread}''.
%
% \begin{macrocode}
-\def\tabu@rewrite@Xspread{% tabu spread with X columns: we need to store each coef
+\def\tabu@rewrite@Xspread{% tabu spread with X columns: need to store each coef
\iftabu@measuring % not the first X column found in preamble
\advance\tabu@X@cols \@ne
\expandafter\let\csname tabu@X\the\tabu@X@cols\endcsname \relax
@@ -2350,7 +2428,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
\def\tabu@prep@TRIAL{%
\let\tabu@savedpreamble \@preamble
- \def\savetabu {\tabu@saveX}%
+ \def\savetabu {\tabu@saveX}%
\begingroup\iffalse{\fi\ifnum0=`}\fi
\tabu@setup@TRIAL
\iftabu@spread % first trial only
@@ -2381,6 +2459,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\let\hfuzz \@tempdima
\let\write \tabu@nowrite
\let\@footnotetext\@gobble
+ \long\def\@xfootnote[##1]##2{}%
\let\tabu@saveX \@gobble
\tabu@TRIAL@hook
}% \tabu@setup@TRIAL
@@ -2405,7 +2484,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
\def\tabu@arrayleft@measure#1\bgroup{%
\def\tabu@Xfinish{\ifnum0=`{\fi\iffalse}\fi\endgroup\tabu@global@X #1\bgroup}%
- \toks@{%
+ \toks@{%
\tabu@setup@everycr
\let\@preamble\tabu@savedpreamble}% <required for multicolumn>
\tabu@collect
@@ -2433,7 +2512,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\expandafter\tabu@collectbody
\fi
}% \tabu@collectbody
-\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}
+\long\def\tabu@pushbegins#1\begin#2{%
+ \ifx\end#2\else b\expandafter\tabu@pushbegins\fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2458,7 +2538,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\def\tabu@TRIAL{\setbox\tabu@box \hbox\bgroup $\@arrayleft
\if c\tabu@align\vcenter\else\vbox\fi\bgroup \the\toks@
\tabu@endTRIAL}% constant
-\def\tabu@endTRIAL{\endarray$\egroup
+\def\tabu@endTRIAL{%
+ \ifdefined\adl@ncol % <arydshln in trials>
+ \csname crcr\endcsname
+ \noalign{\global\adl@ncol\tabu@nbcols}\fi
+ \endarray$\egroup
\iftabu@spread \tabu@spreadfalse
\let\@startpbox \tabu@startpboxORI
\tabu@spreadarith % <only once>
@@ -2497,7 +2581,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\xdef\tabu@global@X {\tabu@target\the\tabu@target\relax \tabu@global@X
\tabucolX \the\tabucolX\relax}%
\else
- \advance\tabucolX -\dimexpr(\wd\tabu@box-\tabu@target-\tabu@X@sum/65536)
+ \advance\tabucolX-\dimexpr(\wd\tabu@box-\tabu@target-\tabu@X@sum/65536)
*65536/\tabu@X@sum\relax
\ifdim \tabucolX<\z@
{\let\write\tabu@write\PackageWarning{tabu}
@@ -2588,12 +2672,17 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\def\tabu@spread@startpbox#1{\bgroup
\in@{\tabucolX}{#1}%
\ifin@
- \let\vss\relax\let\vfil\vss\let\vfill\vss\let\vskip\@tempskipa
- \hbox to\tabu@target\bgroup\aftergroup\tabu@spread@endhbox\hfil
+ \hbox to\tabu@target\bgroup\aftergroup\tabu@spread@endhbox
+ \tabu@spread@startpbox@setup \hfil
\else
\expandafter\@gobble\tabu@startpboxORI{#1}% \@gobble \bgroup
\fi
}% \tabu@spread@startpbox
+\def\tabu@spread@startpbox@setup{%
+ \let\tabu@vskipORI\vskip \let\tabu@adl@draw\adl@draw
+ \def\adl@draw{\let\vskip\tabu@vskipORI\tabu@adl@draw}%
+ \let\vss\relax\let\vfil\vss\let\vfill\vss\let\vskip\@tempskipa
+}% \tabu@spread@startpbox@setup
\def\tabu@spread@endhbox{%
\ifnum\badness>\@M %<text does not fit>
\global\tabu@naturalX \tabu@target
@@ -2647,7 +2736,10 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
\def\tabuvline@arg#1{%
\ifx\\#1\\% <shortcut when no option>
- \def\tabu@temp{!{\tabu@vline\arrayrulewidth}}%
+ \edef\tabu@temp{!{%
+ \iftabu@colortbl\begingroup\noexpand\CT@arc@\fi
+ \noexpand\tabu@vline\arrayrulewidth
+ \iftabu@colortbl\endgroup\fi}}%
\else \futurelet \tabu@temp \tabuvline@argi #1\p@\p@\@nnil \tabuvline@argiii
\fi
}% \tabuvline@arg
@@ -2663,8 +2755,11 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\tabu@maybecolor \@tempdima #1 \@nnil
}% \tabuvline@argii
\def\tabuvline@argiii{%
- \edef\tabu@temp{!{\color@begingroup\tabu@color
- \noexpand\tabu@vline{\the\@tempdima}\color@endgroup}}%
+ \edef\tabu@temp{!{\begingroup
+ \ifx\tabu@color\@empty
+ \iftabu@colortbl \noexpand\CT@arc@ \fi
+ \else \tabu@color\fi
+ \noexpand\tabu@vline{\the\@tempdima}\endgroup}}%
}% \tabuvline@argiii
% \end{macrocode}
% \end{macro}
@@ -2718,7 +2813,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% with a single line containing \cs{multicolumn}...
%
% \begin{macrocode}
-\def\tabuphantomline{\crcr\noalign{%
+\def\tabuphantomline{\crcr\noalign{%
\global\let\@arstrutbox \voidb@x
\iftabu@colortbl
\xdef\tabu@minrowclearance{\the\minrowclearance}%
@@ -2735,7 +2830,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
\global\let\vcenter \tabu@vcenter
\iftabu@colortbl
\global\minrowclearance \tabu@minrowclearance\relax\fi
- \global\let\tabu@first@cline \@ne}}%
+ \global\let\tabu@first@cline \@ne}}%
\expandafter}\the\toks@
}% \tabuphantomline
% \end{macrocode}
@@ -2907,7 +3002,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
3\fi\fi\fi\fi\relax
\def\tabu@next##1{\futurelet\tabu@temp\tabu@linecolor}%
\or\def\tabu@next{\tabu@gobblespace{\futurelet\tabu@temp\tabu@linecolor}}%
- \or\let\tabu@next\tabu@getlinecolor
+ \or\let\tabu@next \tabu@getlinecolor
\else\expandafter\remove@to@nnil
\fi \tabu@next
}% \tabu@linecolor
@@ -2925,7 +3020,8 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \cs{tabulinestyle}\M*{style=spec.}
%
% \begin{macrocode}
-\def\tabulinestyle#1{\@for\@tempa:=#1\do{\expandafter\tabu@linestyle\@tempa==\@nil}}
+\def\tabulinestyle#1{\@for\@tempa:=#1\do
+ {\expandafter\tabu@linestyle\@tempa==\@nil}}
\def\tabu@linestyle#1=#2=#3\@nil{%
\begingroup \tabu@getlinespec {#2}\expandafter\gdef
\csname tabu@line@style@\detokenize{#1}\expandafter\endcsname
@@ -2954,7 +3050,7 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
% \begin{macrocode}
{\catcode32=13\relax\catcode`\^^@=13\relax
\gdef\tabu@verb{\@sanitize\makeatletter\catcode`\^=7\edef\^{\string^}%
-\catcode32=13\let =\ \catcode`\^^@=13\def^^@{\par}\endlinechar\m@ne}%
+\catcode32=13\let =\ \catcode`\^^@=13\def^^@{\linebreak}\endlinechar\m@ne}%
}
\newcommand\tabu@sanitizetext[1][\ttfamily]{\begingroup
\tabu@verb #1\tabu@s@nitizetext}
@@ -3595,6 +3691,16 @@ Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr>
%
% \sectionformat\subsection[hang]{font=\large\bfseries\macrocodecolor}
%
+% \begin{Version}{2010/11/22 v1.4}
+% \item Compatibility improvement with \xpackage{linegoal} for the syntax: \\
+% \cs{begin}\M*{tabu}\textt{ to\cs{linegoal}}\M*{...}
+% \item Hyper footnotes now work correctly.
+% \item Fix a bug when using colored vertical lines in \textt{tabu} in math mode.
+% \item Fix a bug with vertical lines and \xpackage{colortbl} \cs{arrayrulecolor} specification.
+% \item Fix a compatibility bug with \xpackage{arydshln}: when nesting a tabular that use
+% vertical dashed lines (\xpackage{arydshln}) inside \textt{tabu spread} with \textt X columns.
+% \end{Version}
+%
% \begin{Version}{2010/11/18 v1.3}
% \item Documentation.
% \item Fix a bug that may appear in \cs{tabucline} depending on the preamble due to arbitrary \cs{countdef}.
diff --git a/Master/texmf-dist/source/latex/tabu/tabu.ins b/Master/texmf-dist/source/latex/tabu/tabu.ins
index 0f802222d7b..889294e144a 100644
--- a/Master/texmf-dist/source/latex/tabu/tabu.ins
+++ b/Master/texmf-dist/source/latex/tabu/tabu.ins
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% tabu : 2010/11/18 v1.3 - tabu : Flexible LaTeX tabulars
+%% tabu : 2010/11/22 v1.4 - tabu : Flexible LaTeX tabulars
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -26,7 +26,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: 2010/11/18 v1.3 - tabu: Flexible LaTeX tabulars}
+\Msg{* Package: 2010/11/22 v1.4 - tabu: Flexible LaTeX tabulars}
\Msg{************************************************************************}
\keepsilent
@@ -37,7 +37,7 @@
This is a generated file.
-tabu : 2010/11/18 v1.3 - tabu : Flexible LaTeX tabulars
+tabu : 2010/11/22 v1.4 - tabu : Flexible LaTeX tabulars
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either