endfloat 包的问题

endfloat 包的问题

使用该包的最小示例endfloat无法编译。在向维护者提交错误报告之前,请您先看看我是否正确使用它?也许您知道解决方法?

\documentclass{article}
\pagestyle{empty}

\usepackage{endfloat}

\begin{document}
  \section{Test}
  \begin{table}
    \begin{tabular}{c}
    123 \\
    \end{tabular}
    \caption{Test}
  \end{table}
  Test
  \processdelayedfloats
\end{document}

我看到的错误是:

(./texput.aux) (texput.ttt))
Runaway argument?
! File ended while scanning use of \efloat@xfloat.
<inserted text> 
                \par 
<*> texput.tex

? 

我在 Ubuntu 上,当前使用 TeXlive。

答案1

不确定它是否有记录(没看过:-),但由于包扫描环境的方式

\end{table}

需要单独出现在行首,因此请删除示例中它前面的空格。


这在 endfloat 手册中有记录

10.1 文字字符串

当读取浮点数时,LATEX 处于逐字模式。除其他外,这意味着像

\end{figure}

必须单独出现在行上,前后不能有任何空格。要解决此限制,需要完全重新实现该软件包中最困难的部分,但这是我的遥远目标之一。

答案2

我只是想补充一点,在读取浮点分隔符时,endfloat 包非常脆弱。我遇到此错误是因为有时我\end{float}用百分号终止语句。

我不知道是否可以使用 LaTex 中的正则表达式来解决这个问题,但至少应该在文档中给出警告。

如果您遇到同样的问题,这里有一个调试技巧:出现错误后,您需要关闭编译器,然后删除 .aux 文件。下次重新编译时,查看最后一个 latex 警告“未找到引用”,有问题的浮点数是代码中该引用旁边的浮点数。祝您好运。

相关内容