biber/biblatex:\DeclareSourcemap 与 bcf 文件冲突?

biber/biblatex:\DeclareSourcemap 与 bcf 文件冲突?

因此,我尝试\DeclareSourcemap按照 biblatex 手册进行操作。这是我的代码:

\RequirePackage{filecontents}
\begin{filecontents*}{p.bib}
  @article{A1,
  author={Aa, A and Bb, B},
  title={Title},
  abstract={abs},
  journal={J BS},
  year={1999},
  }
  @conference{A2,
  author={Aa, A and Ab, S},
  title={Title},
  abstract={abs},
  journal={J BS},
  year={2009},
  }
\end{filecontents*}
\documentclass{article}
\usepackage[style=authoryear-comp,backend=biber]{biblatex}
\addbibresource{p.bib}
\DeclareSourcemap{
  \maps[datatype=bibtex,overwrite]{
    \map{
      \step[fieldsource=title]
      \step[fieldset=title, fieldvalue=Test]
}}}    
\begin{document}
\textcite{A1,A2}
\printbibliography
\end{document}

通过 latex/biber 运行此操作不会将title字段更改为“测试”。在.bcf文件中,创建了源映射规则,以下是相关代码片段:

<!-- SOURCEMAP -->
<bcf:sourcemap>
  <bcf:maps datatype="bibtex" map_overwrite="1">
    <bcf:map>
      <bcf:map_step map_field_source="title"/>
      <bcf:map_step map_field_set="title" map_field_value="Test"/>
    </bcf:map>
  </bcf:maps>
  <bcf:maps datatype="bibtex" driver_defaults="1">
    <bcf:map>
      <bcf:map_step map_type_source="conference" map_type_target="inproceedings"/>
      <bcf:map_step map_type_source="electronic" map_type_target="online"/>
      <bcf:map_step map_type_source="www" map_type_target="online"/>
  […]

似乎我的附加块没有得到处理,因为还有另一个mapsbibtex(而这个块确实得到了处理,因为它变为@conference@inproceedings)?如果我将map块复制到中biber.conf,它会按预期工作。所以我的问题是:如何正确使用\DeclareSourcemap以确保地图得到执行,独立于可能的其他块?

相关内容