参考书目样式 JHEP.bst:arXiv 编号和括号

参考书目样式 JHEP.bst:arXiv 编号和括号

我想修改参考书目样式联合高能物理研究所解决以下问题:

在此处输入图片描述

当包含期刊参考文献时,arXiv 参考文献会出现在括号 [...] 中,而如果没有期刊参考文献,则没有括号。如果我无论如何都想要括号,我必须如何修改 .bst 文件?

MWEB(复制联合高能物理研究所在工作目录中,运行 LaTeX+BibTex+LaTeX+LaTeX):

\documentclass{article}
\usepackage[numbers]{natbib}
\usepackage{filecontents}

\begin{filecontents}{references.bib}
@article{a,
      author         = "Author, A.",
      title          = "{Title}",
      journal        = "Journal",
      volume         = "1",
      pages          = "1",
      year           = "2009",
      eprint         = "0904.0464",
}
@article{b,
      author         = "Author, B.",
      title          = "{Title}",
      eprint         = "0904.0464",
}

\end{filecontents}


\begin{document}

Reference \cite{a,b}

\bibliographystyle{JHEP}
\bibliography{references}


\end{document}

答案1

您可以在工作目录中复制 JHEP.bst,将其重命名为,例如JHEPmod.bst,在文章函数中更改行

{ format.eprint output }

{ format.eprint.paren output }

在您的文档中,您可以使用重命名的样式\bibliographystyle{JHEPmod}

FUNCTION {article}
{ output.bibitem
  format.collaboration output
  format.authors "author" output.check
  format.title "title" output.check
  blank.sep
  crossref missing$
  { journal missing$
    { format.eprint.paren output } % <- THIS LINE NEEDS TO BE CHANGED !!!!!!!
    { journal empty$ { format.eprint output } {
      format.doi * "{" * journal emphasize before.all 'output.state := "journal" output.check
      % added \href{doi} and { before journal
      % Slv
      blank.sep
      format.volume output
      blank.sep
      format.date.paren "year" output.check
      %month empty$ { format.number output }
      %           'skip$ if$
      blank.sep
      format.pages.nopp "}" * output }
      %% closed parenthesis for href argument
      if$
      }
    if$
    report missing$
            { journal empty$ {} { format.eprint.paren output} if$ }
            {blank.sep format.report output format.eprint.paren output}
            if$
    }
    { format.article.crossref output.nonnull
      format.pages output
      format.eprint.paren output
    }
  if$
  new.sentence
  % format.doi output
  % note output
  fin.entry
}

在此处输入图片描述

相关内容