我刚开始使用 latex。我知道这个帖子如何获取表中的多个多行?但我仍然无法按照自己的意愿处理表格。基本上,我想得到两个多行单元格,一个在开头,一个在结尾。如果我可以垂直居中文本并将其左对齐(如果我设置宽度,我不知道该怎么做),那就太好了。还有最后一件事我也想做,但并不那么重要。这是删除表格中唯一一个空单元格的外部线条。
这是我一直在使用的代码:
\begin{center}
\begin{tabular}{ | p{3cm} | p{3cm} | p{3cm} | p{5cm} |}
\hline
&
Text1 &
Text2 &
Notes \\
\hline
\multirow{2}{*}
{Multirow two} &
Soil &
Water &
This should also be multirow (like the first column) \\
\hline
&
Water retention curve $\sin$150g &
Water retention curve $\sin$200 g
& \\
\hline
This is ok &
ok &
ok &
ok \\
\hline
\end{tabular}
\end{center}
答案1
这是实现所需内容的一种方法。它使用array
、tabularx
和makecell
包。我使用\multirowcell
from 命令makecell
,它的语法比multirow
。请注意,当您使用 \multirow 时,您必须计算线如果某些单元格是多行的,则不是单元格的数量。
\documentclass{article}
\usepackage[showframe, nomarginpar]{geometry}
\usepackage{array, booktabs, tabularx,makecell}
\renewcommand{\tabularxcolumn}[1]{>{\raggedright\arraybackslash}m{#1}}
\renewcommand\cellalign{Xc}
\begin{document}
\vspace*{1\baselineskip}
\centering
\begin{tabularx}\linewidth{ | *{3}{ >{\raggedright}m{2.8cm}|} X |}
\cline{2-4}
\multicolumn{1}{c|}{} & Text1 & Text2 & Notes \\
\hline
\multirow{3}{*}{Multirow two} & Soil & Water & \multirowcell{3}{This should also be multirow (like the first column)} \\
\cline{2-3}
& Water retention curve $\sin$\,150\,g & Water retention curve $\sin$\,200\,g & \\
\hline
This is ok & ok & ok & ok \\
\hline
\end{tabularx}
\end{document}