Преобразование не-ASCII / UTF-8 символов в LaTeX коды

Обновить

November 2018

Просмотры

376 раз

2

Мы должны преобразовать не-ASCII, UTF-8, или названные символы сущностей в LaTeX кодов. Теперь мы используем не-ASCII в Unicode, а затем Unicode в LaTeX / объект, используя скрипт на Perl.

Например:

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

Есть ли прямое преобразование из не-ASCII или UTF-8 в LaTeX кодов в Perl программы / сценария?

1 ответы

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}