MEP29: テキスト ライト マークアップ#
ステータス番号
討論
ブランチとプルリクエスト#
現時点では何もありません。概念実証のみです。
アブストラクト#
この MEP は、軽量マークアップをテキスト アーティストに追加することを提案しています。
詳細な説明#
text
メソッドはサイズ/色/ファミリ/重量などの引数を受け入れるため、テキスト注釈で異なるサイズ/色/ファミリを使用することは困難です
。全文に使われています。ただし、たとえば、別の色を使用したい場合は、そのような例が提供されているギャラリーを確認する必要があります:
レインボー テキスト
この例では、文字列のリストと色のリストを使用するため、使いにくくなっています。別の方法として、限定されたpangoのようなマークアップ セットを使用し、このマークアップを解釈する方法があります。
マークアップの例:
Hello <b>world!</b>`
Hello <span color="blue">world!</span>
実装#
概念実証はmarkup_example.pyで提供されていますが、現在は水平方向のみを処理します。
改良#
この概念実証では、正規表現を使用してテキストを解析しますが、標準ライブラリの html.parser を使用する方がよい場合があります。
テキスト フラグメントの位置の計算には、OffsetFrom クラスが役立ちます。たとえば、アノテーションで複雑な座標を使用するの項目 5 を参照してください。
問題#
深刻な問題の 1 つは、LaTeX と HTML のようなタグの両方を持つテキストをどのように処理するかです。たとえば、次のことを考慮してください。
$<b>Bold$</b>
相互排除を行うことをお勧めします。
下位互換性#
概念実証にすぎないため、現時点ではありません
代替案#
@anntzer が提案したように、これは mathtext の改善として実装することもできます。例えば:
r"$\text{Hello \textbf{world}}$"
r"$\text{Hello \textcolor{blue}{world}}$"
r"$\text{Hello \textsf{\small world}}$"