首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将非ASCII/UTF-8字符转换为LaTeX代码

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

Stack Overflow用户
提问于 2016-07-26 18:40:01
回答 2查看 1.1K关注 0票数 2

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

例如:

代码语言:javascript
复制
 ó --> \'{o}
 ó --> \'{o}
 ó --> \'{o}

在Perl程序/脚本中,是否存在从非ASCII码或UTF8码到LaTeX码的直接转换?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-26 19:25:43

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

注意,我已经显式地为解码函数创建了一个别名xml_decode,因为导出的名称只是decode,这太不精确了

代码语言:javascript
复制
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;
}

输出

代码语言:javascript
复制
{\'o}
{\'o}
{\'o}
票数 3
EN

Stack Overflow用户

发布于 2020-01-08 00:10:59

我花了大约2个小时才找到我的错误。Perl没有检测到以UTF-8编码的输入字符串。

您可以使用以下命令帮助perl将输入字符串视为utf-8 : use open ( ":encoding(UTF-8)",":std“);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38587627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档