删除 longtable 和 tabular 内部之间的列分隔符

删除 longtable 和 tabular 内部之间的列分隔符

当我在 longtable 中创建 tabular 时,它们之间有一个空格。我该如何删除该空格?谢谢。

\documentclass[10pt,twoside]{article} 
\usepackage[a4paper,tmargin=1.75cm, bmargin=0.5cm, lmargin=1.5cm, rmargin=1cm]{geometry}
\usepackage{longtable}
\usepackage{array}

\begin{document}

\begin{longtable}{|c|c|} 
\hline
X & \begin{tabular}{|c|c|}
\hline
A& B \\
\hline
\end{tabular} \\
\hline
\end{longtable}
\end{document}

在此处输入图片描述

答案1

您需要 (a) 更改longtable环境的结构,如下面第二个表所示,以及 (b) 省略环境\hline中的第一个和最后一个指令tabular

在此处输入图片描述

\documentclass[10pt,twoside]{article} 
\usepackage[a4paper,tmargin=1.75cm, bmargin=0.5cm, hmargin=1.5cm,]{geometry}
\usepackage{longtable}
\usepackage{array}

\begin{document}

\begin{longtable}{|c|c|} 
\caption{Before}\\
\hline
X & \begin{tabular}{|c|c|}
\hline
A & B \\
\hline
\end{tabular} \\
\hline
\end{longtable}

\begin{longtable}{|c@{\hspace{\tabcolsep}}c@{}} 
\caption{After}\\
\hline
X & \begin{tabular}{|c|c|}
A & B \\
\end{tabular} \\
\hline
\end{longtable}
\end{document}

附录,以解决OP在后续评论中提出的问题:如果外部的第2列和第3列longtable是类型p{2cm}而不是c,并且如果内部环境的两列tabular也是类型p{2cm},则可以使用以下代码实现您的目标:

\begin{longtable}{|c|p{2cm}|p{2cm}|} 
\hline 
X & X & X \\ 
X & \multicolumn{2}{@{}c@{}}{%
       \begin{tabular}[t]{p{2cm}|p{2cm}|} 
       A & B \\ 
       \end{tabular}} \\ 
\hline 
\end{longtable} 

在此处输入图片描述

我必须承认,我不明白这种设置(p{2cm}用相同类型的列替换类型的列)应该实现什么目的,除非是为了防止内部环境中的材料出现分页符tabular。(但是,无论如何都不应该发生这种情况,因为longtable不允许在“单元格”内分页。)

相关内容