我如何编码一个看起来像这样的表格?我不是最擅长 LaTeX 的人,似乎无法理解\multirow
。在发布之前,我查看了其他示例,但它们使用了它\multicolumn
,这让我更加困惑。
\begin{center}
\begin{tabular}{ |c|c|c|c|c|}
\hline
TextA & TextB & TextC & TextD & TextE\\
\hline
A & TextF & TextG & TextH & TextI\\
B & TextJ & TextK & TextL & TextM\\
C & \multirow{2}*{TextF} & TextG & TextH & TextI\\
\cline{3-3}
& TextJ & TextK \\
\hline
\end{tabular}
\end{center}
我正在尝试类似的事情。当我尝试在多行内进行多行时,我开始遇到问题?我不确定这里的过程。我希望将 TextG 拆分成 2 个,将 TextH 和 TextI 拆分成 3 个单元格,但不确定如何进行。那么 TextJ 和 TextK 会是拆分的 TextG 单元格的内容吗?
答案1
我扩展了您的表格代码(并且对其进行了更正),使该表格模仿您所展示的问题表格。注意:multirow
放置单元格的行中的单元格必须显示但应该为空(请参阅下面的 mwe):
母语:
\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.3}
\begin{tabular}{|c|c|c|c|c|}
\hline
Text A & Text B & Text C & Text D & Text E \\
\hline
A & Text F & Text G & Text H & Text I \\
\hline
B & Text J & Text K & Text L & Text M \\
\hline
\multirow{3}*{Text N}
& \multirow{3}*{Text O}
& Text P & Text Q & Text R \\
\cline{3-5}
& & \multirow{2}*{Text S}
& Text T & Text U \\
\cline{4-5}
& & & Text V & Text Z \\
\hline
\end{tabular}
\end{center}
\end{document}
答案2
您可以使用 来制作这样的{NiceTabular}
表格nicematrix
。
在 中{NiceTabular}
,您可以使用命令 水平和垂直合并单元格\Block
。对于行,您可以指定逻辑行数(而不是像 那样的物理行数\multicolumn
)。
使用键hvlines
,绘制所有规则,但块(由 构造\Block
)除外。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.3}
\begin{NiceTabular}{ccccc}[hvlines]
Text A & Text B & Text C & Text D & Text E \\
A & Text F & Text G & Text H & Text I \\
B & Text J & Text K & Text L & Text M \\
\Block{3-1}{Text N}
& \Block{3-1}{Text O}
& Text P & Text Q & Text R \\
& & \Block{2-1}{Text S}
& Text T & Text U \\
& & & Text V & Text Z \\
\end{NiceTabular}
\end{center}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
答案3
只需快速评论一下,您应该始终在多行中提供中央括号。即,从上面的例子来看:
\multirow{3}*{Text N}
实际上应该是:
\multirow{3}{*}{Text N}
这是因为缺少{*}
括号会破坏latexdiff
,例如:latexdiff 因对 \multirow 的更改而产生无效输出