考虑以下最小工作示例:
\documentclass[a4paper,10pt]{scrbook}
\usepackage{longtable}
\usepackage{arydshln}
\begin{document}
\begin{longtable}[mc]{|c|c|cc|}
{\itshape Head 1}
&{\bfseries Head 2}
&{\scshape Head 3}
&Head 4\\
\hline
\endhead
x &y &z &w\\
\cdashline{2-4}[2pt/5pt]
x2 &Y &z2 &w2\\
\hdashline[2pt/5pt]
x3 &Y &z3 &w3\\
\end{longtable}
\begin{table}[!ht]
\begin{longtable}[mc]{|c|c|cc|}
{\itshape Head 1}
&{\bfseries Head 2}
&{\scshape Head 3}
&Head 4\\
\hline
\endhead
x &y &z &w\\
\cdashline{2-4}[2pt/5pt]
x2 &Y &z2 &w2\\
\hdashline[2pt/5pt]
x3 &Y &z3 &w3\\
\end{longtable}
\caption{Same Longtable, but encased inside a Table.}
\end{table}
Why do the vertical lines suddenly not work?
\end{document}
longtable
当s 位于 s 内部时,不受欢迎的行为是垂直线会神秘消失table
。为什么会发生这种情况?我该如何阻止这种情况?
arydshln
请注意,移除后,垂直线会重新出现,IE这个包是造成这种不良行为的原因。另一方面,我需要该arydshln
包,因为它在虚线方面确实很出色(我能找到的唯一其他替代方案是 tabu,但该包需要对我的文档中的大量longtable
s(到longtabu
)进行大规模更改。所以理想情况下,我想保留这个包并防止这种行为。那么我需要做什么呢?
更新:解决方案,正如所指出的@大卫·卡莱尔在下面的评论中,是使用tabular
而不是longtable
。