我正在努力解决一个我不理解的错误信息:
--- 执行文件 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。)