如何减少 \longtable 的垂直高度。请注意,所有文档都是双倍行距。我需要表格中的垂直间距与 \tabular 中的一样精确调整。
例子:
\documentclass[a4paper,oneside,11pt]{book}
\usepackage[english]{babel}
\usepackage[super]{natbib}
\usepackage[LGR,T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{delarray}
\usepackage{a4}
\usepackage{bbm}
\usepackage{epic}
\usepackage{eepic}
\usepackage{ecltree}
\usepackage{multicol}
\usepackage{indentfirst}
\usepackage{eurosym}
\usepackage{theorem}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{vmargin}
\usepackage{rotating}
\usepackage{supertabular}
\usepackage{longtable}
\usepackage{array}
\usepackage{caption}
\usepackage{pgf}
\usepackage{float}
\usepackage{subfig}
\usepackage[dvips]{color}
\usepackage{mathenv}
\usepackage{setspace}
\usepackage{subeqnarray}
\usepackage[norule]{footmisc}
\usepackage{enumerate}
\usepackage{lscape}
\usepackage{tikz}
\usepackage[toc,page]{appendix}
\usepackage[pdftex]{hyperref}
\hypersetup{colorlinks,citecolor=black,filecolor=black,linkcolor=black,urlcolor=black}
\pagestyle{fancy} \fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}
\addtolength{\headheight}{0cm}
\setlength{\doublerulesep}{\arrayrulewidth}
\setlength\unitlength{0.5cm}
\lhead[\fancyplain{}{\thepage}]{\fancyplain{}{ \scriptsize
\leftmark}} \rhead[\fancyplain{}{ \scriptsize
\leftmark}]{\fancyplain{}{\thepage}}
\renewcommand{\baselinestretch}{2}
\setmarginsrb{3cm}{3cm}{3cm}{3cm}{1cm}{1cm}{2cm}{0cm}
\makeindex % Composer l'index de fin de document.0
\bibliographystyle{authordate1} % Définit le style de la bibliographie
\setlength{\doublerulesep}{\arrayrulewidth} \makeatletter
\renewcommand\@makefntext[1]
{\noindent\makebox[2em][r]{\@thefnmark.\,}#1} \makeatother
\makeatletter
\renewcommand*{\@seccntformat}[1]{
\csname the#1\endcsname.\quad} \makeatother
\renewcommand {\theenumi}{\roman{enumi}}
\begin{document}
\scriptsize\begin{longtable}{lccc|ccc}
%
\centering
\caption{abc} \label{tab:result1}\\
\hline
%
& \multicolumn{3}{c|}{\textbf{1}} & \multicolumn{3}{c}{\textbf{2}} \\%
VARIABLES & a & b & c & a & b & c \\
\hline
\endfirsthead
%
\multicolumn{7}{c}
%
{{\textbf{Table} \thetable\ -- \textit{Continued from previous page}}} \\
\hline \noalign{\vskip-3pt}
%
& \multicolumn{3}{c|}{\textbf{1}} & \multicolumn{3}{c}{\textbf{2}} \\%
VARIABLES & a & b & c & a & b & c \\
\hline
\endhead
%
\textit{Continued on next page} \\
\endfoot
%
\hline
\endlastfoot
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \\
1 & 2 & 3 & 4 & 5 & 6 & 7 \
\end{longtable}
\end{document}
答案1
制作 MWE 的想法是删除所有不相关的包,你的 MWE 根本不是最小的。
它还会产生两个错误
! LaTeX Error: Option clash for package color.
和
! Misplaced \noalign.
\caption ->\noalign
后者尤其严重。longtable
如果给出无效输入,就没有机会生成正确的间距。
如果你改变输入来注释掉那些虚假的行
%\usepackage[dvips]{color}
和
%\centering
然后文档运行就不会出现错误了。
如果输出不符合您的期望,您需要明确您想要的输出是什么。
如果你不想让表格双倍行距,你可以使用 setspace 包中的 cpmmands 或者简单地
\renewcommand{\baselinestretch}{1}
在桌子前。