问题描述:
请问一下,运行 BibTex 的时候出现如下错误:
Database file #1: reference/refs-UTF8.bib
You can't pop an empty literal stack for entry Dyakonov_2010
while executing---line 2446 of file gbt7714-numerical.bst
...
(There were 5 error messages)
我找到了有问题的参考文献,但我不知道问题在哪:
@book{Dyakonov_2010,
author = {Dyakonov, M. I.},
title = {半导体中的自旋物理学},
publisher = {科学出版社},
address = {北京},
edition = {1},
series = {半导体科学与技术丛书},
pages = {394},
ISBN = {978-7-03-028286-6},
year = {2010},
type = {Book}
}
复现该问题的 MWE 如下。
\begin{filecontents}{refs_2022_05_08.bib}
@book{Dyakonov_2010,
author = {Dyakonov, M. I.},
title = {半导体中的自旋物理学},
publisher = {科学出版社},
address = {北京},
edition = {1},
series = {半导体科学与技术丛书},
pages = {394},
ISBN = {978-7-03-028286-6},
year = {2010},
type = {Book}
}
\end{filecontents}
\documentclass[type=doctor,openany,pifootnote]{shuthesis}
\usepackage{shuthesis}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
参见文献 \cite{Dyakonov_2010}。
\bibliographystyle{gbt7714-numerical}
\bibliography{refs_2022_05_08}
\end{document}
其中 shuthesis.sty, shuthesis.cls, shuthesis.cfg 在这里下载到:https://github.com/BlueFisher/shuthesis
使用 bibtex 编译上述 MWE.tex,错误提示如下:
$ bibtex MWE
This is BibTeX, Version 0.99d (TeX Live 2022)
The top-level auxiliary file: MWE.aux
The style file: gbt7714-numerical.bst
Database file #1: refs_2022_05_08.bib
You can't pop an empty literal stack for entry Dyakonov_2010
while executing---line 2446 of file gbt7714-numerical.bst
(There was 1 error message)
Solved.
问题可能出在 edition 上,要么去掉 edition,要么把 edition 设置为大于1的值
https://github.com/BlueFisher/shuthesis/issues/4