[yhmath] Problèmes divers et corrections

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

[yhmath] Problèmes divers et corrections

Message par pg »

L'avantage de yhmath sur mathabx, c'est qu'on peut installer yhmath en type1, en téléchargeant sur ctan les fontes en format vectoriel. J'avais fait cela il y a un certain temps, et il me semble me souvenir que j'avais eu des problèmes à utiliser le fichier yhcmex.pfa que j'avais dû convertir en yhcmex.pfb. Si jamais tu veux essayer d'installer yhmath chez toi et que le pfa ne fonctionne pas, voici le fichier en pfb :
yhcmex.zip
Par ailleurs, un autre problème avec yhmath, c'est qu'il est présent à deux endroits sur CTAN :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

Merci pour ta réponse intéressante pg, je ne savais pas qu'il existait une version Type 1 d'yhmath.

Par contre, j'ai téléchargé ce paquet dans lequel ne figure pas de fichier omxyhex.fd (qui devrait se placer dans le même répertoire que yhmath.sty). Je peux trouver ce fichier dans le répertoire d'installation de MiKTeX puisque j'avais une version (METAFONT) de ce paquet mais je ne sais pas si je peux utiliser le même.

D'ailleurs, peut être que le dois désinstaller la version Type 3 d'ymath. Mais il me semble que si une fonte existe en Type 1 et en Type 3, pdflatex va utiliser en priorité la Type 1. Par contre, faut surement virer le .sty pour éviter les doublons.

