![如何在表格中排列多行?](https://linux22.com/image/249924/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%A1%A8%E6%A0%BC%E4%B8%AD%E6%8E%92%E5%88%97%E5%A4%9A%E8%A1%8C%EF%BC%9F.png)
我正在制作一个包含多行的表格,但最后一列的行彼此相距较远。如何修复?
我的代码是:
\usepackage{tabularx,graphicx,booktabs,parskip,setspace,amsmath,amssymb,multirow}
\begin{table} [ht]
\renewcommand{\arraystretch}{1.3}
\caption{The range of the ratios of hydrophyte evapotranspiration to open water evaporation}
\centering
\label{tab:2.1}
\begin{tabular}{c p{2cm} p{2cm} p{2cm} p{2cm} r}
\toprule%
No & Author & Country & Plant type & Method & $ET_h/E_w$ \\
\hline
\multirow{2}{*}{8.} & Snyder and Boyd (1987) & Alabama, USA & \textit{Eichhornia crassipes, Typha latifolia} & Tanks & 1.3-2.5 \\
& & & & & 1.05-2.5\
编译后,我得到了最后一列多行:彼此相距 1.3-2.5 和 1.05-2.5。我希望这些行彼此靠近,至少 1.05-2.5 的行与 Typha latifolia 相反。
答案1
您可以通过适当调整“p{...}”中的列宽将所有内容放在一行中。
\documentclass{article}
\usepackage{tabularx,graphicx,booktabs,parskip,setspace,amsmath,amssymb,multirow}
\usepackage{array}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{1.5cm}}
\begin{document}
\begin{table}[ht]
\renewcommand{\arraystretch}{1.3}
\caption{The range of the ratios of hydrophyte evapotranspiration to open water evaporation}
\centering
\label{tab:2.1}
\begin{tabular}{c p{2cm} p{2cm} p{3.2cm} p{2cm} R}
\toprule%
No & Author & Country & Plant type & Method & $ET_h/E_w$ \\
\midrule
\raisebox{-1ex}{8.} & Snyder and Boyd (1987) & Alabama, USA & \textit{Eichhornia crassipes Typha latifolia} &
\raisebox{-1ex}{Tanks} & 1.3--2.5 1.05--2.5 \\\bottomrule
\end{tabular}
\end{table}
\end{document}
除了使用之外\hline
,您还可以使用\midrule
from booktabs
。
答案2
也许您对 的用法感到困惑multirow
。它用于跨越表格多行(某一列)的材料,而不是占用多行文本的材料。
我认为你想要的可以通过以下方式实现宽叶香蒲和1.05-2.5在自己的行上:
8. & Snyder and Boyd (1987) & Alabama, USA & \textit{Eichhornia crassipes} & Tanks & 1.3-2.5 \\
& & & \textit{Typha latifolia} & & 1.05-2.5\
顺便说一句,请考虑使用--
而不是-
范围:1.05--2.5
。