`longtable` 中 \hline\hline 之间的空格

`longtable` 中 \hline\hline 之间的空格

我尝试longtable在论文中使用其中一个,而其他所有都是使用环境创建的tabletabular我尝试寻求帮助访问此链接。但只longtable使用一种类型的表()。

我的序言中的前几行(%和之间%)是从上面的链接复制而来的。如果我不使用它们,代码可以工作,但同时 之间不再有空格\hline\hline。如果我只使用longtable或 放longtable第一行,代码就可以编译。但此摘录中表示的顺序代表了我论文中的顺序。

如果我不colortbl分别xcolor使用选项表,它可以正常工作。但我不知道如何在不使用此包的情况下为行着色。但我需要两行之间的空间来分隔不同的类别。

感谢您的帮助。

\documentclass{article}
%
\usepackage{color}
\makeatletter
\let\xx@begindocumenthook\@begindocumenthook
\let\xxhline\hline
\let\xx@xhline\@xhline
\usepackage{colortbl}
\let\hline\xxhline
\let\@xhline\xx@xhline
\let\@begindocumenthook\xx@begindocumenthook
\makeatother
\usepackage{longtable}
%
\usepackage[table]{xcolor}
%
\usepackage{subcaption}
%
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{listings,color}
%
\begin{document}\color{black}
%
\begin{table}[H]
\centering
\begin{tabular}{|l|r|r|}
\hline
\rowcolor{lightgray}
\textbf{Component} & \multicolumn{1}{c|}{\textbf{Flight segment [\%]}} & \multicolumn{1}{c|}{\textbf{Passenger segment [\%]}} \\ \hline
1 & 20 & 80 \\ \hline \hline
2 & 10 & 90 \\ \hline
\end{tabular}
\caption{Caption 2}
\end{table}
%
\begin{center}
\begin{longtable}{|p{5cm}|c|p{4cm}|}
\hline
\rowcolor{lightgray}
\textbf{Mass component} & \multicolumn{1}{c|}{\textbf{Techfactor}} & \multicolumn{1}{c|}{\textbf{Reason}} \\ \hline
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\ \hline \hline
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\ \hline \hline
A lot of text & a lot of text & a lot of text \\ \hline
\caption{Caption 1}
\end{longtable}
\end{center}
%
Text text text.
%

% 
\end{document}

答案1

  • 如果问题只是绘制\hline\hline一个长表格,那么一个简单的解决方案是hhline{===}(对于有三列的表格)来自包hhline
  • 无关:
    • 仅加载取代包及其选项调用xcolor的包就足够了;colortablecolortbl
    • 长表格默认居中,因此封装它\begin{center} ... \end{center}是多余的;
    • 标题,尤其是长表格的标题,应该放在表格的顶部,而不是底部;

在此处输入图片描述

\documentclass{article}

\usepackage{longtable, makecell, multirow, tabularx}
\renewcommand\theadfont{\normalsize\bfseries}
\usepackage{hhline}
%
\usepackage[table]{xcolor}
%
\usepackage{subcaption}
%
\usepackage{multicol}
\usepackage{listings}
%
\begin{document}
%
\begin{longtable}{|p{5cm}|c|p{4cm}|}
    \caption{Caption 1}                       \\
   \hline
\rowcolor{lightgray}
\thead{Mass component}  & \thead{Techfactor} &  \thead{Reason}  \\
    \hline
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\
    \hhline{===}
A lot of text & a lot of text & a lot of text \\ \hline
A lot of text & a lot of text & a lot of text \\
    \hhline{===}
A lot of text & a lot of text & a lot of text \\ \hline
\end{longtable}
%
Text text text.
%
\end{document}

答案2

我没有使用\hline两次,而是定义了一种新的线型来完成此操作。这是一种解决方法 - 但提供了所需的行为。这是需要放入文档/序言中的新线型的代码:

\newcommand{\lline}[1]{\hline\multicolumn{#1}{c}{}\\[-1.3em]\hline}

因此\hline\hline我使用而不是\lline

答案3

我确实使用了另一个技巧。我是德国人,所以请为我的语言道歉。如果你想在下一页继续你的标题,那么使用标题才是重要的

\begin{longtable}{p{4cm} | p{1.5cm} | p{1.7cm} | p{7.5cm}}
\caption{This is a wonderful caption}\\
    \hline
    \multicolumn{4}{c}{ } \\[-1,3em]  %intresting part for ur question
    \hline
\label{tab:wonduferful_longtable}
    \textbf{column 1st header} & \textbf{column 2nd header} & \textbf{column 3rd header} & \textbf{column 4th header} \\
    \hline
    \endfirsthead
    \textbf{column 1st header} & \textbf{column 2nd header} & \textbf{column 3rd header} & \textbf{column 4th header} \\
    \hline
    \endhead
    blabla & blabla & blabla & blabla \\
    blabla & blabla & blabla & blabla \\
    blabla & blabla & blabla & blabla \\
\end{longtable}

相关内容