如何使用 biber --tool_resolve --tool 删除 xdata 条目(解析后)

如何使用 biber --tool_resolve --tool 删除 xdata 条目(解析后)

myrefs.bib考虑包含以下 biblatex 条目的文件:

@XDATA{pom,
  EVENTDATE  = {1999-12-31/2000-01-01},
  EVENTTITLE = {Party},
  VENUE      = {Somewhere},
}

@PROCEEDINGS{pomp,
  XDATA  = {pom},
  DATE   = {2000},
  EDITOR = {Me, Myself and I},
  TITLE  = {Party-report},
}

我想使用

biber --tool_resolve -g mybiber.conf --tool myrefs.bib

要得到

@PROCEEDINGS{pomp,
  EVENTDATE  = {1999-12-31/2000-01-01},
  EVENTTITLE = {Party},
  DATE       = {2000},
  EDITOR     = {Me, Myself and I},
  TITLE      = {Party-report},
  VENUE      = {Somewhere},
}

可以这样做吗? 中的对应地图是什么样mybiber.conf的?(我知道可以使用 删除字段map_null="1",但我还没有找到这样的条目选项。)

答案1

您的初始 .bib 中有一个小错误 - 您需要使用字段XDATA而不是CROSSREF

@XDATA{pom,
  EVENTDATE  = {1999-12-31/2000-01-01},
  EVENTTITLE = {Party},
  VENUE      = {Somewhere},
}

@PROCEEDINGS{pomp,
  XDATA    = {pom},
  DATE     = {2000},
  EDITOR   = {Me, Myself and I},
  TITLE    = {Party-report},
}

然后,这会在工具输出模式中为您提供所需的“pomp”条目。确实,原始“pom”XDATA条目也在输出中,但这是无害的,因为它不再被引用。或者,您有什么理由必须在输出中消除它?有一个映射选项可以删除条目(map_entry_null),但与所有映射一样,这应用于读取数据源,因此它会在进行任何处理之前删除条目 - 这不是您想要的。

您可以biber在此后运行单独的工具来删除已解析的XDATA条目。只需将其放入选项中提到的 conf 文件中-g

<config>
  <sourcemap>
    <maps datatype="bibtex" map_overwrite="1">
      <map>
        <map_step map_type_source="XDATA" map_final="1"/>
        <map_step map_entry_null="1"/>
      </map>
    </maps>
  </sourcemap>
</config>

map_entry_null记录在biberPDF 手册中。

相关内容