多列表格中的段落宽度

多列表格中的段落宽度

我遇到了一个问题,但我不知道该如何解决。请看一下,\multicolumn{2}{p{18.5cm}}{bla}并告诉我如何设置段落宽度以填充整个多列空间?我通过实验发现了这个值(18.5 厘米),但如果使用一些自动宽度设置就更好了。可能吗?请帮帮我。

\begin{tabu} to \linewidth {p{5.5cm}X[l,p]}

    a           & aa \\
    b           & bb \\
    c           & cc \\

    \addlinespace[1cm]
    \multicolumn{2}{l}{ \textcolor{blue}{ \textit{ \textls[100]{bla} } } } \\   
    \toprule
    \multicolumn{2}{p{18.5cm}}{bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla } \\
\end{tabu}

答案1

表格中列周围的额外空间通常是\tabcolsep

\documentclass[article, 12pt, oneside]{memoir}

\usepackage{tabu}

\begin{document}

\tabulinesep=2mm

\begin{center}    
\begin{tabu} to \linewidth {p{5.5cm}X[l,p]}

    a           & aa \\
    b           & bb \\
    c           & cc \\

    \addlinespace[1cm]
    \multicolumn{2}{l}{\textit{bla}}
 \\
    \toprule
    \multicolumn{2}{p{\dimexpr\linewidth-2\tabcolsep\relax}}{%
   bla bla bla bla bla bla bla bla bla bla bla bla bla bla
   bla bla bla bla bla bla bla bla bla bla bla bla bla bla
   bla bla bla bla bla bla bla bla} \\
\end{tabu}
\end{center}
\end{document}

结果

\dimexpr是 e-TeX 的一个功能(如今 LaTeX 通常已启用 e-TeX)。它允许进行可扩展计算,并且可以在 TeX 需要长度的地方使用。\relax关闭表达式并被 删除\dimexpr

如果calc加载了包,则列说明符p{...}支持其语法,您可以使用:

\usepackage{calc}
...
\multicolumn{2}{p{\linewidth-2\tabcolsep}}{...}

相关内容