如何使用 \offinterlineskip 删除 tabular 和 longtable 之间的垂直空格

如何使用 \offinterlineskip 删除 tabular 和 longtable 之间的垂直空格

考虑一下这个 MWE

\documentclass{article}
\usepackage{longtable}

\begin{document}
\centering  

\bgroup
\offinterlineskip
    \begin{tabular}{cc}
        \hline
        foo & bar \\
        \hline
    \end{tabular}

    \begin{tabular}{cc}
        \hline
        foo & bar \\
        \hline
    \end{tabular}
\par
\egroup

\bigskip

\bgroup
\offinterlineskip
\begin{tabular}{cc}
    \hline
    foo & bar \\
    \hline
\end{tabular}

\begin{longtable}{cc}
    \hline
    foo & bar \\
    \hline
\end{longtable}
\par
\egroup


\end{document}

在此处输入图片描述

为什么 tabular 和 longtable 之间的空格不能被删除,\offinterlineskip比如两个简单的 tabular

答案1

\offinterlineskip禁用基线到基线间距计算,但不禁用显示环境添加的明确空间。

longtable\LTpre在表格前添加空格,因此:

\documentclass{article}
\usepackage{longtable}

\begin{document}
\centering  

\bgroup
\offinterlineskip
    \begin{tabular}{cc}
        \hline
        foo & bar \\
        \hline
    \end{tabular}

    \begin{tabular}{cc}
        \hline
        foo & bar \\
        \hline
    \end{tabular}
\par
\egroup

\bigskip

\bgroup
\offinterlineskip
\setlength\LTpre{0pt}
\setlength\LTpost{0pt}
\begin{tabular}{cc}
    \hline
    foo & bar \\
    \hline
\end{tabular}

\begin{longtable}{cc}
    \hline
    foo & bar \\
    \hline
\end{longtable}
\par
\egroup


\end{document}

相关内容