matplotlib.dviread
#
Un module pour lire les fichiers dvi produits par TeX. Plusieurs limitations font qu'il n'est pas (actuellement) utile en tant que préprocesseur dvi à usage général, mais il est actuellement utilisé par le backend pdf pour le traitement du texte usetex.
Interface:
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:
...
- classe matplotlib.dviread. Dvi ( nom de fichier , dpi ) [source] #
Socles :
object
Un lecteur pour un fichier dvi ("device-independent"), tel que produit par TeX.
L'implémentation actuelle ne peut parcourir les pages que dans l'ordre et n'essaie même pas de vérifier le postambule.
Cette classe peut être utilisée comme gestionnaire de contexte pour fermer le fichier sous-jacent à la sortie. Les pages peuvent être lues par itération. Voici un moyen trop simple d'extraire du texte sans essayer de détecter les espaces :
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
Lisez les données du fichier nommé filename et convertissez les unités internes de TeX en unités de dpi par pouce. dpi définit uniquement les unités et ne limite pas la résolution. Utilisez None pour renvoyer les unités internes de TeX.
- classe matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [source] #
Socles :
object
Encapsulation d'une police à laquelle un fichier DVI peut faire référence.
Cette classe contient le nom et la taille d'une police, prend en charge la comparaison et connaît les largeurs des glyphes dans les mêmes unités que le fichier AFM. Il existe également des attributs internes (à utiliser par dviread.py) qui ne sont pas utilisés pour la comparaison.
La taille est en points Adobe (convertis à partir de points TeX).
- Paramètres :
- flotteur d'échelle
Facteur par lequel la police est mise à l'échelle par rapport à sa taille naturelle.
- tfm Tfm
Métriques de police TeX pour cette police
- texname octets
Nom de la police tel qu'utilisé en interne par TeX et ses amis, sous forme de chaîne d'octets ASCII. Ceci est généralement très différent des noms de polices externes ;
PsfontsMap
peut être utilisé pour trouver le nom externe de la police.- vf Vf
Un fichier "police virtuelle" TeX, ou None si cette police n'est pas virtuelle.
- Attributs :
- texname octets
- flotteur de taille
Taille de la police en points Adobe, convertie à partir des points TeX légèrement plus petits.
- liste des largeurs
Largeurs des glyphes en unités d'espace de glyphe, généralement 1/1000e de la taille en points.
- taille #
- nomtexte #
- largeurs #
- classe matplotlib.dviread. PsFont ( texname , psname , effects , encoding , filename ) [source] #
Socles :
tuple
Créer une nouvelle instance de PsFont(texname, psname, effects, encoding, filename)
- effets #
Alias pour le champ numéro 2
- encodage #
Alias pour le champ numéro 3
- nom de fichier #
Alias pour le champ numéro 4
- psname #
Alias pour le champ numéro 1
- nomtexte #
Alias pour le champ numéro 0
- classe matplotlib.dviread. PsfontsMap ( nom de fichier ) [source] #
Socles :
object
Un fichier au format psfonts.map, mappant les polices TeX aux polices PS.
- Paramètres :
- nom de fichier str ou semblable à un chemin
Remarques
Pour des raisons historiques, TeX connaît de nombreuses polices Type-1 sous des noms différents de ceux du monde extérieur. (D'une part, les noms doivent contenir huit caractères.) De plus, les polices natives de TeX ne sont pas Type-1 mais Metafont, ce qui n'est pas trivial à convertir en PostScript, sauf en tant que bitmap. Bien que des conversions de haute qualité au format Type-1 existent et soient fournies avec les distributions TeX modernes, nous devons savoir quelles polices Type-1 sont les homologues de quelles polices natives. Pour ces raisons, un mappage est nécessaire entre les noms de polices internes et les noms de fichiers de polices.
Une arborescence texmf comprend généralement des fichiers de mappage appelés par exemple
psfonts.map
,pdftex.map
oudvipdfm.map
. Le fichierpsfonts.map
est utilisé par dvips ,pdftex.map
par pdfTeX etdvipdfm.map
par dvipdfm .psfonts.map
peut éviter d'intégrer les 35 polices PostScript (c'est-à-dire, ne pas avoir de nom de fichier pour elles, comme dans l'exemple Times-Bold ci-dessus), tandis que les fichiers liés au pdf n'évitent peut-être que les polices pdf "Base 14". Mais l'utilisateur peut avoir configuré ces fichiers différemment.Exemples
>>> 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
- classe matplotlib.dviread. Tfm ( nom de fichier ) [source] #
Socles :
object
Un fichier TeX Font Metric.
Cette implémentation ne couvre que le strict minimum requis par la classe Dvi.
- Paramètres :
- nom de fichier str ou semblable à un chemin
- Attributs :
- somme de contrôle entier
Utilisé pour vérifier par rapport au fichier dvi.
- design_size entier
Taille de conception de la police (unités inconnues)
- largeur, hauteur, profondeur
Les dimensions de chaque caractère doivent être mises à l'échelle par le facteur spécifié dans le fichier dvi. Ce sont des dicts car l'indexation ne peut pas commencer à partir de 0.
- somme de contrôle #
- profondeur #
- design_size #
- hauteur #
- largeur #
- classe matplotlib.dviread. Vf ( nom de fichier ) [source] #
Socles :
Dvi
Une police virtuelle (fichier *.vf) contenant des sous-routines pour les fichiers dvi.
- Paramètres :
- nom de fichier str ou semblable à un chemin
Remarques
Le format de police virtuelle est un dérivé de dvi : http://mirrors.ctan.org/info/knuth/virtual-fonts Cette classe réutilise une partie de la machinerie de
Dvi
mais remplace le_read
mécanisme de boucle et de répartition.Exemples
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
Lisez les données du fichier nommé filename et convertissez les unités internes de TeX en unités de dpi par pouce. dpi définit uniquement les unités et ne limite pas la résolution. Utilisez None pour renvoyer les unités internes de TeX.
- matplotlib.dviread. find_tex_file ( nom de fichier , format=< paramètre obsolète> ) [source] #
Trouvez un fichier dans l'arborescence texmf en utilisant kpathsea .
La bibliothèque kpathsea, fournie par la plupart des distributions TeX existantes, à la fois sur les systèmes de type Unix et sur Windows (MikTeX), est invoquée via un processus luatex de longue durée si luatex est installé, ou via kpsewhich sinon.
- Paramètres :
- nom de fichier str ou semblable à un chemin
- format chaîne ou octets
Utilisé comme valeur de l'
--format
option de kpsewhich . Peut être par exemple 'tfm' ou 'vf' pour limiter la recherche à ce type de fichiers. Obsolète.
- Augmente :
- FileNotFoundError
Si le fichier n'est pas trouvé.