LaTeX没有正确编译

djq*_*djq 7 latex

我正在使用TeXshop,Natbib,Hyperef和两列布局,我收到以下消息:

\ pdfendlink最终处于与\ pdfstartlink不同的嵌套级别

\ AtBegShi @ Output ... ipout\box\AtBeginShipoutBox\fi\fi

这会阻止LaTeX编译.当它是'onecolumn'时,这个文件编译没有问题,问题只有在'twocolumn'时才会开始.

我在网上搜索了解决方案,但其中大部分来自几年前,并确定问题是由"长引用"引起的.

溶液的实例1,2

我已经将问题的根源缩小为在两列宽的表之后发生的部分.下面的部分没有任何引用,但是当我包含它时,它会停止编译.我没有在这里包含代码来复制我需要包含整个文档的问题; 只有在有一定间距时才会发生.

另一个参考,暗示这是一个不起眼的bug.我无法应用他们的建议,因为我无法找到问题参考.我有,只是推了很多空间,它确实编译,但这不是一个工作文件的真正解决方案.

小智 5

在这里遇到同样的问题,它突然冒出来.有趣的是,如果我注释掉hyperref包,它就可以了.

  • 我认为问题是当它试图将 hyperref 放在它不适合的地方时,你会得到错误。如果您可以以某种方式编辑整体间距(添加分页符、目录等),它就会停止。我发现只是随着时间的推移玩弄它。 (2认同)

小智 5

我认为导致此错误的一个常见原因是引文被分成两页。对此的一个简单测试是在文档顶部添加一些 \vspace 以强制不同的分页符。这在我身上发生过几次,我的最终解决方案通常涉及重写文本以确保违规引文不会跨越分页符。


Gre*_*g D -2

  1. 努力理解解决方案。LaTeX 是一个非常技术性的东西,就像编程一样,如果你想使用它,你必须接受这样一个事实:你将不得不用你的大脑来思考解决方案。

  2. 错误本身非常具有描述性。您的/begin{}/end{}语句的嵌套级别是否都正确排列?您使用的所有宏都正确使用吗?查看您正在使用的软件包的文档。

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