是否有一个工具可以清除 BibTeX 源代码中的 LaTeX 风格转义?

是否有一个工具可以清除 BibTeX 源代码中的 LaTeX 风格转义?

例如,我有一个使用旧式 LaTeX 转义的 BibTeX 文件

作者 = {Fjeld, Morten 和 Sch\"{a}r, Sissel Guttormsen}

我想使用 jbibtex 通过 Scala 脚本读取文件,并利用其中的信息进行一些操作。但是转义符会造成阻碍,如果可以避免,我不想自己实现所有可能的 LaTeX 转义符的替换。

有没有一种工具可以输入 LaTeX 或 BibTeX 源,将所有转义的变音符号和其他类似符号替换为正确的 UTF-8 字符,并将其吐出而不进行任何其他更改?我可以想象我的用例有些奇特,但对于想要将旧手稿转换为现代技术的人来说,也许存在这样的工具。

答案1

您可以使用biber它来执行此操作。在命令行中输入

biber --tool --output_encoding=UTF-8 myfile.bib

用于myfile.bib包含:

@Article{Schroeder:Na,
  author =   {Schr{\"o}der, M.},
  title =    {Na{\"i}ve construction of hyper{K\"ahler} metrics},
  journal =  {{\'E}c. Norm. Sup.},
  year =     2000
}

您将获得一个包含以下内容的输出文件myfile_bibertool.bib

@ARTICLE{Schroeder:Na,
  AUTHOR       = {Schröder, M.},
  JOURNALTITLE = {Éc. Norm. Sup.},
  TITLE        = {Naïve  construction of hyper{Kähler} metrics},
  YEAR         = {2000},
}

因此德语和法语的口音被成功翻译。正如 egreg 所指出的,\"i这是现代 latex 中双点 i 的正确书写方式 - 旧的纯 TeX 方式无法通过开箱即用的方式\"\i正确转换。biber

在工具模式下,可以说服 biber 对你的源进行其他重写,请参阅 biber 手册texdoc biber

相关内容