有没有(简单的)方法来创建或个性化.bst 文件?

有没有(简单的)方法来创建或个性化.bst 文件?

当你为期刊准备一篇文章时(就我而言,量子信息与计算在出版《Rinton Press》一书时,他们经常要求你使用某种格式来引用参考文献;就我而言,格式如下:

[1] R. Calderbank 和 P. Shor(1996 年),存在良好的量子纠错码, Phys. Rev. A, 54, 第 1098-1106 页。

[2] MA Nielsen 和 J. Kempe (2001),可分离国家的整体混乱程度比局部混乱程度更高, 量化-ph/0105090。

[3] AW Marshall 和 I. Olkin (1979),不等式:主要化理论及其应用,Academic Press(纽约)。

问题是,有时(这种情况就是如此)他们不.bstbibtex用户提供样式文件。我(我想还有很多其他人)不喜欢将 bibtex 文件的所有参考资料逐一复制到 tex 文档中。因此,以下是我想回答的问题:

创建 .bst 文件?(适用于 Rinton 或任何其他出版商)

乍一看,我认为这很容易做到:毕竟,文件.bst只是一个为列表提供格式的简单脚本。奇怪的是,经过长时间的搜索,我还是无法找到一个简单干净的解决方案来解决这个问题。以下是我一直在寻找的选项:

  1. 我曾尝试改编以前的 .bst 文件:具体来说,apsrev4-1.bst,其格式类似。其他人之前也尝试过这种解决方案[1][2]。但是,这是一个丑陋的选择。首先,它需要浏览 .bst 的脚本并理解它。其次,不同的 .bst 文件中使用的脚本格式不同(相当烦人),因此除非您确实理解所写的内容,否则很难修改它们。

  2. 上面的解决方案非常糟糕,而且确实浪费了时间,所以我想知道:有没有软件工具(希望有 GUI)可以完成这项工作?毕竟,对于 .bst 脚本专家来说,编写某种程序来生成 .bst 文件应该相当容易。此站点中有一些相关问题,要求提供类似的信息[3][4];我在那里看到了几个建议的应用程序,但浏览它们的手册似乎不太容易使用。难道没有一些软件工具可以在不到 1 小时的工作时间内生成 .bst 吗?

评论理想情况下我想要使​​用/个性化/创建.bst支持字段的样式eprint(例如aps4-1.bst)。

答案1

正如 Ulrike 所说,使用发行版中提供的 makebst 工具。请注意,该程序会询问一长串问题,因此在执行此操作时请留出一些时间。可以这样调用它:

latex makebst

答案2

书目样式的定制是最近开发的吸水工程是为 BibTeX 创建的,尽管它使用的是 BibTeX 的替代品而不是 BibTeX 本身。引用 Bibulous 文档的介绍:

Bibulous 的诞生源于对使用 BibTeX 晦涩难懂的语言创建参考书目样式的复杂性感到沮丧,同时也源于这样的认识:由于参考书目是高度结构化的,因此应该能够使用模板方法简单灵活地指定它们。无需学习一门新语言即可创建参考书目样式,指定样式只需几分钟。

对于 OP 的数据库文件

@article{one,
  title = {Good quantum error-correcting codes exist},
  author = {Calderbank, A. R. and Shor, Peter W.},
  journal = {Phys. Rev. A},
  volume = {54},
  issue = {2},
  pages = {1098--1105},
  year = {1996},
  doi = {10.1103/PhysRevA.54.1098},
  url = {http://link.aps.org/doi/10.1103/PhysRevA.54.1098}
}
@arxiv{two,
  author = {M. A. Nielsen and J. Kempe},
  year = 2001,
  title = {Separable states are more disordered globally than locally},
  url = {quant-ph/0011117}
}
@book{three,
  author = {Albert W. Marshall and Ingram Olkin},
  title = {Inequalities: theory of majorization and its applications},
  year = 1979,
  publisher = {Academic Press},
  address = {New York}
}

(请注意,我根据 OP 的输入稍微更改了条目,假设与在线参考资料的差异是无意的。)相应的样式模板可以采用以下形式

TEMPLATES:
article = <au> (<year>), \textit{<title>}, <journal>, <volume>,{ }...
          [pp.~<startpage>--<endpage>|p.~<startpage>|<eid>|].[ <note>]
book = [<au>|<ed>|] (<year>), \textit{<title>}, <publisher> (<address>).[ <note>]
arxiv = <au> (<year>), \textit{<title>}, \url{<url>}.

SPECIAL-TEMPLATES:
citelabel = <citenum>
sortkey = <citenum>
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [<authorlist.n.first.initial()>.][<authorlist.n.middle.initial().compress()>.][<authorlist.n.prefix>] <authorlist.n.last>[, <authorlist.n.suffix>]
au = <authorname.0>, ...,{ and }<authorname.9>
editorname.n = [<editorlist.n.first.initial()>.][<editorlist.n.middle.initial().compress()>.][<editorlist.n.prefix>] <editorlist.n.last>[, <editorlist.n.suffix>]
ed = <editorname.0>, ...,{ and }<editorname.3>

这里我使用了自定义条目类型,但用户arxiv也可以使用其他任何名称。将此模板与 Bibulous 结合使用会产生格式化的输出misc

在此处输入图片描述

更改样式模板很容易。这<au>是格式化作者列表的典型缩写,每个<.>变量的意思是“在此处插入条目的数据”。要添加期刊名称的斜体,只需在模板中输入命令即可\textit{...}<journal>要将年份放在参考文献的末尾而不是作者列表之后,只需移动(<year>)到模板内的所需位置即可。等等。Bibulous 文档包含各种其他示例供您参考。

答案3

我不知道有哪个软件具有精美的 GUI 并允许创建bst文件,但定制样式的常用推荐方法是使用 custom-bib 包。它会询问您许多有关样式的详细问题(包括字段选项eprint),然后根据这些问题创建一个bst文件。您甚至可以在记录的文件中更改某些答案dbj,这样您就可以创建自定义样式的变体或改进版本,而无需再次回答所有问题。

你也可以从头开始,这并不难。两个最有价值的信息来源是韓國, 和驯服野兽

相关内容