如何在 \hline 后添加垂直空间而不破坏表格中的垂直线

如何在 \hline 后添加垂直空间而不破坏表格中的垂直线

我曾经看到过关于此事的类似问题(问题 1问题2) 添加垂直空间而不破坏垂直线,建议的解决方案是在\\使用后添加空间\\[0.1cm],例如或更改\arraystretch我不想做的。使用\\[0.1cm]允许我在之前添加空格,\hline但不能在之后添加空格。

如何在\hline不破坏表格中的垂直线的情况下在后面添加垂直空间?

我的 MWE 如下:

\documentclass{scrreprt}
\usepackage{setspace}
\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{array,tabularx}
\doublespacing

\begin{document}
\begin{table}[htb]
  \centering
  \onehalfspacing
  \caption{Table of info.}

    \begin{tabular}{c | c c}
 & C/S Analyser & O/N/H Analyser \\
 & EMIA 320 V2 & EMGA 830 \\[0.1cm]
   \hline
   \noalign{\vskip 0.1cm}
Sensitivity (ppm) & 0.1 & 0.001 \\
Furnace type & Induction & Impulse \\
Carrier gas & Pure O2 & Pure He \\[0.1cm]
   \hline
    \end{tabular}

  \doublespacing
  \label{tab:chem}
\end{table}
\end{document}

答案1

您可以使用cellspace包来做到这一点:定义行的最小垂直填充,并在相关的列说明符前加上字母S(或者C如果您使用siunitx):

\documentclass{scrreprt}
\usepackage{setspace}
\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{array,tabularx}
\doublespacing
\usepackage{cellspace}
\setlength\cellspacetoplimit{5pt}
\setlength\cellspacebottomlimit{5pt}
\begin{document}

\begin{table}[htb]
  \centering
  \onehalfspacing
  \caption{Table of info.}
  \begin{tabular}{c | Sc c}
    \hline
                      & C/S Analyser & O/N/H Analyser \\
                      & EMIA 320 V2 & EMGA 830 \\
    \hline
    Sensitivity (ppm) & 0.1 & 0.001 \\
    Furnace type & Induction & Impulse \\
    Carrier gas & Pure O2 & Pure He \\
    \hline
  \end{tabular}

  \doublespacing
  \label{tab:chem}
\end{table}
\end{document} 

在此处输入图片描述

答案2

添加\\\\[-1.5\medskipamount]后将\hline 生成另一行高度较小的行。

应适当选择 medskipamout 之前的值。

答案3

我建议你完全放弃垂直线。像这样怎么样?

\documentclass{scrreprt}
\usepackage{setspace}
\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{array,tabularx,booktabs}
\doublespacing

\begin{document}
\begin{table}[htb]
  \centering
  \onehalfspacing
  \caption{Table of info.}
    \begin{tabular}{@{}ccc@{}}
      \toprule
      Parameter & C/S Analyser & O/N/H Analyser \\
                & EMIA 320 V2 & EMGA 830 \\%
      \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
      Sensitivity (ppm) & 0.1 & 0.001 \\
      Furnace type & Induction & Impulse \\
      Carrier gas & Pure O2 & Pure He \\[0.1cm]
      \bottomrule
    \end{tabular}
  \doublespacing
  \label{tab:chem}
\end{table}
\end{document}

在此处输入图片描述

答案4

使用 时{NiceTabular}nicematrix垂直规则永远不会被破坏,即使是\noalign{\vskip ...}(因为它们实际上是在构建数组后由 PGF/Tikz 绘制的)。

\documentclass{scrreprt}
\usepackage{setspace}
\usepackage[left=2.5cm,right=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{nicematrix}
\doublespacing

\begin{document}
\begin{table}[htb]
\centering
\onehalfspacing
\caption{Table of info.}
\begin{NiceTabular}{c|cc}
& C/S Analyser & O/N/H Analyser \\
& EMIA 320 V2 & EMGA 830 \\[0.1cm]
\hline
\noalign{\vskip 0.1cm}
Sensitivity (ppm) & 0.1 & 0.001 \\
Furnace type & Induction & Impulse \\
Carrier gas & Pure O2 & Pure He \\[0.1cm]
\hline
\end{NiceTabular}
\doublespacing
\label{tab:chem}
\end{table}
\end{document}

上述代码的输出

不过,我建议使用 来制作表格booktabs(并本着 的精神booktabs)。

相关内容