使用 tabularx、multirow 和 parbox 进行换行

使用 tabularx、multirow 和 parbox 进行换行

multirow我在 中使用了tabularx,但是因为multirow不换行,所以我将multirow的文本放在了parbox环境中:

\begin{tabularx}{\textwidth}{@{}XX@{}} \toprule
blah & \multirow{2}{*}{\parbox{\columnwidth}{blah}} \\
blah & \\
\end{tabularx}

我应该将 的宽度设置为什么parbox以便它响应 tabularx 选择的列宽?

答案1

\linewidthtabularx,因为这将是通过的-column调整后的列宽X。以下是示例:

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx,multirow,booktabs}% http://ctan.org/pkg/{tabularx,multirow,booktabs}
\begin{document}
\noindent\begin{tabularx}{\textwidth}{@{}XX@{}} \toprule
blah & \multirow{2}{*}{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox{\linewidth}{blah}}} \\
blah & \\
\end{tabularx}
\end{document}

与看法相反,\columnwidth它并不跨越表格列的宽度。

答案2

\multirow 如果你传递了长度而不是*

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx,multirow,booktabs}% http://ctan.org/pkg/{tabularx,multirow,booktabs}
\begin{document}
\def\blah{blah blah blah blah blah blah blah blah blah blah blah blah}

\noindent\begin{tabularx}{\textwidth}{@{}XX@{}} \toprule
\blah & \multirow{2}{\linewidth}{\blah \blah} \\
\blah & \\
\end{tabularx}
\end{document}

相关内容