如何使 APS BibTeX 样式文件正常工作

如何使 APS BibTeX 样式文件正常工作

我刚开始使用 BibTeX,发现它非常方便。到目前为止,我尝试使用h-physrev.bst来自论文集,并直接从启发。效果很好,因为它产生了我想要的最接近的参考样式。但是,我仍然面临两个问题:

  1. 该字段archiveprefix未正确处理,我必须手动将 arXiv 添加到字段 eprint 才能获得正确的输出,例如arXiv:1001.1001
  2. 事实上,有时候我不想显示该eprint字段。

由于我对 BibTeX 了解甚少,所以看到 bst 文件的内容时我真的很困惑。似乎需要专家来修改它才能实现我上面的要求。

另一方面,我了解到 RevTeX 提供了适合相应期刊的某些 BibTeX 样式文件。所以我下载了 RevTeX 包,从中找到了几个样式文件并用它来代替aipauth4-1.bsth-physrev.bst然而,我得到了一些非常奇怪的结果。

我尝试在 Windows 中使用 MiKTeX(在 Linux 中也尝试过 TeXLive,后者在我使用时编译得很好h-physrev.bst),但它并没有按预期工作,在生成的.dvi/.pdf文件的参考部分中出现了一些未解释的 TeX 标记。总结一下我的配置:

  1. Windows 中的 MiKTeX
  2. BibTeX 样式文件 aipauth4-1.bst
  3. BibTeX 信息直接来自spire 网站
  4. 我在 LaTeX 文件头部部分使用了以下内容:

\documentclass[secnumarabic, graphics,floatfix, nofootinbib,tightenlines,nobibnotes, aps, prl, 12pt]{revtex4}

  1. 我使用以下命令调用 BibTeX 样式文件

\bibliographystyle{h-physrev}

我想知道如何让样式文件aipauth4-1.bst发挥作用?

答案1

对于aipauth4-1和相关的书目样式,您应该使用4-1documentclass 的版本,即。revtex4-1而不是revtex4。这些新的书目样式是此版本的主要功能之一4-1。请参阅ctan 上的 revtex4-1

以下是一对最小工作文档:

示例输出

\documentclass[secnumarabic, graphics,floatfix,nofootinbib,
tightenlines,nobibnotes,aps,prl,12pt]{revtex4-1}

\begin{document}

\cite{Kapustin:2013hpk}
\cite{Mishra:2008dm}

\bibliographystyle{aipauth4-1}
\bibliography{bibl}

\end{document}

包含bibl.bib

@article{Kapustin:2013hpk,
      author         = "Kapustin, Anton and Willett, Brian",
      title          = "{Wilson loops in supersymmetric Chern-Simons-matter
                        theories and duality}",
      year           = "2013",
      eprint         = "1302.2164",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-th",
      SLACcitation   = "%%CITATION = ARXIV:1302.2164;%%",
}

@article{Mishra:2008dm,
      author         = "Mishra, Ananta P. and Mohapatra, Ranjita K. and Saumia,
                        P.S. and Srivastava, Ajit M.",
      title          = "{Using cosmic microwave background radiation analysis
                        tools for flow anisotropies in relativistic heavy-ion
                        collisions}",
      journal        = "Phys.Rev.",
      volume         = "C81",
      pages          = "034903",
      doi            = "10.1103/PhysRevC.81.034903",
      year           = "2010",
      eprint         = "0811.0292",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-ph",
      SLACcitation   = "%%CITATION = ARXIV:0811.0292;%%",
}

通过编译

latex mainfile
bibtex mainfile
latex mainfile
latex mainfile

您的tex文件在哪里mainfile.tex

由于第一个条目没有期刊信息,因此会产生警告,但这是从您提到的 inspire 网站收集的数据。最好将此条目更改为@misc而不是@article在书目文件中。

如果您不想要存档信息,最简单的方法是从文件中删除行eprintarchivePrefix和,但您最好告诉读者可以在哪里找到该论文,例如如果它不在期刊中,则通过字段。primaryClassbibnote

相关内容