LaTeX编译不正常

7
我正在使用TeXshop、Natbib、Hyperef和双栏布局,并且收到以下消息:
\pdfendlink ended up in different nesting level than \pdfstartlink \AtBegShi@Output ...ipout \box \AtBeginShipoutBox \fi \fi
这阻止了LaTeX的编译。当该文档为“onecolumn”时,可以无问题地编译,但是当它为“twocolumn”时出现问题。
我在网上搜寻了解决方案,但大部分都是几年前的,并将问题标识为“长参考”的原因。
解决方案示例 12
我已经缩小了问题的源头,它出现在一个两列宽的表格之后的部分。随后的部分没有任何引用,但当我包含它时,它停止编译。为了复制这个问题,我没有在这里包含代码;只有在特定间距下才会出现。
另一个引用也表明这是一个晦涩的错误。我无法应用他们的建议,因为我无法找到问题引用。我已经添加了很多空格,它确实可以编译,但这不是一个真正的工作文档的解决方案。

那么,你是否像dreeves建议的那样制作了一个最小化失败文件? - ShreevatsaR
我无法在一个小文件中重现这个错误,只有在一个大约有40个参考文献的20页文档中才会出现。因此,我不知道哪个参考文献导致了问题或者它在哪里。 - djq
尝试逐个删除页面或引用。凭如此少的信息,没有人能够帮助您 — 如果您上传文档,也许会有人愿意帮忙。 - ShreevatsaR
4个回答

5

我也遇到了同样的问题,它突然出现了。有趣的是,如果我将hyperref包注释掉,它就可以正常工作。


2
我认为问题出在它试图放置一个超链接到无法适应的位置,这时就会出现错误。如果你可以通过某种方式编辑整体间距(添加分页符、目录等),它就会停止出错。我发现只要不断地尝试调整,就能解决这个问题。 - djq

5

我相信导致这个错误的常见原因是引用跨越了两个页面。一个简单的测试方法是在文档顶部添加一些 \vspace 以强制进行不同的分页。我也遇到过几次这种情况,我的最终解决方案通常涉及重写文本,以确保有问题的引用不会跨越分页。


4
复制你的LaTeX代码,并开始将内容删除,直到你得到最小可能导致此错误的示例。 如果这一步就找到了问题,把它作为答案发布在这里。 如果没有找到,就将其添加到问题中。

-2
  1. 努力理解解决方案。LaTeX 是一件非常技术性的事情,就像编程一样,如果你想使用它,你必须接受你将会被卡在脑海中思考解决方案的事实。

  2. 错误本身已经相当描述性了。你的 /begin{}/end{} 语句的嵌套层次是否正确?你使用的所有宏都被正确地使用了吗?查看你正在使用的包的文档。

  3. 就像编程一样,当你不确定发生了什么时,请使用最简单的可能代码重新创建错误。如果这本身还没有告诉你错误(通常会!),那么请将这个最简单的可能代码与你的问题一起发布,以便我们至少有一些小机会来帮助你。不幸的是,由于 LaTeX 的复杂性,诸如包版本之类的东西也可能对故障排除过程非常重要。


错误信息很详细,但在使用特定设置组合时出现了故障。应用建议的解决方案(这些都是几年前的),无法解决问题。常见原因似乎是引用过长,然而,当我从有问题的部分删除所有引用时,仍然存在相同的问题。 - djq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接