我已经修改eprint
了hsiam.bst
(可用这里)。更具体地说,我已将该format.eprint
函数替换为以下函数:
函数 {format.eprint} { eprint 为空$ { “” } { “可在 \href{https://arxiv.org/abs/" eprint * "}{arXiv:" eprint * "}" *} 中找到 如果$ }
当我引用以下条目时
@Article{testone, 标题 = {示例标题}, 作者 = {我自己}, 月份 = {八月}, 电子版 = {2222.2222}, 网址 = {https://arxiv.org/abs/2222.2222} }
在如下的 MWE 中:
\documentclass[paper=a4,fontsize=11pt]{文章} \usepackage[排序与压缩,数字]{natbib} \usepackage{hyperref} \usepackage{bibentry} \bibliographystyle{hsiam} \开始{文档} \nobibliography{书目} \开始{枚举} \item \bibentry{testone} \end{枚举} \结束{文档}
使用 Bibtex 编译时出现以下错误:
这是 BibTeX,版本 0.99d(MiKTeX 2.9 64 位) 顶级辅助文件:main.aux 样式文件:hsiam.bst 数据库文件 #1:publications.bib 警告——testone 中的期刊为空 警告——testone 中的年份为空 ptr=1,堆栈= {\em Sample Title} --- 执行时条目 testone 的文字堆栈不为空——文件 hsiam.bst 的第 1053 行(有 1 条错误消息)
我的猜测是我打了eprint
两次电话,但我不知道还有其他什么方法可以得到想要的结果,应该是这样的:
M.我自己,示例标题,可用arXiv:2222.2222,2015 年。
感谢您的时间。
答案1
因此,我找到的解决方案是*
在第二次eprint
调用之前添加以下代码:
函数 {format.eprint} { eprint 为空$ { “” } {“可在 \href{http://arxiv.org/abs/" eprint * "}{arXiv: " * eprint * "}" *} 中找到 如果$ }
编译以前的 MWE 时,现在 BibTeX 的输出是
这是 BibTeX,版本 0.99d(MiKTeX 2.9 64 位) 顶级辅助文件:main.aux 样式文件:hsiam.bst 数据库文件 #1:biblio.bib
没有任何错误,正如所寻找的那样。
感谢大家的帮助!