matplotlib.dviread
#
Un módulo para leer archivos dvi generados por TeX. Varias limitaciones hacen que esto no sea (actualmente) útil como un preprocesador dvi de propósito general, pero actualmente lo usa el backend pdf para procesar texto usetex.
Interfaz:
with Dvi(filename, 72) as dvi:
# iterate over pages:
for page in dvi:
w, h, d = page.width, page.height, page.descent
for x, y, font, glyph, width in page.text:
fontname = font.texname
pointsize = font.size
...
for x, y, height, width in page.boxes:
...
- clase matplotlib.dviread. Dvi ( nombre de archivo , dpi ) [fuente] #
Bases:
object
Un lector para un archivo dvi ("independiente del dispositivo"), producido por TeX.
La implementación actual solo puede iterar a través de las páginas en orden y ni siquiera intenta verificar el epílogo.
Esta clase se puede usar como administrador de contexto para cerrar el archivo subyacente al salir. Las páginas se pueden leer mediante iteración. Aquí hay una forma demasiado simple de extraer texto sin intentar detectar espacios en blanco:
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
Lea los datos del archivo llamado nombre de archivo y convierta las unidades internas de TeX a unidades de dpi por pulgada. dpi solo establece las unidades y no limita la resolución. Utilice Ninguno para devolver las unidades internas de TeX.
- clase matplotlib.dviread. DviFont ( escala , tfm , texname , vf ) [fuente] #
Bases:
object
Encapsulación de una fuente a la que puede hacer referencia un archivo DVI.
Esta clase contiene el nombre de texto y el tamaño de una fuente, admite la comparación y conoce el ancho de los glifos en las mismas unidades que el archivo AFM. También hay atributos internos (para uso de dviread.py) que no se usan para comparar.
El tamaño está en puntos Adobe (convertidos de puntos TeX).
- Parámetros :
- flotador de escala
Factor por el cual la fuente se escala desde su tamaño natural.
- tfm tfm
Métricas de fuente TeX para esta fuente
- bytes de nombre de texto
Nombre de la fuente tal como la usan internamente TeX y sus amigos, como una cadena de bytes ASCII. Esto suele ser muy diferente de cualquier nombre de fuente externo;
PsfontsMap
se puede utilizar para encontrar el nombre externo de la fuente.- vf vf
Un archivo de "fuente virtual" TeX, o Ninguno si esta fuente no es virtual.
- Atributos :
- bytes de nombre de texto
- flotador de tamaño
Tamaño de la fuente en puntos Adobe, convertido a partir de los puntos TeX ligeramente más pequeños.
- lista de anchos
Anchos de glifos en unidades de espacio de glifo, normalmente 1/1000 del tamaño en puntos.
- tamaño #
- nombre de texto #
- anchos #
- clase matplotlib.dviread. PsFont ( textname , psname , efectos , codificación , nombre de archivo ) [fuente] #
Bases:
tuple
Cree una nueva instancia de PsFont (textname, psname, efectos, codificación, nombre de archivo)
- efectos #
Alias para el campo número 2
- codificación #
Alias para el campo número 3
- nombre de archivo #
Alias para el campo número 4
- psname #
Alias para el campo número 1
- nombre de texto #
Alias para el número de campo 0
- clase matplotlib.dviread. PsfontsMap ( nombre de archivo ) [fuente] #
Bases:
object
Un archivo con formato psfonts.map, que asigna fuentes TeX a fuentes PS.
- Parámetros :
- nombre de archivo str o ruta similar
notas
Por razones históricas, TeX conoce muchas fuentes Type-1 con nombres diferentes a los del mundo exterior. (Por un lado, los nombres deben caber en ocho caracteres). Además, las fuentes nativas de TeX no son Type-1 sino Metafont, que no es trivial para convertir a PostScript, excepto como un mapa de bits. Si bien existen conversiones de alta calidad al formato Type-1 y se envían con distribuciones modernas de TeX, necesitamos saber qué fuentes Type-1 son las contrapartes de qué fuentes nativas. Por estas razones, se necesita una asignación de nombres de fuentes internas a nombres de archivos de fuentes.
Un árbol texmf generalmente incluye archivos de mapeo llamados eg
psfonts.map
,pdftex.map
odvipdfm.map
. El archivo espsfonts.map
utilizado por dvips , pdfTeX y dvipdfm . podría evitar incrustar las 35 fuentes PostScript (es decir, no tener un nombre de archivo para ellas, como en el ejemplo de Times-Bold anterior), mientras que los archivos relacionados con pdf quizás solo eviten las fuentes pdf "Base 14". Pero el usuario puede haber configurado estos archivos de manera diferente.pdftex.map
dvipdfm.map
psfonts.map
Ejemplos
>>> map = PsfontsMap(find_tex_file('pdftex.map')) >>> entry = map[b'ptmbo8r'] >>> entry.texname b'ptmbo8r' >>> entry.psname b'Times-Bold' >>> entry.encoding '/usr/local/texlive/2008/texmf-dist/fonts/enc/dvips/base/8r.enc' >>> entry.effects {'slant': 0.16700000000000001} >>> entry.filename
- clase matplotlib.dviread. Tfm ( nombre de archivo ) [fuente] #
Bases:
object
Un archivo métrico de fuente TeX.
Esta implementación cubre solo lo mínimo que necesita la clase Dvi.
- Parámetros :
- nombre de archivo str o ruta similar
- Atributos :
- suma de comprobación int
Se utiliza para verificar contra el archivo dvi.
- diseño_tamaño int
Tamaño de diseño de la fuente (unidades desconocidas)
- ancho, alto, profundidad dict
Las dimensiones de cada carácter deben escalarse según el factor especificado en el archivo dvi. Estos son dictados porque la indexación puede no comenzar desde 0.
- suma de control #
- profundidad #
- diseño_tamaño #
- altura #
- ancho #
- clase matplotlib.dviread. Vf ( nombre de archivo ) [fuente] #
Bases:
Dvi
Una fuente virtual (archivo *.vf) que contiene subrutinas para archivos dvi.
- Parámetros :
- nombre de archivo str o ruta similar
notas
El formato de fuente virtual es un derivado de dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts Esta clase reutiliza parte de la maquinaria
Dvi
pero reemplaza el_read
mecanismo de bucle y envío.Ejemplos
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
Lea los datos del archivo llamado nombre de archivo y convierta las unidades internas de TeX a unidades de dpi por pulgada. dpi solo establece las unidades y no limita la resolución. Utilice Ninguno para devolver las unidades internas de TeX.
- matplotlib.dviread. find_tex_file ( nombre de archivo , format=< parámetro obsoleto> ) [fuente] #
Encuentre un archivo en el árbol texmf usando kpathsea .
La biblioteca kpathsea, proporcionada por la mayoría de las distribuciones TeX existentes, tanto en sistemas tipo Unix como en Windows (MikTeX), se invoca mediante un proceso luatex de larga duración si luatex está instalado, o mediante kpse, en caso contrario.
- Parámetros :
- nombre de archivo str o ruta similar
- formato str o bytes
Se usa como el valor de la
--format
opción para kpsewhich . Podría ser, por ejemplo, 'tfm' o 'vf' para limitar la búsqueda a ese tipo de archivos. Obsoleto.
- aumenta :
- Error de archivo no encontrado
Si no se encuentra el archivo.