# tabu m-column vertical alignment not working after package updates

After MIKTEX package updates vertical m-column alignment in tabu does not work anymore. See MWE below

\documentclass{article}
\usepackage{tabu}

\begin{document}

\tabulinesep=3pt

Result using tabu:

\begin{tabu} to \linewidth {|X[p]| X[m]| X[b]|}
\hline
\hline
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabu}

\vspace*{1cm}

Result using tabular:

\begin{tabular}{|p{0.3\linewidth}|m{0.3\linewidth}|b{0.3\linewidth}|}
\hline
\hline
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabular}

\end{document}


The results is:

Both tables should be equal but m-column in tabu is broken.Does anyone know which package is responsible for that? Here is the list of packages that were updated:

• Welcome to TeX.SX! Just to mention it: TL2018 (fully updated) is also affected. May 10, 2018 at 13:45
• In my case I never use the tabu package alone, since it needs the longtable, tabularx, array and multirrow packages, if I compile your code with my normal configuration I have no problems, I get the same as with the tabular environment, you should know that tabu is not a self-contained package, it is a set of macros that other table libraries use to create beautiful tables .... May 10, 2018 at 15:16
• @JLeonV. do you have the 2018-04-01 latex release? May 10, 2018 at 16:35
• @DavidCarlisle, it's an honor to answer you... Yes, LaTeX2e <2018-04-01> patch level 3, And I compile with pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6670 64-bit) May 10, 2018 at 20:11
• @JLeonV. it shouldn't work I think, can you check you have array.sty 2018/04/30 v2.4h May 10, 2018 at 20:24

# UPDATE 2019-01-14

A workaround for this issuse has been included in tabu 2.9 which has been submitted to ctan.

tabu probably needs an update to match the latest array, but you can force the use of the old array by using the new [=... optional argument to \usepackage.

\documentclass{article}
\usepackage{array}[=2016-10-06]
\usepackage{tabu}

\begin{document}

\tabulinesep=3pt

Result using tabu:

\begin{tabu} to \linewidth {|X[p]| X[m]| X[b]|}
\hline
\hline
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabu}

\vspace*{1cm}

Result using tabular:

\begin{tabular}{|p{0.3\linewidth}|m{0.3\linewidth}|b{0.3\linewidth}|}
\hline
\hline
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column  &
text which is considerably longer than the width of the column
\tabularnewline
\hline
\end{tabular}

\end{document}

• I have no idea what tabu should do to correct the problem, but the cause is that array now uses \vbox instead of \vcenter for the m-column and as tabu tests for \currentgrouptype it doesn't get 12 but 4 and so takes the wrong path. May 10, 2018 at 14:44
• Thanks for the quick help. I didn't expect such a fast answer :). I found out that the problem persists if the \usepackage{siunitx} is loaded before. \usepackage{array}[=2016-10-06] should be loaded first to avoid any problems. Thank you! May 10, 2018 at 20:18
• @Micha I have mailed the tabu author pointing out this incompatibility, so hopefully he'll update to match the latest array. May 11, 2018 at 22:14
• @DavidCarlisle Don't hold your breath.
– cfr
Jun 14, 2018 at 0:56