错误消息:条目 XXX 的文字堆栈不为空

错误消息:条目 XXX 的文字堆栈不为空

我正在努力解决一个我不理解的错误信息:

--- 执行文件 apacite.bst 的第 5227 行时,条目 ladershortgershuny 的文字堆栈不为空(有 1 条错误消息)

到目前为止,我的 PDF 文件中没有问题(引用有效:文中引用正确,文章在参考书目中列出。

但是现在我试图包含新的来源,并且由于这个错误,它们无法工作并在 PDF 中显示如下:“……在父亲的陪伴下长大(?,?)”。

有人知道这里出了什么问题以及我该如何解决这个问题?

这是 ladershortgershuny 的 .bib 条目

@webpage{ladershortgershuny,
    Author = {Deborah Lader and Sandra Short and Jonathan Gershuny},
    Date-Added = {2015-11-28 21:16:31 +0000},
    Date-Modified = {2015-11-28 21:19:53 +0000},
    Lastchecked = {8 October 2015},
    Month = {August},
    Url = {http://www.timeuse.org/files/cckpub/lader_short_and_gershuny_2005_kight_diary.pdf},
    Year = {2006},
    Bdsk-Url-1 = {http://www.timeuse.org/files/cckpub/lader_short_and_gershuny_2005_kight_diary.pdf}}

最小示例:

\documentclass[11pt,a4paper] {article}
\usepackage{apacite}
% lots of other packages

\begin{document}
XXX \cite{ladershortgershuny}.


XXX \footnote {XXX \citeyear{ladershortgershuny} XXX }. 


\bibliographystyle{apacite}
\bibliography{...,johnsonwiener,ladershortgershuny,larsen,...}

% Lots more text, figures, tables and a bibliography
\end{document}

答案1

发生此错误的原因基本上是,您的文件中的条目*.bib包含未写入*.bbl文件的数据*.bst。堆栈内容应出现在*.blg文件中(在 之后的新行开始stack=),允许您查看未写入的项目。可以通过编辑 bst 文件以使其写入所有内容,或通过更改 bib 文件中的数据以便 bst 写入所有内容来解决此问题。似乎可以通过在 bib 条目中添加字段或删除字段来完成此操作。我怀疑从堆栈中删除数据的规则可能取决于其他数据;也就是说,if如果我缺少与页面相关的字段,则从堆栈中弹出“页面”的代码可能会被锁定在处理其他数据的语句中,而这些数据不会被执行。

答案2

我遇到了同样的问题,发现如果我忽略,那么甚至在项目title上也会出现错误。author

所以如果你写标题名称,一切都会没问题。

但实际上这似乎是设置文档的一个错误,我暂时无法修复它,只能写标题名称,没关系。

答案3

我从我的 Mendeley 帐户导入了 .bib。触发错误的引用是 Zenodo 上发布的 python 包。它最初在 Mendeley 上被归类为“期刊文章”,但一旦我将类别更改为“计算机程序”并在 Overleaf 中刷新 .bib,问题就解决了。

答案4

@INCOLLECTION我通过更改为解决了该问题@INBOOK。(我不得不使用http://ftp.edpsciences.org/pub/aa/bibtex/aa.bst。

相关内容