Dans la documentation on trouve (à propos de l'installation) :
This package consists of (a) a font, written in PostScript, (b) the same font written in Metafont, (c) a LATEX style file, (d) a FD file for the OMX encoding using the new font.

If you are using PostScript fonts, just place the font file yhcmex.pfa wherever your dvi-to-PostScript driver can find it and add the necessary line in its configuration file so that it knows that the TEX font yrcmex10 is rendered by the PostScript font called Yhcmex whose code is contained in the file yhcmex.pfa.

For example, for dvips, the following line should be placed into the psfonts.map file (or some file being read after the standard psfonts.map file):

Code : Tout sélectionner

yrcmex10 Yhcmex <yhcmex.pfa
As Metafont will not be launched if you use PostScript fonts, you need to place the TFM and VF files yrcmex10.tfm, yhcmex10.tfm and yhcmex10.vf in directories where TEX & friend can find them. If for any reason you prefer Metafont to PostScript then read the following paragraph:

To build the font put all the Metafont files somewhere where your Metafont can find them (for example in texmf/fonts/src/public/yhmath). Then launch Metafont at least once on yhcmex10 so that at least one TFM file exists when you’ll start typesetting (dvips and similar programs will create the PKs, don’t
worry).

Finally, take the OMXyhex.fd file and put it together with your other FD (Font Definition) files; and yhmath.sty together with your other LATEX styles. Have fun!
Le fichier OMXyhex.fd c'est pour la version METAFONT ?
C'est quoi l'histoire du psfonts.map ?
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par pg »

MB a écrit :J'ai téléchargé ce paquet dans lequel ne figure pas de fichier omxyhex.fd (qui devrait se placer dans le même répertoire que yhmath.sty). Je peux trouver ce fichier dans le répertoire d'installation de MiKTeX puisque j'avais une version (METAFONT) de ce paquet mais je ne sais pas si je peux utiliser le même.
[...]
Le fichier OMXyhex.fd c'est pour la version METAFONT ?
Un fichier fd (pour font definition) est un fichier qui définit une fonte pour LaTeX ; ce fichier ne dépend que des métriques de la fonte (c'est-à-dire des fichiers tfm) ; il ne dépend pas du caractère vectoriel ou non de la fonte. On peut utiliser le même pour la version type 1 et la version Metafont d'une fonte donnée.
MB a écrit :D'ailleurs, peut être que le dois désinstaller la version Type 3 d'ymath. Mais il me semble que si une fonte existe en Type 1 et en Type 3, pdflatex va utiliser en priorité la Type 1. Par contre, faut surement virer le .sty pour éviter les doublons.
Il n'y a effectivement pas besoin de désinstaller les sources metafont de yhmath, et pour le fichier sty, on peut si on veut garder la vieille version installée par miktex dans le texmf et mettre la version plus récente dans le texmf local. Seule cette dernière version sera prise en compte lors de la compilation.

Juste une petite précision : on ne peut pas vraiment parler de version type 3 de yhmath, mais plutôt de version metafont ; certaines fontes de type 3 sont vectorielles, mais les metafontes ne le sont jamais. Ce qui se passe, c'est que PDFLaTeX convertit les fontes bitmap produites par metafont au format pk en fontes de type 3 (utilisables pour le format pdf), car ce type de fonte peut contenir à peu près n'importe quoi (un peu comme un fichier eps qui peut contenir du vectoriel ou du bitmap).
If you are using PostScript fonts, just place the font file yhcmex.pfa wherever your dvi-to-PostScript driver can find it and add the necessary line in its configuration file so that it knows that the TEX font yrcmex10 is rendered by the PostScript font called Yhcmex whose code is contained in the file yhcmex.pfa.
A priori, cela veut dire que dvips peut utiliser un fichier pfa (mais je pense que ce n'est pas le cas de pdftex).
For example, for dvips, the following line should be placed into the psfonts.map file (or some file being read after the standard psfonts.map file):

Code : Tout sélectionner

yrcmex10 Yhcmex <yhcmex.pfa
As Metafont will not be launched if you use PostScript fonts, you need to place the TFM and VF files yrcmex10.tfm, yhcmex10.tfm and yhcmex10.vf in directories where TEX & friend can find them. If for any reason you prefer Metafont to PostScript then read the following paragraph:

To build the font put all the Metafont files somewhere where your Metafont can find them (for example in texmf/fonts/src/public/yhmath). Then launch Metafont at least once on yhcmex10 so that at least one TFM file exists when you’ll start typesetting (dvips and similar programs will create the PKs, don’t
worry).

Finally, take the OMXyhex.fd file and put it together with your other FD (Font Definition) files; and yhmath.sty together with your other LATEX styles. Have fun!
Ces instructions sont un peu succinctes, mais toujours valables, sauf pour l'histoire du fichier psfonts.map qu'on n'a plus besoin de modifier manuellement. Les fichiers tfm sont à mettre dans "\fonts\tfm\public\yhmath" (mais ils doivent y être déjà), le fichier vf dans "\fonts\vf\public\yhmath", le fichier pfb dans "fonts\type1\public\yhmath", les fichiers sty et fd dans "tex\latex\yhmath" et la ligne "yrcmex10 Yhcmex <yhcmex.pfb" dans le fichier updmap.cfg local. Ensuite, faire un texhash et un updmap et tout devrait fonctionner.
MB a écrit :C'est quoi l'histoire du psfonts.map ?
Dans une distribution récente, updmap s'occupe de fabriquer le fichier psfonts.map pour dvips ainsi que le fichier équivalent pour pdftex (appelé pdftex.map). Sous MikTeX 2.7, ce fichier est placé dans le répertoire "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.7\dvips\config" et le fichier équivalent pour pdftex est présent dans le répertoire "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.7\pdftex\config".
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

pg a écrit :A priori, cela veut dire que dvips peut utiliser un fichier pfa (mais je pense que ce n'est pas le cas de pdftex).
Ok, j'utilise donc le pfb (a pour ASCII et b pour Binaire d'après ce que j'ai vu).
pg a écrit :la ligne "yrcmex10 Yhcmex <yhcmex.pfb" dans le fichier updmap.cfg local.
En fait, j'avais fait comme pour frcursive. A savoir :

- un fichier yhmath.map qui contient cette ligne.
- la ligne suivante ajoutée dans updmap.cfg (local) :

Code : Tout sélectionner

# yhmath
Map yhmath.map
pg a écrit :Dans une distribution récente, updmap s'occupe de fabriquer le fichier psfonts.map pour dvips ainsi que le fichier équivalent pour pdftex (appelé pdftex.map). Sous MikTeX 2.7, ce fichier est placé dans le répertoire "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.7\dvips\config" et le fichier équivalent pour pdftex est présent dans le répertoire "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.7\pdftex\config".
Oui, j'ai c'est bien ça. Merci. :D

Bon mais le problème c'est que j'ai toujours pas de Type 1. Je compile avec pdflatex.exe --recorder et j'obtiens le listing suivant :

Code : Tout sélectionner

[...]
INPUT C:/Documents and Settings/All Users/Application Data/MiKTeX/2.7/miktex/fmt/pdftex/pdflatex.fmt
[...]
INPUT C:/Program Files/MiKTeX LocalFiles/tex/latex/yhmath/yhmath.sty
INPUT C:/Program Files/MiKTeX LocalFiles/tex/latex/yhmath/yhmath.sty
[...]
INPUT C:/Program Files/MiKTeX LocalFiles/tex/latex/yhmath/omxyhex.fd
INPUT C:/Program Files/MiKTeX LocalFiles/tex/latex/yhmath/omxyhex.fd
INPUT C:/Program Files/MiKTeX LocalFiles/fonts/tfm/public/yhmath/yhcmex10.tfm
[...]
INPUT C:/Documents and Settings/All Users/Application Data/MiKTeX/2.7/pdftex/config/pdftex.map
[...]
INPUT C:/Documents and Settings/All Users/Application Data/MiKTeX/2.7/fonts/pk/ljfour/public/yhmath/dpi600/yhcmex10.pk
[...]
On voit que c'est bien le yhmath local qui est utilisé, le pdftex.map appelé contient bien :

Code : Tout sélectionner

yrcmex10 Yhcmex <yhcmex.pfb
Par contre la fonte yhcmex10.pk est utilisée. Je me demande si c'est normal. :?:
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par pg »

Dans mon fichier yhmath.map, j'ai les deux lignes suivantes :

Code : Tout sélectionner

yhcmex10 Yhcmex <yhcmex.pfb
yrcmex10 Yhcmex <yhcmex.pfb
Essaye pour voir si ça fonctionne comme ça.
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

Oui, ça fonctionne parfaitement !
J'ai maintenant ça (plus d'appel à yhcmex10.pk) :

Code : Tout sélectionner

[...]
INPUT C:/Documents and Settings/All Users/Application Data/MiKTeX/2.7/pdftex/config/pdftex.map
[...]
INPUT C:/Program Files/MiKTeX LocalFiles/fonts/type1/public/yhmath/yhcmex.pfb
Bon, bah c'était pas évident tout ça. C'est bizarre que cette version ne soit pas distribuée par défaut sur CTAN ou avec MiKTeX.
Sinon, une dernière question : tu as fait comment pour l'obtenir ce fichier yhcmex.pfb ?
yhmath_files.7z
[Edit] Pour ceux que ça intéresse, une archive contenant tous ces fichiers à copier dans le répertoire local de votre distribution MiKTeX. Attention cependant au fichier updmap.cfg qui peut contenir d'autres lignes (pour d'autres fontes) et qu'il ne faut pas écraser (mais copier le contenu de ce fichier à la suite dans l'ancien).
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par pg »

MB a écrit :Sinon, une dernière question : tu as fait comment pour l'obtenir ce fichier yhcmex.pfb ?
Je ne me souviens plus bien. Soit t1utils (instructions ici pour la conversion PFA > PFB), soit fontforge. Les deux sont immédiats à installer sous linux via un gestionnaire de paquet ; sous windows, t1utils ne fonctionne pas toujours très bien et l'installation de fontforge est un peu complexe (il faut passer par cygwin).
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

pg a écrit :l'installation de fontforge est un peu complexe (il faut passer par cygwin).
Oui, je te confirme. Mieux vaut être sous Linux pour ça. :D
Merci pour ton aide en tout cas. :wink:
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

Bon, après quelques tests rapides, il me semble que cette version pose quelques problèmes. Par exemple, avec le commande \overbrace. Le code suivant, compilé à l'aide de pdflatex donne un résultat qui n'est pas celui qu'on pourrait attendre. :?

Code : Tout sélectionner

\documentclass[a4paper,10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{mathtools,yhmath}

\begin{document}

\[
\overbrace{a \times a \times \ldots \times a}^{n}
\]

\end{document}
[attachment=0]yhmath_bug.png[/attachment]
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
pg
Modérateur
Modérateur
Messages : 2601
Inscription : vendredi 15 juin 2007, 00:31

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par pg »

Utilise le fichier yhmath-mod.sty à la place de yhmath.sty du fil que j'ai évoqué précédemment, ça devrait être bon.
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

En effet, ça fonctionne correctement maintenant. J'ai modifié l'archive précédente pour qu'elle utilise ce fichier modifié. :wink:
Merci encore.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 7298
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Wiki] Nouvelle page concernant les entêtes LaTeX

Message par MB »

Je suis encore tombé sur un problème avec le module yhmath. On considère le code suivant :

Code : Tout sélectionner

\documentclass[a4paper]{article}
\usepackage{yhmath}
\begin{document}

\begin{align*}
A & = 0 \\
B & = 0 \\
\end{align*}

\end{document}
On obtient alors l'erreur suivante :

Code : Tout sélectionner

! Improper \halign inside $$'s.
Après une petite recherche sur fctt, la solution est d'éditer le fichier OMXyhex.fd et de remplacer :

Code : Tout sélectionner

\DeclareFontFamily{OMX}{yhex}{}{}
par

Code : Tout sélectionner

\DeclareFontFamily{OMX}{yhex}{}
PS : Vu tous les problèmes rencontrés avec yhmath, je vais splitter ce sujet pour en faire un dédié à ce module. :|
De plus, j'ai modifié le fichier joint à ce message en y apportant cette correction.
MB. (rejoignez pCloud afin d'obtenir 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.