调试帮助,关于结束语

调试帮助,关于结束语

我收到此错误

[275


]
! Argument of \@doanenote has an extra }.
<inserted text> 
                \par 
l.726 {citation}

? 

这引发了许多问题:

  • 是什么原因造成的?
  • 这是什么l.726意思?我以前曾将其与行号关联,但我没有任何包含这么多行的文件。
  • 我如何知道该问题出现在哪个文件中?
  • 我的文本中没有出现任何 doanenote ...人们通常如何学会将错误消息与我在文本中可能做过的事情联系起来。
  • 我检查了我的文件,发现它们的左括号和右括号数量相等,所以无论如何,这不仅仅是我有一个多余的尾括号。一般来说,当它说你有一个多余的尾括号时,你会寻找什么?
  • 有没有关于如何解密这些相当不透明的错误消息的良好参考?
  • 有什么方法可以鼓励更好的编译器错误输出。我知道这是一项开源工作,但是有地方可以提供帮助,或者有关注此事的团体吗?

任何帮助,将不胜感激。

我认为这275是针对输出文档的页面,因为还有其他评论提到了第 275 页。第 275 页是注释部分的最后一页 --- 注释部分提前结束(可能出现的注释不到一半)。我正在检查书中该点附近的尾注命令。


谢谢大家,我发现问题在于脚注内嵌套了几个footnote语句(我一直使用脚注来提醒自己引用,然后我将一块文本转换为真正的脚注却没有注意到嵌入。)

以下是 MWE:

entire machine.  Analysis\footnote{Analysis is most often characterized 
as breaking something down into its components to gain a better understanding 
of it.  The Oxford Dictionary states that analysis is ``the process of separating
something into its constituent elements. Often contrasted with 
synthesis.''\footnote{citation} The Stanford Encyclopedia of Philosophy
states that ``Analysis has always been at the heart of philosophical method,
but it has been understood and practiced in many different ways. Perhaps,
in its broadest sense, it might be defined as a process of isolating or working
back to what is more fundamental by means of which something, initially taken
as given, can be explained or reconstructed.''\footnote{citation}  Whether 
used in a decompositional way, or a regressive say, analysis is a technique 
that predates Aristotle and Socrates and forms the logical basis of mathematics
and many sciences.} does not work on complex systems; 

我可以坦白地说,错误消息不够充分。简单准确的“文件名和行号”会更有帮助。报告的行号似乎是所有文件加在一起的累计数字 --- 而不是特定文件的一行。

答案1

我正在尝试回答您的所有问题,但调试工作将由您自己负责:

  • 该错误是由与包结合的某些内容引起的endnotes。查看它的来源,您可以找到命令\@doanenote。文档中调用的许多命令您自己不会调用。因此,在源代码中搜索它不会有任何线索。错误表明它在查找某个组或环境的开头时遇到问题。可能是任何事情。在编译器停止的地方,它看到一个}太多。原因可能是括号太多,或者某些其他分隔符(例如$或任何环境或或或)正在阻塞。

  • l.something是行号。但它可能存在于某个参考或 bib 文件中。很难说。如果错误出现在环境内部,编译器有时无法找到源代码的实际行号,而是以环境的结尾作为参考。

  • 您必须最小化代码;逐章逐节...剔除所有包、所有命令和定义,直到看到出现错误的一行。平均能量损失是对这一点的唯一答案。

  • 只是谷歌命令,大多数情况下你都会得到结果。就像我一样。然后你至少知道这个命令在哪个包中使用。

  • 当然,我会先检查是否有多余的括号。但这只是您可能遇到的一些情况的问题。MWE 会告诉您这是否是原因。顺便说一句,这种情况经常发生,有时您搜索了很久却找不到它。

  • 可以找到此类警告的参考资料这里。当然,在每个包的文档中,您或您的文档类都是被取消的。

  • 如果你想贡献一些东西,那太好了!我会联系拖船作为开始。或者,当你发现错误时,你可以向维护者提出功能请求endnotes。但这肯定是 TeX 编译器的问题。

相关内容