将非ASCII / UTF-8字符转换为LaTeX代码

时间:2016-07-26 10:40:01

标签: perl latex entity

我们必须将非ASCII,UTF-8或命名实体字符转换为LaTeX代码。现在我们使用非ASCII到Unicode,然后使用Perl脚本将Unicode用于LaTeX /实体。

例如:

 ó --> \'{o}
 ó --> \'{o}
 ó --> \'{o}

在Perl程序/脚本中是否有从非ASCII或UTF-8到LaTeX代码的直接转换?

1 个答案:

答案 0 :(得分:3)

使用XML::Entities模块解码实体非常简单,LaTeX::Encode模块将它们重新编码为LaTeX

请注意,我已为解码功能显式创建了别名xml_decode,因为导出的名称只是decode,这太不精确了

use utf8;
use strict;
use warnings 'all';
use feature 'say';

use XML::Entities ();
use LaTeX::Encode 'latex_encode';
*xml_decode = \&XML::Entities::decode;

for my $s ( 'ó', 'ó', 'ó' ) {
    my $reencoded = latex_encode(xml_decode('all', $s));
    say $reencoded;
}

输出

{\'o}
{\'o}
{\'o}