当我在 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
不允许在“单元格”内分页。)