玩命加载中 . . .

LaTeX常见错误信息


Reference:《一份(不太)简短的LaTeX介绍》

放在这里便于查阅。

  • ! Undefined control sequences.

    使用了未定义的命令。拼写错误是原因之一,如把 \LaTeX 写作 \Latex 这样。也有可能是
    没有调用某个宏包,但用了该宏包定义的命令。

  • ! LaTeX error: Environment … undefined.

    使用了未定义的环境。

  • ! Missing $ inserted.

    缺少数学环境的符号 $。多由于将数学符号用在公式之外而导致。

  • Runaway argument?

    ! Paragraph ended before … was complete.

  • ! File ended while scanning definition/use of …

    这两个错误主要是由于漏写了包裹命令参数的花括号,导致识别参数时出现错误。许多编
    辑器的括号配对功能有助于检查和消除这类错误。
    这类错误还有可能是由于前一次编译中断导致 .aux 等辅助文件不完整,再次编译读入不
    完整的文件产生错误。解决办法是删除辅助文件并重新编译。

  • ! Extra alignment tab has been changed to \cr.

    ! Misplaced \noalign.

    两个错误信息都与表格有关。

    • 前者的字面意义是“一行中使用的列分隔符&太多”,有时可能确实是& 的个数和列
      格式不匹配,但多数情况是漏掉了行尾的 \\ 命令。

    • 后者常出现于漏掉了行尾的 \\ 命令而接着使用 \hline 命令画横线的时候。

  • ! LaTeX Error: Lonely \item–perhaps a missing list environment.

  • ! LaTeX Error: Something’s wrong–perhaps a missing \item.

    两个错误信息都与列表环境和 \item 命令有关。前者意味着在没有使用列表环境的情况下
    用了 \item;后者则相反,是在列表环境中漏了 \item

  • ! I can’t find file `…’.

  • ! LaTeX Error: File `…’ not found.

    两个错误都意味着缺少文件。

    • 如果使用 \input 或者 \include 命令添加文件,出现上述错误的原因当然是文件不
      存在或者文件名不对;
    • 如果错误提示里的文件名带 .cls 或者 .sty 扩展名,那么很显然,是因为没有安装
      所需的宏包或文档类。
  • ! LaTeX Error: Missing \begin{document}.

    字面上是缺少 \begin{document},实际上往往是由于在 \begin{document} 之前(导言
    区)输入了文字或某些命令。

  • ! LaTeX Error: Can be used only in preamble.

    与上一条相反,由于将必须用于导言区的命令在 \begin{document} 之后使用而产生。

  • ! LaTeX Error: \ begin{…} on input line … ended by \ end{…}.

    环境首尾不匹配。比如 \begin{enumerate} 用了 \end{itemize} 结尾。或者也可能是由
    于漏写了 \begin 或者 \end 命令。

  • ! LaTeX Error: Option clash for package `…’.

    以不同选项重复调用宏包造成冲突。有可能是因为其它宏包内部事先调用了这个宏包,用
    户再次带选项调用而导致冲突。解决问题的办法是去掉重复调用的宏包。如果宏包允许的
    话,尽量使用其定义的命令改变设置,减少宏包选项的使用。

  • ! LaTeX Error: Command … already defined,or name \end… illegal …

    使用 \newcommand\newenvironment 定义已有的命令/环境时产生的错误。如果自己确
    实作了定义,可考虑用 \renewcommand\renewenvironment 定义;如果是宏包定义的
    命令产生了这个错误,则属于隐性的宏包冲突。
    相比之前的 “Option Clash”,隐性宏包冲突是更难以解决的问题,对各种宏包不熟悉的用
    户,尤其是使用模板的用户而言,往往难以下手。用户可尝试查找引起冲突的宏包的帮助
    文档。详尽的手册里通常会告知用户这个宏包应当在某个宏包的前面/后面调用,或者不能
    与某个宏包一起调用。如果是模板调用了大量宏包导致冲突,可联系模板的作者解决。

  • ! LaTeX Error: Unknown option ...' for package …’.

    调用宏包时指定了不能被其识别的选项。此时应该查找宏包的帮助文档来解决问题。

  • ! Package `…’ error: …

    宏包或文档类自定义的错误,由于不正确地使用宏包里的命令而导致。此时应该查找宏包
    的帮助文档来解决问题。


文章作者: hjd
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hjd !
评论