我正在尝试创建最优理论表(语言学中使用的一种特定类型的表)。这些表通常如下所示 - 重要的是第一列和第一行都与表的其余部分“分离”:
(请注意,在较大的表格中,第 2 至第 n 列和行看起来与任何其他表格一样;也就是说,它们仅由一条线分隔)
有效的 MWE:
\documentclass{scrartcl}
%\usepackage{arydshln}
\usepackage{hhline}
%\usepackage{arydshln}
\begin{document}
\begin{tabular}{|r||c|}\hhline{|-||-|}
a & b\\\hhline{:=::=:}
c & d\\\hhline{|-||-|}
\end{tabular}
\end{document}
问题是我还需要在表格中使用虚线垂直线,而不是常规的 |。arydshln 包提供了此功能;它允许您在表格规范中使用 : 来获取虚线。
问题是,即使加载中此包(之前或者在 hhline 之后)搞乱了表格——下面只是将 MWE 中的任意一行注释掉:
我已经能够找到三个具有类似问题的参考文献,因为他们的发布者试图同时使用 arydshln 和 hhline:
但这些问题都通过使用不同的方法解决了,例如使用 TikZ 绘制“表格”。这对我来说不是一个选择;我真的希望在这里使用表格环境。是否有可能同时使用虚线垂直线(我需要 arydshln 来实现)并能够像第一张图片中那样将第一列和第一行与表格的其余部分“分开”?
答案1
tabu
看起来非常强大,但我想在这种情况下你只需要一些相当简单的东西:
\documentclass{article}
\usepackage{hhline,tabu}
\begin{document}
\newtabulinestyle { mystyle=.5pt on 1.5pt off 1.5pt }
\begin{tabu}{| r || *{3}{c|} c |[mystyle] c |}\hhline{|-||*{5}{-|}}
a & b & e & f & i & j\\\hhline{:=::*{5}{=:}}
c & d & g & h & k & l\\\hhline{|-||*{5}{-|}}
m & n & o & p & q & r\\\hhline{|-||*{5}{-|}}
\end{tabu}
\end{document}