MEP29:文本灯标记#

状态#

讨论

分支和拉取请求#

目前没有,仅用于概念验证。

摘要#

该 MEP 建议为文本艺术家添加轻量级标记。

详细说明#

在文本注释中使用不同的尺寸/颜色/系列很困难,因为该 text方法接受尺寸/颜色/系列/重量/等参数。用于整个文本。但是,例如,如果想要使用不同的颜色,则必须查看提供此类示例的图库: Rainbow text

这个例子需要一个字符串列表和一个颜色列表,这使得使用起来很麻烦。另一种方法是使用一组受限的类似pango的标记并解释这个标记。

一些标记示例:

Hello <b>world!</b>`
Hello <span color="blue">world!</span>

实施#

markup_example.py中提供了概念证明,但目前仅处理水平方向。

改进#

  • 此概念证明使用正则表达式来解析文本,但使用标准库中的 html.parser 可能会更好。

  • 文本片段位置的计算可以从 OffsetFrom 类中受益。例如,参见使用带注释的复杂坐标中的第5 项

问题#

  • 一个严重的问题是如何处理同时具有 LaTeX 和 HTML 类标签的文本。例如,考虑以下情况:

    $<b>Bold$</b>
    

    建议是互斥。

向后兼容性#

目前没有,因为它只是一个概念证明

替代方案#

正如@anntzer 所提议的,这也可以作为对数学文本的改进来实现。例如:

r"$\text{Hello \textbf{world}}$"
r"$\text{Hello \textcolor{blue}{world}}$"
r"$\text{Hello \textsf{\small world}}$"