biblatex:bibtex@STRING 处理后的字符串操作

biblatex:bibtex@STRING 处理后的字符串操作

我正在将 biblatex 3.1 与一些 BibTeX ( ) 文件结合使用.bib。这些文件以@STRING如下宏开头:

@STRING{CUP="Cambridge University Press"}

并包含以下形式的条目:

@BOOK{example,
  AUTHOR       = {John Doe},
  TITLE        = {Leviathan},
  YEAR         = {1992},
  PUBLISHER    = CUP,
  ADDRESS      = {New York},
}

在 biblatex 的正常使用下,此条目的出版商字段中的“CUP”将扩展为“剑桥大学出版社”。我希望它扩展为“剑桥大学出版社”。

我只需调整文件@STRING中的宏即可进行此更改.bib。但这将对每个 biblatex 样式进行更改,而我只想对一种特定的 biblatex 样式进行此更改。我该怎么做?

如何使用 biblatex 替换参考书目中的给定字符串?表明\DeclareSourceMap使用特定的 biblatex 样式时,可以很容易地对参考书目字段进行任意搜索和替换。只需将相关\DeclareSourceMap命令添加到 biblatex 样式 (.bbx) 文件中即可。问题是这些命令似乎无法对上例中的 PUBLISHER 字段等条目进行操作。(我不知道为什么。)

答案1

应该\DeclareSourceMap使用给出的字符串的值而@STRING不是缩写。

因此的定义\DeclareSourceMap应该是这样的:

\DeclareSourcemap{ 
    \maps[datatype=bibtex]{
      \map{
           \step[fieldsource=publisher, match={Cambridge University Press}, replace={Cambridge Univ Press}]
          }
    }      
}

然后产生在此处输入图片描述

相关内容