tabularx \hline 在上方引入空白行

tabularx \hline 在上方引入空白行

我正在使用tabularx它,到目前为止我成功地创建了一些表格(不是太好,但这是另一个问题)。一个表格让我感到害怕,因为“标题”与下一行之间的分隔不仅与我通常的分隔相同,\hline而且似乎还有一个空行或空行。与我成功的表格进行比较并没有给我任何线索。希望可编译的代码片段是:

\documentclass{scrreprt}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{textgreek}

\begin{document}
\begin{table}
\caption{\label{tab:Nanoindent_Kenngroessen}a caption}
\begin{tabularx}{\linewidth}{XXXXX}
\, & Mesa0\_2 & Mesa3 & Mesa10 & Mesa15  \\ %my header
\hline
Eindringtiefe [nm] & 509,45\,\textpm\,15,52 & 344,25\,\textpm\,2,56 & 1264,56\,\textpm\,89,53 & 408,66\,\textpm\,13,42 \\
Kriechstrecke [nm] & 59,32\,\textpm\,3,71 & 37,29\,\textpm\,1,42 & 199,80\textpm 3,93 & 53,62\,\textpm\,0,46 \\
remanente Eindringtiefe [nm]& 82,08\,\textpm\,3,94 & 63,04\,\textpm\,2,38 & 294,70\,\textpm\,30,40 & 90,01\,\textpm\,13,20 \\
Relaxations\-strecke [nm] & 83,46\,\textpm\,4,23 & 64,43\,\textpm\,2,38 & 232,19\,\textpm\,9,37 & 63,33\,\textpm\,2,37
\end{tabularx}
\end{table}

每次我编译它时,结果都是这样的。虽然我对其他表使用了完全相同的语法,但总是会出现中间这个奇怪的空格。

表格在 \hline 前有附加行

答案1

的定义\,

% latex.ltx, line 1304:
\DeclareRobustCommand{\,}{%
   \relax\ifmmode\mskip\thinmuskip\else\thinspace\fi
}

在您的情况下,\,第一个表格单元格中的单独部分未在数学模式下进行扫描,因此它被转换为\thinspace,其定义是

% latex.ltx, line 1315:
\def\thinspace{\kern .16667em }

问题就在这里:还没有构建一个段落,因为X列本质上是一个\parbox。因此,字距在垂直模式下可见;这会设置参考点,然后条目末尾的隐含支柱会将其变成类似于两行段落的东西。

正确的定义\,应该是

% latex.ltx, line 1304:
\DeclareRobustCommand{\,}{%
   \relax\ifmmode\mskip\thinmuskip\else\leavevmode\thinspace\fi
}

可能没有人曾经\,在段落开头使用过(实际上,它并没有开始段落),所以这个缺陷(或可能是错误)从未出现过。

但是,\,那里没有任何用处。请将其删除。

相关内容