使用 endfloat 包时图形列表中出现双倍空格的问题

使用 endfloat 包时图形列表中出现双倍空格的问题

我正在写一篇稿件,用来endfloat制作文章末尾的所有图表。

但是,当使用下面的代码从图形列表中消除数字时,定义\AtBeginDelayedFloats{\renewcommand{\baselinestretch}{1.4}}不起作用:

\renewcommand*{\l@figure}[2]{%
\setlength\@tempdima{2.3em}%
\noindent\hspace*{1.5em}#1\hfil\newline }

顺便说一句,\renewcommand{\baselinestretch}{1.4}如果上述代码不存在,则可以很好地运行。

有什么建议吗?

平均能量损失

\documentclass{article}
\usepackage[lists]{endfloat}

\AtBeginDelayedFloats{\renewcommand{\baselinestretch}{1.4}}

\makeatletter
\renewcommand*{\l@figure}[2]{%
\setlength\@tempdima{2.3em}%
\noindent\hspace*{1.5em}#1\hfil\newline }
\makeatother

\begin{document}

\section{title}
text text text text text text text text text text text text text text text   text text text text text text text text text text text

\begin{figure}[!ht]\caption{This is caption 1}\end{figure}
\begin{figure}[!ht]\caption{This is a long caption 2 This is a long caption 2 This is a long caption 2 This is a long caption 2}\end{figure}


\end{document}

答案1

您的输入有三个问题。

  1. 包含名称中带有的命令的代码的重新定义@应该被特殊命令包围

    \makeatletter
    \renewcommand*{\l@figure}[2]{%
      \setlength\@tempdima{2.3em}%
      \noindent\hspace*{1.5em}#1\hfil\newline }
    \makeatother
    

    不幸的是,文档endfloat没有清楚地说明这一点。

  2. 图形代码必须正确输入,\begin{figure}\end{figure}单独输入一行:

    \begin{figure}[!htp]
    <code for the figure>
    \caption{The caption}\label{label}
    \end{figure}
    

    \label当然,是可选的)。

  3. 改变的定义\baselinestretch是不够的,一般来说,为了增加行空间:通常第一段会不是间隔开。使用

    \AtBeginDelayedFloats{\linespread{1.4}}
    

答案2

我发现以下命令运行良好:

\AtBeginDelayedFloats{\linespread{2}\selectfont}

相关内容