由于 .bst 文件的修改,标题未显示在参考书目中

由于 .bst 文件的修改,标题未显示在参考书目中

我已经修改eprinthsiam.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

没有任何错误,正如所寻找的那样。

感谢大家的帮助!

相关内容