在 tabu 中包装多列

在 tabu 中包装多列

使用时如何让多列中的文本换行tabu?我希望这tabu比手动指定p宽度更容易一些\multicolumn{2}{p...}{...},因为我使用的主要原因之一tabu是让表格设置得更自动,但我阅读手册tabu并反复尝试,但都没有成功。

这显然是一次错误的尝试,因为c没有包装,但至少它得到了一些可以修改的代码:

\documentclass{article}
\usepackage{tabu}
\begin{document}
\noindent\begin{tabu} to\linewidth{|X|X|X|}
\tabucline-
\multicolumn{2}{c}{ 1 aaaaaaaaa 2 aaaaaaaaa 3 aaaaaaaaa 4 aaaaaaaaa 5 aaaaaaaaa 6
    aaaaaaaaa 7 aaaaaaaaa 8 aaaaaaaaa 9 aaaaaaaaa}&Feb\\ 
Mar&Apr&May\\ 
\tabucline-
\tabuphantomline
\end{tabu}
\end{document}

输出结果如下:

截屏

答案1

在此处输入图片描述

您可以使用p计算宽度的列。在tabularx它应该是\TX@col@width但在tabu它似乎被称为\tabucolX

\documentclass{article}
\usepackage{tabu}
\begin{document}

\noindent\begin{tabu} to\linewidth{|X|X|X|}
\tabucline-
\multicolumn{2}{|p{\dimexpr 2\tabucolX+2\tabcolsep+\arrayrulewidth\relax}|}{1 aaaaaaaaa 2 aaaaaaaaa 3 aaaaaaaaa 4 aaaaaaaaa 5 aaaaaaaaa 6 aaaaaaaaa 7 aaaaaaaaa 8 aaaaaaaaa 9 aaaaaaaaa}&Feb\\ 
Mar&Apr&May\\ 
\tabucline-
\tabuphantomline
\end{tabu}
\end{document}

相关内容