\documentclass[]{article}
\usepackage{bigstrut}
\usepackage{multirow}
\usepackage{array}
\usepackage{tabularx}
\begin{document}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{tabularx}{\linewidth}{X R}
Column 1 & Column 2 \\ \hline
1.1 & \multirow{2}[2]{*}{2a} \bigstrut[t] \\
1.2 & \bigstrut[b] \\ \hline
1.3 & \multirow{3}[2]{*}{2b} \bigstrut[t] \\
1.4 & \\
1.5 & \bigstrut[b] \\ \hline
1.6 & 2c \bigstrut \\ \hline
\end{tabularx}
\end{document}
我得到的该代码的输出是:
我的问题是:
请注意,在前两节(即 2a 和 2b)中,\bigstrut[b] 与 \multirow 结合使用时会添加额外的空间。我在网上查看了一些表格教程,它们都使用了相同的构造,但没有任何困难!为什么会发生这种情况?
答案1
我认为您通常不应\multirow
在初始单元格中放置除参数之外的任何其他内容,也不应在跨越的单元格中放置任何内容。此外,您需要\noindent
在表格前面添加一个,以便全宽表格可以放在一行中。
我不知道这是否是您想要的布局,但它没有太大的间隙。我只是将支柱移到了第一列。
\documentclass[]{article}
\usepackage{bigstrut}
\usepackage{multirow}
\usepackage{array}
\usepackage{tabularx}
\begin{document}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\noindent
\begin{tabularx}{\linewidth}{X R}
Column 1 & Column 2 \\ \hline
1.1\bigstrut[t] & \multirow{2}[2]{*}{2a} \\
1.2\bigstrut[b] & \\ \hline
1.3\bigstrut[t] & \multirow{3}[2]{*}{2b} \\
1.4 & \\
1.5\bigstrut[b] & \\ \hline
1.6\bigstrut & 2c \\ \hline
\end{tabularx}
\end{document}