`booktabs` 和 `arydshln` 包之间的冲突

`booktabs` 和 `arydshln` 包之间的冲突

请参阅下面的 MWE 及其结果。我没有arydshln在示例中使用该包,但我必须在同一文档中的其他地方使用它。如您所见,表格中的垂直边框线有问题。如果我不使用其中一个arydshlnbooktabs包,它会正确显示。

这里有解决方法吗?我正在寻找以下方法之一:

  1. 一种防止两个包同时使用时出现错误显示的方法。
  2. 一种替代的良好格式和\toprule\midrule\bottomrule来自booktabs包。
  3. arydshln在数学数组(向量、矩阵)中绘制虚线的包的替代方法。

感谢您的帮助。

\documentclass{article}

\usepackage{booktabs}
\usepackage{arydshln}

\begin{document}

\begin{tabular}{ c | r r }
\toprule
    & 123 & 456 \\
\midrule
    \multicolumn{3}{l}{blah blah blah }\\
\midrule
    abc & def & hij \\
\bottomrule
\end{tabular}

\end{document}

截屏

添加 -

经过一些实验,我发现multicolumn并不是一个关键点。当我用常规行替换它时,它仍然显示错误。

答案1

您可以尝试easybmat 包,这使得在矩阵内放置虚线变得容易。

答案2

大批
如果您阅读了 的文档booktabs,您会发现booktabs不支持垂直线。您可以尝试使用包大批和命令extrarowheight。A MWE:

\documentclass{article}

\usepackage{array}
\usepackage{arydshln}
\setlength{\extrarowheight}{3pt}
\begin{document}

\begin{tabular}{ c | r r }
\hline
    & 123 & 456 \\
\hline
    \multicolumn{3}{l}{blah blah blah }\\
\hline
    abc & def & hij \\
\hline
\end{tabular}

\end{document}

禁忌
或者你可以尝试一下这个包禁忌,直接支持所有类型的线路。

\documentclass{article}

\usepackage{booktabs,tabu}

\begin{document}

\tabulinesep=1.2mm
\begin{tabu} to .3\columnwidth [c]{X[c] | X[r] X[r]}
\firsthline[3pt]
    & 123 & 456 \\
\tabucline [1pt on 1.5pt off 2pt]{1-3}
    \multicolumn{3}{l}{blah blah blah }\\
\tabucline [1pt on 1.5pt off 2pt]{1-3}
    abc & def & hij \\
\lasthline[3pt]
\end{tabu}

\end{document}

禁忌

相关内容