按字母顺序排列 .bib 文件

按字母顺序排列 .bib 文件

我正在寻找一种方法来编辑/重新排序条目在 .bib 文件中以匹配为参考书目定义的顺序。这里有几个关于对参考书目进行排序的问题,但我没有找到任何关于对 .bib 文件本身进行排序的信息……也许是因为这是不可能的!例如,根据 .bib 文件中的顺序对参考书目进行排序与我要查找的相反。我想根据参考书目中的顺序对 .bib 文件进行排序。

原因是我有多个按主题组织的 .bib 文件,每个主题文件都按我阅读来源的时间组织。如果能将这些条目组织起来,我就能节省不少时间,例如,我可以删除某个作者的整段来源,而不必逐一搜索。

%LuaLaTeX
\documentclass{report}
\usepackage[authordate,backend=biber,sorting=nyt]{biblatex-chicago}

\begin{filecontents}{bib.bib}

@book{bcd,
    author          = {Mike Man},
    title           = {Title},
    year            = {2016},
    publisher       = {Books},
}

@book{cde,
    author          = {Bill Ban},
    title           = {Name},
    year            = {2009},
    publisher       = {Publisher},
}

@book{abc,
    author          = {Bill Ban},
    title           = {Something},
    year            = {2014},
    publisher       = {Somewhere},
}

\end{filecontents}

\addbibresource{bib.bib}
\nocite{*}

\begin{document}

Text.

\printbibliography

\end{document}

理想情况下,可以有一种方法可以重新排序 bib.bib,使其与参考书目中定义的顺序相匹配(因此,authordate,sorting=nyt)。在这种情况下,预期的排序应该是cde, abc, bcd

答案1

使用 的工具模式可以实现这一点biber。假设您的 .bib 是“test.bib”,并且您在“test.conf”中有以下内容(这只是“nyt”排序方案的配置文件版本 - 请参阅 biblatex/biber PDF 文档了解此内容)。

<config>
  <!-- nyt SORTING -->
  <sorting>
    <presort>mm</presort>
    <sort order="1">
      <sortitem order="1">presort</sortitem>
    </sort>
    <sort order="2" final="1">
      <sortitem order="1">sortkey</sortitem>
    </sort>
    <sort order="3">
      <sortitem order="1">sortname</sortitem>
      <sortitem order="2">author</sortitem>
      <sortitem order="3">editor</sortitem>
      <sortitem order="4">translator</sortitem>
      <sortitem order="5">sorttitle</sortitem>
      <sortitem order="6">title</sortitem>
    </sort>
    <sort order="4">
      <sortitem order="1">sortyear</sortitem>
      <sortitem order="2">year</sortitem>
    </sort>
    <sort order="5">
      <sortitem order="1">sorttitle</sortitem>
      <sortitem order="2">title</sortitem>
    </sort>
    <sort order="6">
      <sortitem order="1">volume</sortitem>
      <sortitem order="2">0</sortitem>
    </sort>
  </sorting>
</config>

然后只需运行此命令:

biber --tool --configfile=test.conf test.bib

并且您排序后的 .bib 将在 中test_bibertool.bib

biber在工具模式下使用默认配置文件,您可以通过运行找到它:

biber --tool-config

然后,您可以复制此文件并根据需要进行编辑。您可以使用工具模式对 .bib 文件进行许多操作,例如重新格式化、排序、使用源映射更改数据、实现继承规则等。请参阅 PDF 文档biber

PDF手册biber(当前为第 3.1.7 节)详细介绍了配置文件中接受的排序规范的格式。

相关内容