tabu:更新后出错

tabu:更新后出错

自上次更新 tabu.sty 以来,我收到以下错误:

! Improper \prevdepth. \tabu@verticalspacing ... tempdimc \t

这是 MWE

\documentclass[a4paper,12pt]{report}
\usepackage{tabu}
\usepackage{amsmath}
\usepackage{xcolor}  
\newcolumntype{L}{>{\begin{varwidth}{0.91\linewidth}}l<{\end{varwidth}}}

\begin{document}    
\begin{tabu}{Lcc}
$\begin{pmatrix}
1 \\2\\3    
\end{pmatrix}$& 2& 3\\
\end{tabu}

\end{document}

当在具有预定义列(使用 varwidth)的禁忌环境中包含 pmatrix(或数组)时会发生错误,而且奇怪的是,当包含任何其他包列表时也会发生错误(例如:color.sty、xcolor.sty、pstricks-add.sty、colortbl.sty,...)更新之前一切都运行良好!

有谁知道如何解决这一问题?

以下是该文件的第一行log

这是 pdfTeX,版本 3.14159265-2.6-1.40.19(MiKTeX 2.9.6930 64 位)(预加载格式=latex 2019.1.13)2019 年 1 月 20 日 12:55 进入扩展模式

答案1

我认为这是正确的修复,如果它经过更多的测试,我会在 ctan 上更新 tabu。

\documentclass[a4paper,12pt]{report}
\usepackage{tabu}
\usepackage{amsmath}
\usepackage{xcolor}  
\newcolumntype{L}{>{\begin{varwidth}{0.91\linewidth}}l<{\end{varwidth}}}

\makeatletter
\def\tabu@verticalmeasure{\everypar{}%
\unless\ifnum\currentgrouptype=14 \let\tabu@currentgrouptype\currentgrouptype\fi
    \ifnum \tabu@currentgrouptype>12         % 14=semi-simple, 15=math shift group
        \setbox\tabu@box =\hbox\bgroup
            \let\tabu@verticalspacing \tabu@verticalsp@lcr
            \d@llarbegin                % after \hbox ...
    \else
        \edef\tabu@temp{\ifnum\tabu@currentgrouptype=5\vtop
                        \else\ifnum\tabu@currentgrouptype=12\vcenter
                        \else\vbox\fi\fi}%
        \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup
            \let\tabu@verticalspacing \tabu@verticalsp@pmb
    \fi
}
\makeatother

\begin{document}    
\begin{tabu}{Lcc}
$\begin{pmatrix}
1 \\2\\3    
\end{pmatrix}$& 2& 3\\
\end{tabu}

\end{document}

答案2

新的 LaTeX3 软件包tabularray是过时软件包的替代品tabu

\documentclass[a4paper,12pt]{report}

\usepackage{amsmath}
\usepackage{varwidth}
\usepackage{xcolor}
\usepackage{tabularray}

\NewColumnType{L}{>{\begin{varwidth}{0.91\linewidth}}l<{\end{varwidth}}}

\begin{document}    

\begin{tblr}{Lcc}
$\begin{pmatrix}
1 \\ 2 \\ 3    
\end{pmatrix}$ & 2 & 3 \\
\end{tblr}

\end{document}

在此处输入图片描述

相关内容