这是完全相同的问题。但是,答案不包括在偶数行的情况下居中。这是同样的例子。我怎样才能将单词 Spring 放在模型 2 和模型 4 之间的中心?
代码,
\documentclass{report}
\usepackage{array,booktabs}
\newcommand{\bla}{blah blah blah blah blah blah blah blah}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{p{20mm}p{20mm}M{20mm}} \toprule
Type & Specs & Uses \\ \midrule
-- & Model 1 & \bla \\ \cmidrule{1-3}
Spring & Model 2 & \bla \\ \cmidrule(l){2-3}
& Model 4 & \bla \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
如果可能的话请使用tabular
。
答案1
如果你检查multirow
文档,你会发现的基本语法\multirow
如下:
\multirow[<vpos>]{<nrows>}[<bigstruts>]{<width>}[<vmove>]{<text>}
在这些参数中,当位置不是自动计算时,可选参数[<vmove>]
可以提高或降低多行单元格中文本的位置。所有参数的详细信息都在文档中给出。
\documentclass{report}
\usepackage{array,booktabs,multirow}
\newcommand{\bla}{blah blah blah blah blah blah blah blah}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{table}[ht]
\centering
\begin{tabular}{p{20mm}p{20mm}M{20mm}} \toprule
Type & Specs & Uses \\ \midrule
-- & Model 1 & \bla \\ \cmidrule{1-3}
\multirow{2}{*}[-2em]{Spring} & Model 2 & \bla \\ \cmidrule(l){2-3}
& Model 4 & \bla \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
请注意,在的最新版本中,对于由多行组成的行multirow
,您可以输入非整数的lines
而不是行数。因此,您可以获得稍微简单的代码:
\documentclass{report}
\usepackage{array,booktabs,multirow}
\newcommand{\bla}{blah blah blah blah blah blah blah blah}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabular}{p{20mm}p{20mm}M{20mm}} \toprule
Type & Specs & Uses \\ \midrule
-- & Model 1 & \bla \\ \cmidrule{1-3}
\multirow{5.25}{*}{Spring} & Model 2 & \bla \\ \cmidrule(l){2-3}
& Model 4 & \bla \\ \bottomrule
\end{tabular}
\end{table}
\end{document}