计算标题的行数

计算标题的行数

我在格式化图表/表格的标题时遇到了问题。

实际情况如下:我需要在图片上方添​​加一行,在标题上方和下方添加两行。为了使效果更好,我必须多次调整垂直间距。

现在,根据标题是显示在一行还是多行中,会出现一个问题。对于单行标题,我需要调整 vspacing {-0.8 \baselineskip},对于多行标题,只需要调整 ,{-0.1 \baselineskip}以使标题下方的行与文本底部的空间完全相同。我对 LaTeX 或排版不太熟悉,所以我完全不明白为什么会发生这种情况。一个解决方案是以某种方式找出标题中的行数,但我不知道如何做到这一点。我试图“滥用”该lineno软件包来满足我的需求,但没有成功。

有谁知道如何解决这个问题或者知道问题的原因是什么?

下面是我的图像插入的代码。

\newcommand{\includewrappedfigure}[6][0pt]{
% example params: [0pt]{R}{.3}{afigurefile}{figure with long caption}{fig:afigure}
    \begin{wrapfigure}{#2}{#3\textwidth}
    \centering
    \vskip -.8 \baselineskip
    \hrule
    \includegraphics[width=#3\textwidth, keepaspectratio]{#4}
    \vskip -1 \baselineskip
    \hrule
    \vskip -0.8 \baselineskip
    \caption{#5}
    \label{#6}
    \vskip -.1 \baselineskip % for MULTI line captions
    % \vskip -.8 \baselineskip % for SINGLE line captions
    \hrule
\end{wrapfigure}
}

答案1

不幸的是,您没有提供一个最小的工作示例,所以我不知道您是否使用了与相同标题代码的类article,但是文章使用了:

\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{#1: #2}%
  \ifdim \wd\@tempboxa >\hsize
    #1: #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

#1: #2\par是多行情况,这\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%是单行情况,因此您可以重新定义此命令并在每种情况下添加所需的间距。

相关内容