我正在尝试创建一个表格,其中一列有多行。使用multirow
包可以很容易地做到这一点。但是,如果我为此指定宽度\multirow
并且我的文本溢出,则多行的第二行将失去居中。以下是我正在做的一个示例:
\usepackage{multirow}
\begin{table}[!h]
\begin{tabular}{ | c | c |}
1 & \multirow{4}{100pt}{This one works} \\
2 & \\
3 & \\
4 & \\
1 & \multirow{4}{100pt}{This one doesn't work and loses its centering because the text is too long}\\
2 & \\
3 & \\
4 & \\
\end{tabular}
\end{table}
答案1
\multirow
在文本实际排版之前使用\multirowsetup
宏,默认情况下\multirowsetup
定义为\raggedright
。您可以通过重新定义\multirowsetup
(如我在示例中所做的那样)或\centering
在每个命令的最后一个参数中手动添加命令来更改此设置\multirow
,其中文本应居中显示。
\documentclass[12pt]{report}
\usepackage{multirow}
\begin{document}
\begin{table}[!h]
\renewcommand\multirowsetup{\centering}
\begin{tabular}{ | c | c |}
1 & \multirow{4}{100pt}{This one works} \\
2 & \\
3 & \\
4 & \\
1 & \multirow{4}{100pt}{This one doesn't work and loses its centering because the text is too long}\\
2 & \\
3 & \\
4 & \\
\end{tabular}
\end{table}
\end{document}