跳转到主要内容

一个用于在Python中处理LaTeX代码的词法分析器和编解码器。

项目描述

该编解码器提供了一种在LaTeX文本和unicode之间转换的便捷方式。由于它不是一个LaTeX编译器,因此更适合处理短文本片段,如一段段落或BibTeX条目的值,而不适合完整的LaTeX文档。特别是,其对待非简单选择字符的LaTeX命令的行为,旨在使unicode表示可由人类读者理解,但不是规范的,可能需要手动调整以产生期望的效果。

编码器会尽力将LaTeX输入(默认为ascii)范围之外的unicode字符替换为选择该字符的LaTeX命令。更技术地说,unicode码点被替换为选择可以合理表示码点的glyph的LaTeX命令。具有特殊用途的LaTeX中的unicode字符被替换为其LaTeX等效物。例如,

原始文本

编码后的LaTeX

¥

\\yen

ü

“u”

\N{NO-BREAK SPACE}

~

~

~

%

\%

#

\#

x

x

解码器尽力替换LaTeX命令中选择的字符,用Unicode字符代替。例如,

原始LaTeX

解码后的Unicode

\\yen

¥

“u”

ü

~

\N{NO-BREAK SPACE}

~

~

\%

%

\#

#

x

{x}

#

#

此外,注释被删除(包括标记注释结束的换行符),段落被规范化为双换行符,其他换行符保持不变。LaTeX命令之后的空格也被规范化了。

例如,

hi % bye
there\par world
\textbf     {awesome}

被解码为

hi there

world
\textbf {awesome}

在解码过程中,不直接选择字符的LaTeX命令(例如,宏和格式化命令)将保持不变。对于尚未被编解码器识别的字符选择的LaTeX命令,也会发生相同的情况。任何一种情况都可能导致混合Unicode字符串,其中一些字符被理解为实际的字符,而其他字符则被视为未展开命令的一部分。因此,有时为了表示可能未被识别的控制序列的开始,反斜杠将保持不变。

鉴于有众多不断变化的包提供此类LaTeX命令,编解码器永远不会完整,对新识别的未识别Unicode或LaTeX符号的新翻译总是受欢迎的。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源分发

latexcodec-3.0.0.tar.gz (31.0 kB 查看哈希值)

上传时间

构建分发

latexcodec-3.0.0-py3-none-any.whl (18.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面