我正在尝试通过Pybtex处理一些转换为XML树的Bibtex条目。我想通过latexcodec继续处理他们的LaTeX特价中的所有特殊字符到unicode字符。然而,通过问题Does pybtex support accent/special characters in .bib file?和我检查语法的文档,我得不到正确的输出。
>>> import latexcodec
>>> name = 'Br\"{u}derle'
>>> name.decode('latex')
u'Br"{u}derle'
我已经在不同的字符串和特殊字符中对此进行了测试,并且它总是在不翻译字符的情况下剥离第一个斜杠。我应该以不同方式使用latexencoder来获得正确的输出吗?
答案 0 :(得分:1)
您的反斜杠根本不包含在字符串中,因为它被视为字符串转义符,因此编解码器永远不会看到它:
>>> print 'Br\"{u}derle'
Br"{u}derle
使用原始字符串:
name = r'Br\"{u}derle'
或者,尝试从文件中读取实际数据,在这种情况下,原始/非原始区别无关紧要。 (区别仅适用于Python源代码中的文字字符串。)