出现“Float(s) lost”错误时如何找到丢失的文本部分

出现“Float(s) lost”错误时如何找到丢失的文本部分

我丢失了一些文本。我不知道是否缺少了什么,那么我该如何找到它?我没有心情通过阅读两者来比较chapter1.tex与文件。第 1 章( )相当长,但这是我得到的唯一提示。pdfchapter1.tex

[35]

!LaTeX 错误:浮点数丢失。

请参阅 LaTeX 手册或 LaTeX Companion 了解解释。输入 H 可立即获得帮助。...

l.215 \include{章节1}

?H 您丢失了一些文本。请尝试输入以继续。如果不起作用,请输入 X 退出。

那么...你应对该错误的策略是什么?(除了不犯错误)

答案1

值得一提的是,我的Float(s) lost错误似乎是由于todo在 a 中引入了 a footnote,可能是因为我用于添加 todos 的包marginpar在内部使用了。

答案2

它将是figuretable或其他包定义的浮点类型(例如algorithm)。所以如果你期望10个数字而你只得到了9个......它刚刚完成第35页的输出(即编号为35的页面,不一定是第35个输出页面)(代码片段中的[35])这也应该给出一个线索。

不要将浮动环境放在小页面或其他非浮动框中,因为这是导致浮动丢失的常见原因。


以下示例展示了一种可视化丢失浮动的方法。丢失浮动错误会照常出现,但如果您继续,则在文档恢复之前,每个丢失浮动都会单独输出到未编号的页面上。

该示例丢失了方框中的几个图形,以及方框中 marginpar 中的 totdo 注释。这三个都在错误点 (a \clearpage) 处获得输出,产生

在此处输入图片描述

\documentclass[a5paper]{article}

\usepackage{graphicx,todo}

\makeatletter
\let\old@error\@latexerr
\def\zzfl@error{Float(s) lost}

\def\@latexerr#1{%
\def\tmp{#1}%
\ifx\tmp\zzfl@error
  \def\@elt##1{{%
   \let \protect\noexpand
    \shipout\vbox{\hbox{LOST FLOAT}\hbox{\fbox{\box##1}}}}}%
  \@currlist\@dbltoplist 
  \let\@elt\relax
\fi
\old@error{#1}}
\makeatother

\begin{document}

xx

\begin{figure}

abc  
\caption{dd}

\end{figure}

\parbox{4cm}{zzzz\marginpar{aa\todo{this}}}

\parbox{5cm}{a\begin{figure}
  zzzz
\caption{zzzz}

\end{figure}}



\parbox{5cm}{a\begin{figure}
  \includegraphics[height=1cm]{example-image-a}
\caption{wwwwwww}
\end{figure}}

\clearpage

some more text



\end{document}

答案3

错误消息暗示图形或表格丢失了,但我看到过几次这种情况,并没有文本或浮点数丢失。

问题可能是在框内使用了浮动。很难确定的是,错误可能不会立即出现,而只会在其他地方添加文本后出现。尝试用\marginpar\marginnote包中的marginnote)替换,如建议的那样浮点丢失错误

答案4

我在 beamer 上使用 todonotes 时遇到了同样的错误,confused00 的解释是正确的。如果您对内联注释没有意见,请使用,\todo[inline]{comment}错误应该会消失。

相关内容