utmthesis 错误:您无法弹出一个空的文字堆栈以供输入

utmthesis 错误:您无法弹出一个空的文字堆栈以供输入

我正在使用自定义 .bst 文件撰写论文,并在一些参考文献中收到上述错误。

\documentclass[12pt]{article}
\usepackage{natbib}
\begin{document}

This is an example fo citation \citep{abdelhamid2012mac}. This is another citation \citep{agrawal1994fast, ali1997partial}. \citet{ali1997partial} is the final one.

\bibliographystyle{utmthesis-authordate}
%\bibliographystyle{utmthesis-numbering}
\bibliography{phdrefrences}
\end{document}

以下是参考书目文件中的条目

@ARTICLE{abdelhamid2012mac,
   author = {Abdelhamid, Neda and Ayesh, Aladdin and Thabtah, Fadi and Ahmadi,  Samad and Hadi, Wael},
   title = {MAC: A Multiclass Associative Classification Algorithm},
   journal = {Journal of Information \& Knowledge Management},
   year = {2012},
   volume = {11},
   pages = {1-10},
   number = {02},
   publisher = {World Scientific}
}
@CONFERENCE{agrawal1994fast,
  author = {Agrawal, Rakesh and Srikant, Ramakrishnan and others},
  title = {Fast algorithms for mining association rules},
  booktitle = {Proc. 20th Int. Conf. Very Large Data Bases, VLDB},
  year = {1994},
  volume = {1215},
  pages = {487--499}
}
@CONFERENCE{agrawal1994fast,
   author = {Agrawal, Rakesh and Srikant, Ramakrishnan and others},
   title = {Fast algorithms for mining association rules},
   booktitle = {Proc. 20th Int. Conf. Very Large Data Bases, VLDB},
   year = {1994},
   volume = {1215},
   pages = {487--499}
}

参考文献显示在参考书目中,但我想解决警告。

This is BibTeX, Version 0.99d (MiKTeX 2.9 64-bit)
The top-level auxiliary file: References.aux
The style file: utmthesis-authordate.bst
Database file #1: phdrefrences.bib
You can't pop an empty literal stack for entry agrawal1994fast
while executing---line 1711 of file utmthesis-authordate.bst
You can't pop an empty literal stack for entry ali1997partial
while executing---line 1711 of file utmthesis-authordate.bst
(There were 2 error messages)

答案1

书目格式需要该month字段。它错误地调用了skip$第 538 行中的空字符串文字,而不是推送该字符串文字。

该功能应该是:

FUNCTION {format.month}
{
  month empty$
    { "" }
    { " " month * }
  if$
}

format.month output1208 行中的调用期望format.month在堆栈上留下一个字符串。

因此,

  1. 修复 bst 文件,替换上面的函数,或者

  2. 确保每篇论文/会议记录都有一个字段month

无论如何,您都应该报告此问题,例如在 github 页面上。

(注意:更常见的是命名条目类型inproceedings而不是conference。直观地,我认为是conference指整个会议,而不是单个谈话。inproceedings更清楚:它指的是一个“实体”会议记录。

相关内容