如何防止“arydshln”搞乱表格内的格式

如何防止“arydshln”搞乱表格内的格式

考虑以下最小工作示例:

\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,但该包需要对我的文档中的大量longtables(到longtabu)进行大规模更改。所以理想情况下,我想保留这个包并防止这种行为。那么我需要做什么呢?

更新:解决方案,正如所指出的@大卫·卡莱尔在下面的评论中,是使用tabular而不是longtable

相关内容