例如,我有一个使用旧式 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
。