使用 biber 将 biblatex 转换为 BibTeX 格式

使用 biber 将 biblatex 转换为 BibTeX 格式

我希望使用biblatex+ biber,很大程度上是因为它的数据格式(xdata!),但经常需要使用.bst基于 - 的参考书目样式。我知道biber --tool允许转换.bib- 文件。在自己动手之前,是否有可用的 biber 配置文件可以将格式转换biblatex为 BibTeX 格式(例如,解析 cross/x 引用/数据、位置 -> 地址、期刊标题 -> 期刊、日期 -> 年份 + #mon#)?

答案1

尝试biber选项--tool-resolve。这解决了 crossref/xref 和 xdata 问题。要反转您提到的标准映射(使用文档中的标准宏biblatex实现),请将标准映射复制到您的序言中并根据需要进行编辑以反转它们:biblatex.def

\DeclareSourcemap[datatype=bibtex]{
  \map{
    \step[typesource=conference, typetarget=inproceedings]
    \step[typesource=electronic, typetarget=online]
    \step[typesource=www,        typetarget=online]
  }
  \map{
    \step[typesource=mastersthesis, typetarget=thesis, final]
    \step[fieldset=type,            fieldvalue=mathesis]
  }
  \map{
    \step[typesource=phdthesis, typetarget=thesis, final]
    \step[fieldset=type,        fieldvalue=phdthesis]
  }
  \map{
    \step[typesource=techreport, typetarget=report, final]
    \step[fieldset=type,         fieldvalue=techreport]
  }
  \map{
    \step[fieldsource=address,       fieldtarget=location]
    \step[fieldsource=school,        fieldtarget=institution]
    \step[fieldsource=annote,        fieldtarget=annotation]
    \step[fieldsource=archiveprefix, fieldtarget=eprinttype]
    \step[fieldsource=journal,       fieldtarget=journaltitle]
    \step[fieldsource=primaryclass,  fieldtarget=eprintclass]
    \step[fieldsource=key,           fieldtarget=sortkey]
    \step[fieldsource=pdf,           fieldtarget=file]
  }
}

biber.conf或者通过你的(这些是标准映射,只需根据需要反转源/目标说明符)做同样的事情:

<sourcemap>
  <maps datatype="bibtex">
    <map>
      <map_step map_type_source="conference" map_type_target="inproceedings"/>
      <map_step map_type_source="electronic" map_type_target="online"/>
      <map_step map_type_source="www" map_type_target="online"/>
    </map>
    <map>
      <map_step map_type_source="mastersthesis" map_type_target="thesis" map_final="1"/>
      <map_step map_field_set="type" map_field_value="mathesis"/>
    </map>
    <map>
      <map_step map_type_source="phdthesis" map_type_target="thesis" map_final="1"/>
      <map_step map_field_set="type" map_field_value="phdthesis"/>
    </map>
    <map>
      <map_step map_type_source="techreport" map_type_target="report" map_final="1"/>
      <map_step map_field_set="type" map_field_value="techreport"/>
    </map>
    <map>
      <map_step map_field_source="address" map_field_target="location"/>
      <map_step map_field_source="school" map_field_target="institution"/>
      <map_step map_field_source="annote" map_field_target="annotation"/>
      <map_step map_field_source="archiveprefix" map_field_target="eprinttype"/>
      <map_step map_field_source="journal" map_field_target="journaltitle"/>
      <map_step map_field_source="primaryclass" map_field_target="eprintclass"/>
      <map_step map_field_source="key" map_field_target="sortkey"/>
      <map_step map_field_source="pdf" map_field_target="file"/>
    </map>
  </maps>

这些是等效的并实现默认biblatex映射,它只取决于您喜欢在哪里指定映射。

相关内容