![使用 \multicolumn 和 arydshln 时,垂直虚线未在顶部连接](https://linux22.com/image/385791/%E4%BD%BF%E7%94%A8%20%5Cmulticolumn%20%E5%92%8C%20arydshln%20%E6%97%B6%EF%BC%8C%E5%9E%82%E7%9B%B4%E8%99%9A%E7%BA%BF%E6%9C%AA%E5%9C%A8%E9%A1%B6%E9%83%A8%E8%BF%9E%E6%8E%A5.png)
我试图在表格中间添加一条虚线,但它在连接到顶部线条之前就切断了。我将附上代码以更好地解释它。如何让虚线连接到顶部的水平线?
\usepackage{arydshln}
\begin{tabular}{lr;{1pt/1pt}lr}
\toprule
\multicolumn{4}{c}{\textbf{Bold text}} \\ \midrule
main info & 1 & \multicolumn{2}{c}{\textbf{side info}} \\
\cdashline{3-4}[1pt/1pt]
main info & 2 & A & 0 \\
main info & 3 & B & 1 \\
main info & 4 & C & 2 \\
main info & 5 & D & 3 \\
\bottomrule
\end{tabular}
答案1
这是一个解决方法:我将 booktabs 规则的填充设置为0pt
(本地),并将其替换为带有以字母为前缀的说明符的列中单元格顶部和底部的最小垂直间距S
(如果使用siunitx
,则改用 前缀C
)。这使用包cellspace
。
\documentclass[border=5pt]{standalone}t
\usepackage{array}
\usepackage{arydshln, booktabs}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{3pt}
\setlength{\cellspacebottomlimit}{3pt}
\begin{document}
{\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\begin{tabular}{Slr;{1pt/1pt}lr}
\toprule
\multicolumn{4}{Sc}{\textbf{Bold text}} \\ \midrule
main info & 1 & \multicolumn{2}{Sc}{\textbf{side info}} \\
\cdashline{3-4}[1pt/1pt]
main info & 2 & A & 0 \\
main info & 3 & B & 1 \\
main info & 4 & C & 2 \\
main info & 5 & D & 3 \\
\bottomrule
\end{tabular}}
\end{document}