bst(BibTeX 样式)文件是用哪种编程语言编写的?

bst(BibTeX 样式)文件是用哪种编程语言编写的?

我正在尝试调整参考书目样式natbib。我面临的结构如下:

FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "\emph{" swap$ * "}" * }
  if$
}

这是哪种语言?我想阅读相关内容以便更好地理解它。有手册吗?我找到了一些文档,但没有一个像 TeXbook 那样详细介绍了 TeX 概念。

答案1

BibTeX 作者提及

BibTeX 的工作原理如下。它以输入

  1. .auxLaTeX 在早期运行中生成的文件;
  2. 一个.bst文件(样式文件),它指定一般的参考列表样式并指定如何格式化单个条目,它由样式设计器(在本程序中称为向导)使用 BibTeX 文档中描述的专用语言编写 - 请参阅文件btxdoc.tex; 和
  3. .bib构成用户可能希望使用的所有参考列表条目的数据库的文件。

“专用语言”,如设计 BibTeX 样式,是一种“后缀堆栈语言”的形式:

基本上,样式文件是一个用未命名语言编写的程序,它告诉 BibTeX 如何格式化参考列表中的条目 [..]。该编程语言有十个命令 [..]。这些命令操作语言的对象:常量变量功能, 这, 和参赛名单. (警告:为便于解释而选择的术语 [..] 与 BibTeX 略有不同。例如 [..] “变量”和“函数”对 BibTeX 来说都是“函数”。[..])

有两种类型的函数:内置BibTeX 提供的 [..] 和您使用MACROFUNCTION命令定义的。

作为样式设计师,最耗时的任务是使用命令FUNCTION[...] 创建或修改函数。

另一篇有趣的相关文章是驯服BeaST,试图提供“BibTeX 的 B 到 X”——尽可能完整的参考。

bibtex本身是用 Web 编写的(类似于 TeX)。虽然我们知道它是一个可执行文件,但原始的bibtex.web来源纠结转化为 PASCAL 代码,然后编译成二进制可执行文件。

答案2

你可以通过运行以下命令来制作自己的 BibTeX.bst文件

乳胶制品

使用merlin.mbs看这里,生成.dbj可在此处获得)。然后 LaTeX 将.dbj文件编译为.bst。使用此方法,命令提示符将询问您一长串问题以创建自定义的.bst

另一种方法是.bst通过注释/取消注释现有文件中的相应行来生成文件.dbj例如从这里,然后使用例如进行编译

latex imsi.dbj

.bst还提供一些示例文件在这个 GitHub 仓库中

答案3

这些案例对我帮助很大。这是对 .bst 文件的简单修改。我必须将“and”更改为“&”,还要修改编辑器函数,其中有“, editor”,我将其更改为“(Hrsg.)”。我正在使用具有 apalike 书目样式的 natbib 包。对我来说效果很好。

参考书目:natbib、apa-style 和 apacite

BibTeX:Apalike 使用 & 代替 and

就像他们所说的那样,使用 TexShop 或任何文本工具可以轻松修改。

相关内容