使用该包的最小示例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 警告“未找到引用”,有问题的浮点数是代码中该引用旁边的浮点数。祝您好运。