LaTeX et entites html #3898

Closed
opened 6 years ago by miros · 7 comments
miros commented 6 years ago

Bonjour,
Lors de l’envoi d'une formule Latex vers : math.spip.org, le caractère "&" passe en & et Latex traduit donc correctement le "&" (tabulation/mise en tableau) et nous laisse un beau "amp;" avant la chaine de caractère à afficher.
Ce défaut semble n'apparaitre que sur une version 3.1. J'ai testé sur spip 3.0 (spip-contrib), 2.x, et 1.9 ;-)
Version en cours : spip 3.1.3 [23214]
J'ai, grossièrement, placé une fonction html_entity_decode() sur la variable "tex", de ecrire/inc/math.php .. ligne 50 (dans la fonction : produire_image_math() )
Il y a certainement mieux à faire !

Cordialement

Bonjour, Lors de l’envoi d'une formule Latex vers : math.spip.org, le caractère "&" passe en & et Latex traduit donc correctement le "&" (tabulation/mise en tableau) et nous laisse un beau "amp;" avant la chaine de caractère à afficher. Ce défaut semble n'apparaitre que sur une version 3.1. J'ai testé sur spip 3.0 (spip-contrib), 2.x, et 1.9 ;-) Version en cours : spip 3.1.3 [23214] J'ai, grossièrement, placé une fonction html_entity_decode() sur la variable "tex", de ecrire/inc/math.php .. ligne 50 (dans la fonction : produire_image_math() ) Il y a certainement mieux à faire ! Cordialement
Owner

Tu pourrais envoyer un exemple court de comment reproduire ?

J'ai pris le premier exemple de http://www.spip.net/fr_article3016.html, je l'ai mis dans un article, et j'obtiens en 3.2-dev et 3.1 a priori le bon résultat.
Sauf.
Sauf aléatoirement semble t'il ou je ne sais pas trop certaines fois le serveur retourne des images partielles erronées, du coup SPIP (je suppose) écrit le texte à la place de l'image.
Pour tester je vidais local/cache-Tex qui contenait juste les images de cet exemple dans mon cas, et parfois à chaque nouveau calcul certaines plantaient.

Je ne sais pas si c'est en rapport avec ce que tu indiques.

Tu pourrais envoyer un exemple court de comment reproduire ? J'ai pris le premier exemple de http://www.spip.net/fr_article3016.html, je l'ai mis dans un article, et j'obtiens en 3.2-dev et 3.1 a priori le bon résultat. Sauf. Sauf *aléatoirement* semble t'il ou je ne sais pas trop certaines fois le serveur retourne des images partielles erronées, du coup SPIP (je suppose) écrit le texte à la place de l'image. Pour tester je vidais local/cache-Tex qui contenait juste les images de cet exemple dans mon cas, et parfois à chaque nouveau calcul certaines plantaient. Je ne sais pas si c'est en rapport avec ce que tu indiques.
Poster

Bonsoir,
Oui, il faut à chaque test vider le cache image idoine, pfuu me suis fait avoir ... comprenais plus ... ;-)
J'ai pris ce même bout de code (que tu cite), avant de poser ce ticket, pour m'assurer que ce que l'on m'avait fournis n'était pas erroné.
Spip.net est en 3.0.x donc le problème n'apparait pas.
Dans mon 3.1.3 apparait alors des "amp;" devant chaque signe égal de la fonction : z = 2x.... ::>> z amp;= 2x + 3y...
Latex interprète bien le "&" comme code de mise en colonne et retourne le reste de notre entite html.
Regarde cette page : https://contrib.spip.net/Serveur-TeX, typique du problème.
Ou mieux encore, celle-ci : http://forum.spip.net/fr_182887.html, le code latex a été écrit en 2006, et les images régénérées par un SPIP 3.2.0-dev SVN [22930].
Il est évident que quelque part dans/avant la fonction produire_image_math() il y a un encodage qui envois un & !
Dans propre() .. ? Là moi je sèche !

Pour info, avec mon p'tit patch sur la fonction j'obtiens ce beau tableau en bas de page : http://dali.coria.fr/spip.php?article1
Sans, c'était, tu l'auras compris, des "amp;" devant chaque chiffre !

Sinon je n'ai pas rencontré de problème d'image partielle ; de ce côté réponse nickel du serveur.
Cordialement

