更新时间 2019-01-14

更新时间 2019-01-14

TeX Live 软件包上次更新后,此代码无法编译:

\documentclass{article}

\usepackage{longtable,tabu}
\usepackage{color}

\begin{document}

\begin{longtabu} to \linewidth {llX}
    a & b & c\\
\end{longtabu}

\end{document}

我收到一个错误:

缺少} 插入。\end{longtabu}

如果我注释掉,\usepackage{color}一切都会正常。另一件奇怪的事情是 - 如果我将最后一列的类型从改为Xsay l- 它也会正常(即使color添加了包)。

答案1

更新时间 2019-01-14

在 tabu 2.9 中已经应用了等效补丁,并已提交给 ctan。


以下似乎有效(我还添加了其他补丁):

\documentclass{article}

\usepackage{longtable}
\usepackage{tabu}
\usepackage{color}
\usepackage{etoolbox}

\makeatletter
\patchcmd\tabu@startpboxmeasure
  {\aftergroup\tabu@endpboxmeasure}
  {\aftergroup\tabu@endpboxmeasure
   \color@begingroup
  }{\typeout{tabu patched}}{\typeout{tabu patch failed!}}
  
\patchcmd\tabu@LT@startpbox
 {\bgroup}{\bgroup\color@begingroup}
 {\typeout{tabu patched}}{\typeout{tabu patch failed!}}  
\makeatletter

\begin{document}

\begin{longtabu} to \linewidth {llX}
    a & b & c\\
\end{longtabu}

\end{document}

答案2

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

\documentclass{article}

\usepackage{tabularray}
\usepackage{xcolor}

\begin{document}

\DefTblrTemplate{firsthead}{default}{}

\begin{longtblr}{width=\linewidth,colspec={llX},hlines,row{odd}={blue8},row{even}={azure8}}
 a & b & c \\
 d & e & f \\
 g & h & i \\
 j & k & l \\
\end{longtblr}

\end{document}

在此处输入图片描述

相关内容