我正在尝试将表格的两列分开,但遇到了困难。我尝试\hspace
使用语法在列之间添加@{...}
内容,但是multicolumn
似乎忽略了此间距应该是之间从以下 MWE 中第一个表格可以看出的列:
\documentclass{article}
\begin{document}
\begin{tabular}{ll@{\hspace{3cm}}rr}
\multicolumn{2}{r}{Spans} & \multicolumn{2}{l}{Spans} \\
\cline{1-2} \cline{3-4}
X & Y & X & Y
\end{tabular}
\begin{tabular}{ll@{\extracolsep{3cm}}r@{\extracolsep{0pt}}r}
\multicolumn{2}{r}{Spans} & \multicolumn{2}{l}{Spans} \\
\cline{1-2} \cline{3-4}
X & Y & X & Y
\end{tabular}
\end{document}
多列右对齐,并一直延伸到第 3 列的开始位置。同样,\cline
也一直延伸到第 3 列的开始位置。
我可以用 大致实现我想要的效果\extracolsep
,但这里的问题是我必须手动将其重新设置为零,否则,第 3 列和第 4 列之间也会出现大量额外空间。
有没有一种方法可以让我简单地设置一件事(如上面的例子所示,但实际上却按照我期望的方式对多列和线条进行操作(如下面的例子所示)?
我希望在不向表格中添加多余列的情况下实现此目的。也就是说,我的表格目前有四列,每列单元格中都有内容。我可以通过添加中间第五列并在那里留出间距来实现我想要的效果,并将所有相应的\cline
s 更改为新的数字。我发现这个解决方案不够优雅,并且很难在现有的大型表格中实现...
答案1
使用该包,您可以指定在每个元素之前和每个元素之后array
执行的命令。因此,以下内容应该接近您想要的。>{\command}
<{command}
\documentclass{article}
\usepackage{array}
\newcolumntype{R}{@{\extracolsep{3cm}}r@{\extracolsep{0pt}}}%
\begin{document}
\begin{tabular}{llRr}
\multicolumn{2}{r}{Spans} & \multicolumn{2}{l}{Spans} \\
\cline{1-2} \cline{3-4}
X & Y & X & Y
\end{tabular}
\end{document}
答案2
也许您可以使用的修剪选项booktabs's
\cmidrule
来修剪cline
。将额外的空间也添加到\multicolumn
。
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\newlength\tbspace
\setlength\tbspace{3cm}
\newcolumntype{L}{l<{\hspace{\tbspace}}}
\begin{document}
\begin{tabular}{lLrr}
\multicolumn{2}{L}{Spans} & \multicolumn{2}{r}{Spans} \\
\cmidrule(r{\tbspace}){1-2} \cmidrule{3-4}
X & Y & X & Y
\end{tabular}
\end{document}
答案3
好吧,下面的代码似乎可以工作,但需要进行一些尺寸调整,而我并不擅长做这件事。根据要求,没有添加列,但我真的不知道它为什么会起作用。我倾向于破解事物而不是编写代码。也许这里的一位大师可以告诉我们如何让事情变得健壮。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabular*}{\textwidth}{c @{\extracolsep{1cm}}c c c}
\multicolumn{2}{c}{Spans} &\multicolumn{2}{c}{Spans} \\
\cline{1-2} \cline{3-4}
X & Y & X & Y\\
XZZZZZZ &YSSSSSS & XZ & RANDOMLETTERCOMBO
\end{tabular*}
\end{document}
这是包含更多字母的快照。
编辑:我意识到列之间的垂直线看起来很糟糕,如果坚持使用它们,则需要进行更多调整。
答案4
我将添加一个用于间隔目的的附加列,然后使用array
包裹根据需要插入空格。
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{ll@{\hspace{3cm}}rr}
\multicolumn{2}{r}{Spans} & \multicolumn{2}{l}{Spans} \\
\cline{1-2} \cline{3-4}
X & Y & X & Y
\end{tabular}
\begin{tabular}{ll@{}>{\hspace*{3cm}}crr}
\multicolumn{2}{r}{Spans} & & \multicolumn{2}{l}{Spans} \\
\cline{1-2} \cline{4-5}
X & Y & & X & Y
\end{tabular}
\end{document}