一种样式阻止我设置 \belowcaptionskip,我该如何改变它?

一种样式阻止我设置 \belowcaptionskip,我该如何改变它?

我正在使用 llncs 样式(Springer 计算机科学讲义)撰写论文。使用默认格式,标题与表格之间的距离非常大,屏幕上分别为 16 毫米和 9 毫米:

在此处输入图片描述

设置不应该是那样的。他们自己以 llncs 样式设置的文本示例(使用 Word)的距离要短得多。前几年同一会议的论文集采用相同的样式,并且都具有短距离。我的教授是项目委员会的成员,他同意应该具有短距离。以下是他们自己示例中的距离:

在此处输入图片描述

我尝试使用命令减少标题上方和下方的空间

\addtolength{\belowcaptionskip}{-5pt}
\addtolength{\abovecaptionskip}{-12pt}

但什么都没变。即使我将距离设置为荒谬的 -100mm,我的标题的外观也完全没有变化。使用\setlength代替\addtolength没有帮助。当我使用article代替llncs作为文档样式时,命令按预期工作。所以它一定是 llncs 包中的设置。如何在不更改 llncs 包的情况下覆盖设置?

序言和表格的示例如下:

\documentclass{llncs}
\usepackage{array}
\usepackage{colortbl}
\usepackage{rotating}
\usepackage{placeins}

\setcounter{secnumdepth}{3}
\addtolength{\textfloatsep}{-3mm}
\addtolength{\belowcaptionskip}{-100pt}
\addtolength{\abovecaptionskip}{-100pt}

\begin{document}
This is some filler text representing 
a paragraph above the table
\begin{table}[!htb]
     \caption{Examples for requirement the target users preferred}
     \label{tab:features_liked}
     \begin{center}
             \begin{tabular}{|p{90mm} | p{30mm}|}
             \hline
             Requirement & Relevant value \\
             \hline 
             Some requirement & A value \\
             \hline
             Another requirement & Another value \\
             \hline
         \end{tabular}
     \end{center}
\end{table}
\end{document}

答案1

进一步回答 @egreg 的回答,center环境会在 周围增加额外的垂直空间tabular,从而导致视觉上出现较大的间隙,因此建议使用\centering。此外,llncs文档类执行

\renewenvironment{table}
  {\setlength\abovecaptionskip{0\p@}%
   \setlength\belowcaptionskip{10\p@}%
   \@float{table}}
  {\end@float}

删除\abovecaptionskip并修复\belowcaptionskip10pt每一个使用table(实际上,它对 的作用相同table*)。如果您希望完全消除此限制,并希望在标题间距方面拥有更多自由,则有以下选择:

  • 在环境(tabletable*)内、之后\begin{...}或之前立即手动分配这些长度\caption[..]{...};或
  • 自动删除(或修改)这些长度限制etoolbox包裹. 对于此用途

    \usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
    ...
    \makeatletter
    \patchcmd{\table}{0\p@}{5\p@}{}{}% \abovecaptionskip @ 0pt -> 5pt
    \patchcmd{\table}{10\p@}{5\p@}{}{}% \belowcaptionskip @ 10pt -> 5pt
    \makeatother
    

    修补环境的开头table。该命令的\patchcmd格式是\patchcmd{<command>}{<search>}{<replace>}{<success>}{<failure>}搜索<search>in<command>并将其替换为<replace>。此外,<success>如果此修补成功,则执行该命令<failure>,否则执行 。由于修补有效,因此需要使用<success><failure>,因此它们都留空{}。对 的修改5pt是任意的,可以根据您的喜好进行调整。当然,这取决于文章提交是否首先允许进行此类修改。

答案2

问题有两个方面。

首先是主要的一点:不要使用center环境来使表格居中,而是\centering

\begin{table}[!htb]
\centering
\caption{Examples for requirement the target users preferred}
\label{tab:features_liked}
\begin{tabular}{|p{90mm} | p{30mm}|}
...
\end{tabular}
\end{table}

第二。有限责任公司class\belowcaptionskip在执行 时设置了\begin{table},因此前言中的先前设置将被忽略。但是,此设置为 10pt,这是合理的。

因此,不要使用center

相关内容