MEP29: marcado de luz de texto #
Estado #
Discusión
Sucursales y solicitudes de extracción #
Ninguno por el momento, solo prueba de concepto.
Resumen #
Este eurodiputado propone añadir un marcado ligero al artista del texto.
Descripción detallada #
El uso de diferentes tamaños/colores/familias en una anotación de texto es difícil porque el
text
método acepta argumentos de tamaño/color/familia/peso/etc. que se utilizan para todo el texto. Pero, si uno quiere, por ejemplo, tener diferentes colores, debe mirar la galería donde se proporciona un ejemplo de este tipo:
Texto del arco iris
Este ejemplo toma una lista de cadenas, así como una lista de colores, lo que hace que su uso sea engorroso. Una alternativa sería utilizar un conjunto restringido de marcado tipo pango e interpretar este marcado.
Algunos ejemplos de marcado:
Hello <b>world!</b>`
Hello <span color="blue">world!</span>
Implementación #
Se proporciona una prueba de concepto en markup_example.py pero actualmente solo maneja la dirección horizontal.
Mejoras #
Esta prueba de concepto usa expresiones regulares para analizar el texto, pero puede ser mejor usar html.parser de la biblioteca estándar.
El cálculo de las posiciones de los fragmentos de texto podría beneficiarse de la clase OffsetFrom. Consulte, por ejemplo, el elemento 5 en Uso de coordenadas complejas con anotaciones
Problemas #
Un problema serio es cómo manejar el texto que tiene etiquetas similares a LaTeX y HTML. Por ejemplo, considere lo siguiente:
$<b>Bold$</b>
La recomendación sería tener exclusión mutua.
Compatibilidad con versiones anteriores #
Ninguna por el momento ya que es solo una prueba de concepto
Alternativas #
Según lo propuesto por @anntzer, esto también podría implementarse como mejoras en mathtext. Por ejemplo:
r"$\text{Hello \textbf{world}}$"
r"$\text{Hello \textcolor{blue}{world}}$"
r"$\text{Hello \textsf{\small world}}$"