我正在尝试完成此表格的格式化。我无法让最后一列的文本换行并保留在单元格中。
“东西东西东西”文字总是超出页面边缘。
另外,我无法使标题分隔符发挥作用。
任何想法都非常感谢。
\usepackage{tabularx}
\usepackage{multirow}
\begin{table}
\centering
\small
\resizebox{\textwidth}{!}{
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\rowcolor[HTML]{C0C0C0}
Section & Sub-Section & Description & \multicolumn{2}{l|}{Key} \\ \hline
& Stage & The & Stuff & \\ \cline{2-4}
& Stuff & The & Stuff & \\ \cline{2-4}
\multirow{-3}{*}{Stuff} & Stuff & The & Cole & \multirow{-3}{*}{Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff } \\ \hline
\end{tabularx}}
\end{table}
答案1
我将 改为\small
以便\scriptsize
将所有内容都放入您的单元格中。您可以重新格式化表格,使每行的宽度不同。或者原始文本可能适合您选择的字体大小。
主要的诡计是为了给multirow
一个特定的宽度。由于X
列是可拉伸的,因此multirow
不知道实际宽度。如果您不想搜索这个离散值,您可以使用\hsize
。因为它在为表格设置的 列\hsize
内部发生,并且(和)设置,因此换行可以在单元格内正常工作。因此您可以在此处使用 来告诉使用决定使用的尺寸。X
X
p
\hsize
\hsize
multirow
tabularx
% arara: pdflatex
\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[table]{xcolor}
\usepackage{microtype} % handy in narrow cells with much text
\begin{document}
\begin{table}
\centering
\scriptsize
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\rowcolor[HTML]{C0C0C0}
Section & Sub-Section & Description & \multicolumn{2}{l|}{Key} \\ \hline
& Stage & The & Stuff & \\ \cline{2-4}
& Stuff & The & Stuff & \\ \cline{2-4}
\multirow{-3}{*}{Stuff} & Stuff & The & Cole & \multirow{-3}{\hsize}{Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff Stuff } \\ \hline
\end{tabularx}
\end{table}
\end{document}