如何在所有长桌上的头后画一条双水平线?

如何在所有长桌上的头后画一条双水平线?

我想创建一个乳胶样式,它可以在长表头后自动绘制一条双水平线。

重要的一点我已经有很多文档包含在头后有一条水平线的长表,所以我需要添加一条水平线。

我的第一次尝试是添加\hline定义\endfirsthead

\documentclass{article}
\usepackage{longtable}

\makeatletter
\def\endfirsthead{\hline\LT@end@hd@ft\LT@firsthead}
\makeatother

\begin{document}
\begin{longtable}{|l|l|l|}
  
    \hline head 1 & head 2 & head 3 \\ \hline 
    \endfirsthead
    
    One & abcdef ghjijklmn & 123.456778 \\\hline
    One & abcdef ghjijklmn & 123.456778 \\\hline
   
\end{longtable}
    
\end{document}

但两行之间没有间隙,因此看起来像一条粗线。 第一次尝试

如何修复这个问题并正确解决任务?

答案1

操作起来非常简单hhline

\documentclass{article}
\usepackage{longtable}
\usepackage{hhline}

\begin{document}
\begin{longtable}{|l|l|l|}

    \hline head 1 & head 2 & head 3 \\ \hhline{|=:=:=|}
    \endfirsthead

    One & abcdef ghjijklmn & 123.456778 \\\hline
    One & abcdef ghjijklmn & 123.456778 \\\hline

\end{longtable}

\end{document} 

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}

\makeatletter
\def\endfirsthead{\bottomrule[\arrayrulewidth] \LT@end@hd@ft\LT@firsthead}
\makeatother

\begin{document}
    \begin{longtable}{|l|l|l|}
        
        \hline head 1 & head 2 & head 3 \\ \hline 
        \endfirsthead
        
        One & abcdef ghjijklmn & 123.456778 \\\hline
        One & abcdef ghjijklmn & 123.456778 \\\hline
        
    \end{longtable}
        
\end{document}

在此处输入图片描述

相关内容