将 .bib 文件中的 month=Jan 或 month=jan 字符串转换为整数

将 .bib 文件中的 month=Jan 或 month=jan 字符串转换为整数

驯服野兽建议在month键中使用纯整数而不是字符串。

我的 .bib 文件中有混合month格式,我想要一个独特的解决方案。哪些工具可以将不同的字符串(如“jan”和“Jan”(包装在 0 到 2 对中{}))转换为1

答案1

鉴于这个不太有效的 bib 文件

aaa.bib
year= jan
journal="jan of feb of dec"
month="1"
month = "Jan"
month=  "{{jan}}"
month=  {{jan}}
month=  {jan}
month=  "2"
month=  {Jan}
author="Jan de Groote"

以下命令

 sed -e 's/\(^ *month\) *= *["{]{*jan}*[}"]/\1 = "1"/i' aaa.bib

输出

aaa
year= jan
journal="jan of feb of dec"
month="1"
month = "1"
month = "1"
month = "1"
month = "1"
month=  "2"
month = "1"
author="me"

这看起来是正确的,所以你只需要再有 11 条类似的线条就可以了(首先保存你的文件的副本!!)

答案2

引用 ttb:

最好有一个数值或缩写

引用 biblatex 手册:

这必须是一个整数,而不是序数或字符串。

尽管如此,在 JabRef 中,我们还是决定采用缩写,这并没有给我们带来麻烦:

@Article{,
  month = jun,
}

为了实现这一点,按Alt+F8或质量 -> 清理条目...然后,出现以下对话框:

清理条目

如果“运行字段格式化程序”的内容看起来不同,只需按“推荐用于 BibTeX”。

通过文件 -> “切换到 biblatex 模式”,可以切换到 biblatex 模式,然后使用“推荐用于 biblatex”。

清理 biblatex 的默认设置

相关内容