Bonsoir, Oui, il faut à chaque test vider le cache image idoine, pfuu me suis fait avoir ... comprenais plus ... ;-) J'ai pris ce même bout de code (que tu cite), avant de poser ce ticket, pour m'assurer que ce que l'on m'avait fournis n'était pas erroné. Spip.net est en 3.0.x donc le problème n'apparait pas. Dans mon 3.1.3 apparait alors des "amp;" devant chaque signe égal de la fonction : z = 2x.... ::>> z amp;= 2x + 3y... Latex interprète bien le "&" comme code de mise en colonne et retourne le reste de notre entite html. Regarde cette page : https://contrib.spip.net/Serveur-TeX, typique du problème. Ou mieux encore, celle-ci : http://forum.spip.net/fr_182887.html, le code latex a été écrit en 2006, et les images régénérées par un SPIP 3.2.0-dev SVN [22930]. Il est évident que quelque part dans/avant la fonction produire_image_math() il y a un encodage qui envois un `&` ! Dans propre() .. ? Là moi je sèche ! Pour info, avec mon p'tit patch sur la fonction j'obtiens ce beau tableau en bas de page : http://dali.coria.fr/spip.php?article1 Sans, c'était, tu l'auras compris, des "amp;" devant chaque chiffre ! Sinon je n'ai pas rencontré de problème d'image partielle ; de ce côté réponse nickel du serveur. Cordialement
Owner

Ok, je reproduis sur l'expression :

$$[C_3] = {\color{red} \langle \vec k_{3L} \vec k_{3L}^{\:\adj} \rangle }= \left[ \begin{array}{rrrr} S_{11} & S_{21} & S_{31} \\ S_{12} & S_{22} & S_{32} \\ S_{13} & S_{23} & S_{33} \end{array} \right]$$

Ok, je reproduis sur l'expression : <pre> <math> $$[C_3] = {\color{red} \langle \vec k_{3L} \vec k_{3L}^{\:\adj} \rangle }= \left[ \begin{array}{rrrr} S_{11} & S_{21} & S_{31} \\ S_{12} & S_{22} & S_{32} \\ S_{13} & S_{23} & S_{33} \end{array} \right]$$ </math> </pre>
Owner

Il y a un mic mac entre sur la balise math

La transformation actuelle des & en &amp; vient de quote_amp() appelée par le pipeline 'post_typo', dans la fonction corriger_typo() elle même appelée depuis
propre() > expanser_liens()

Et c'est maintenant Textwheel qui s'occupe d'appeler les codes transformations.

On doit pouvoir faire l'opération inverse dans les codes mathématiques, remettre les &amp; en &.

Il y a un mic mac entre sur la balise `math` * https://core.spip.net/projects/spip/repository/revisions/21272 * https://core.spip.net/projects/spip/repository/revisions/21543 * https://core.spip.net/projects/spip/repository/revisions/21553 * https://core.spip.net/projects/spip/repository/revisions/21274 * https://zone.spip.org/trac/spip-zone/changeset/84654 La transformation actuelle des `&` en `&amp;` vient de quote_amp() appelée par le pipeline 'post_typo', dans la fonction corriger_typo() elle même appelée depuis propre() > expanser_liens() Et c'est maintenant Textwheel qui s'occupe d'appeler les codes transformations. On doit pouvoir faire l'opération inverse dans les codes mathématiques, remettre les `&amp;` en `&`.
Owner
Devrait être corrigé par * http://core.spip.org/projects/spip/repository/revisions/23399 * http://core.spip.org/projects/spip/repository/revisions/23400 (doc) * https://zone.spip.org/trac/spip-zone/changeset/102746 Pourrais tu vérifier ? (en 3.2 svn) **Statut changé à En cours**
Poster

J'ai déposer tes correctifs sur mon 3.1.3 et c'est parfait.
Désolé mais je vais pas pouvoir faire une 3.2 pour le moment ! Pas avant 15 jours ..
Grand merci pour ta réactivité !

J'ai déposer tes correctifs sur mon 3.1.3 et c'est parfait. Désolé mais je vais pas pouvoir faire une 3.2 pour le moment ! Pas avant 15 jours .. Grand merci pour ta réactivité !
Owner

Bon si ça fonctionne aussi chez toi, c'est cool.
J'ai reporté en 3.1 du coup avec r23405 et http://zone.spip.org/trac/spip-zone/changeset/102756

Merci de ton test.
Statut changé à Fermé

Bon si ça fonctionne aussi chez toi, c'est cool. J'ai reporté en 3.1 du coup avec r23405 et http://zone.spip.org/trac/spip-zone/changeset/102756 Merci de ton test. **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.