工具模式下的 Biber 不再按字母顺序对字段进行排序

工具模式下的 Biber 不再按字母顺序对字段进行排序

工具模式下的 Biber 用于对字段进行排序之内默认情况下按字母顺序排列条目(不是:BIB 文件中的条目!)。较新版本的 Biber 默认采用相当奇怪的排序。是否可以恢复按字母顺序排序?

对于我运行的所有示例biber --tool --output_file out.bib input.bib

输入:

@REPORT{Self2016,
  DATE      = {2016},
  TITLE     = {The title},
  AUTHOR    = {Self, My}
}

比伯 2.52.6 正确排序:

@REPORT{Self2016,
  AUTHOR = {Self, My},
  DATE = {2016},
  TITLE = {The title},
}

但是,其他字段不按字母顺序排序,例如URL

输入:

@REPORT{Self2016,
  DATE      = {2016},
  TITLE     = {The title},
  AUTHOR    = {Self, My},
  URL       = {http://example.net}
}

Biber 2.5 正确排序:

@REPORT{Self2016,
  AUTHOR = {Self, My},
  DATE = {2016},
  TITLE = {The title},
  URL = {http://example.net},
}

Biber 2.6 没有(URL应该是最后一个):

@REPORT{Self2016,
  AUTHOR = {Self, My},
  URL = {http://example.net},
  DATE = {2016},
  TITLE = {The title},
}

Biber 2.7 (beta) 的行为与 Biber 2.6 类似。奇怪的排序不仅限于URL字段,还适用于INSTITUTIONLOCATION(也许还适用于其他字段)。

是否有选项可以强制按字母顺序对字段进行排序?

答案1

四年后,我自己找到了答案,在3.13. 工具模式在手册中:

写入 BibTeX 数据时字段的顺序由选项控制--output-field-order。这是一个以逗号分隔的字段或字段类列表,字段将按指定的顺序输出到条目中。任何未指定的字段将在指定字段之后按排序顺序输出。

默认值为(从biber -help):

默认情况下,其值为“options,abstract,names,lists,dates”。

由于所有未指定的字段都会自动按排序顺序输出,因此诀窍是设置指定选项字段。不传递任何值会引发错误,但传递空格字符可以。因此解决方案是:

biber --tool --output_file=out.bib input.bib --output-field-order=" "

相关内容