如何减少 longtable 中一行的高度?

如何减少 longtable 中一行的高度?

我正在准备一份格式比较特殊的文档:长表的第一行应该用以下\scriptsize字体书写:

\documentclass{article}
\usepackage{longtable}
\usepackage{array}

\begin{document}

 \begin{longtable}{|>{\centering\arraybackslash}m{2em}|>{
 \centering\arraybackslash}m{2em}|>{\centering\arraybackslash}m{2em}|>{
 \centering\arraybackslash}m{2em}|>{\centering\arraybackslash}m{2em}|}
 \hline   
 {\bf\scriptsize 1} & {\bf\scriptsize 2} &
 {\bf\scriptsize 3} & {\bf\scriptsize 4} &
 {\bf\scriptsize 5}
 \\  \hline 
 \endfirsthead
  1 & 2 & 3 & 4 & 5\\
 \hline
 1 & 2 & 3 & 4 & 5\\
 \hline
 1 & 2 & 3 & 4 & 5\\
 \hline
 \end{longtable}

\end{document} 

我想降低第一行的高度。可以通过在第一行之后替换来减少下部垂直空间\\\\[-0.3em]但是如何处理上部空间?我将不胜感激任何有用的建议。

答案1

如果没有垂直规则,你可以这样做

\hline
\noalign{\vskip-3pt}

(与 不相关,但使用 \bfseries\scriptpsize 3 &not {\bf\scriptsize 3} &


但你可以这样做:

在此处输入图片描述

\documentclass{article}
\usepackage{longtable}
\usepackage{array}

\begin{document}

\def\mystrut{\vrule height 8pt depth 2pt width 0pt\kern4\arrayrulewidth}
 \begin{longtable}{|>{\centering\arraybackslash}m{2em}|>{
 \centering\arraybackslash}m{2em}|>{\centering\arraybackslash}m{2em}|>{
 \centering\arraybackslash}m{2em}|>{\centering\arraybackslash}m{2em}|}
 \hline   
\omit\vrule \scriptsize\bfseries\mystrut\hfill 1 \hfill\vrule&
\omit       \scriptsize\bfseries\mystrut\hfill 2 \hfill\vrule&
\omit       \scriptsize\bfseries\mystrut\hfill 3 \hfill\vrule&
\omit       \scriptsize\bfseries\mystrut\hfill 4 \hfill\vrule&
\omit       \scriptsize\bfseries\mystrut\hfill 5 \hfill\vrule\\
  \hline 
 \endfirsthead
  1 & 2 & 3 & 4 & 5\\
 \hline
 1 & 2 & 3 & 4 & 5\\
 \hline
 1 & 2 & 3 & 4 & 5\\
 \hline
 \end{longtable}

\end{document} 

答案2

\vspace(-0.3in)与负值一起使用。

相关内容