-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problème avec MathJaX #1310
Comments
En fonction des réponses, on pourra prioriser la correction. En attendant les réponses sont à apporter le plus rapidement possible. |
Il faudrait arriver à scoper MathJax par blocs (genre par message sur les forums, par tuto, etc) et je pense que le problème serait résolu. Seulement, j'ignore si c'est possible. Si cette solution est possible c'est du coup du front. Sinon c'est au back de filtrer les commandes pour les limiter. |
Faudrait voir avec adri1 qui connait bien markdown |
Dégommer le rendu math de toute une page donnée sur le forum si l'utilisateur place ce genre de chose dans sa signature et intervient tôt dans un topic (la définition prend usage après, et non rétro-activement). Un exemple tout con et qui parlera plus serait qu'un utilisateur pourrait remplacer tout les En ce qui concerne les solution, adri1 en avait proposé une à base de blocs qui enferment l'effet de ces commandes. Le problème, c'est que ça demande une évaluation sur à peu près tout les posts, et il est pas impossible de la contourner, à moins d'interdire les chaines de caractère suivantes :
(et à mon avis j'en oublie) ... parce que MathJaX possède un défaut qui n'existe pas réelement en LaTeX, c'est qu'il est possible de redéfinir les commandes avec plus que La conclusion à laquelle ont en était arrivé, c'était que tant pis, il fallait désactiver ces commandes ... Ou bien instaurer cette histoire de bloc et être très vigilant sur le comportement de l'édition (signature comprise). Bref, beaucoup de choses pour rien. |
Le problème avec les group, c'est aussi qu'il faut bêtement empêcher l'user de fermer un groupe, faire des définitions malicieuses et rouvrir un group. Donc en gros, virer toute occurrence de \begingroup, \engroup dans les messages et englober chaque message dans un group. C'est malheureusement la seule solution de limiter le scope de Mathjax, j'ai l'impression. Le plus simple reste donc effectivement d'empêcher purement et simplement toute définition. Il faut donc interdire la chargement automatique de Quelques infos: |
Merci adri1, je l'aurais pas mieux dit. [hs]Par contre, on peut en profiter pour activer le package |
OK, donc c'est bien du "v1.0" |
Pour le package mhchem, fais une issue séparée. C'est très facilement faisable et c'est pas lié aux bugs de cette issue. |
@amorison : j'ai tenter de corriger le tout avec la config suivante (en ayant chargé
Rien n'y fait, je peux toujours employer |
Hmmm, bizarre. Là, comme ça, je vois pas ce qui manque. Je fouillerais ça demain. |
ceci dit, ça marche, je peux pas charger |
Je viens de fouiller la doc Mathjax, et la seule chose qui me semble possible, c'est qu'une des extensions qu'on charge utilise newcommand. Si tu mets aucune extension, est ce que tu peux toujours faire |
On est deux à être passé à coté. Si je ne charge aucune extension, je peux quand même faire un |
J'ai déjà regardé le code, il n'y a pas de chargement de newcommand, apparemment. M'enfin, sait on jamais... :-° |
Qui ne tente rien n'as rien ^^ |
Pour les signatures de toute façon mathjax va y être banni donc ça ne devrait pas poser de problèmes. |
@cgabard : tant mieux, ça enlevera déjà une épine du pied :) |
@amorison : j'ai été demander direct sur le google group de mathjax, il semblerait qu'il s'agisse d'un bug : https://groups.google.com/forum/#!topic/mathjax-users/tt7IsB538yU |
Ah d'accord. Bon, ben on se contentera de modérer en cas de problème, ça reste jouable. |
Ok. Pour l'issue, on considère comme réglé, ou on pousse ça plus loin pour y revenir d'ici quelques semaines/mois ? (ping @SpaceFox ) |
À la limite, ce qu'on peut faire, je pense, c'est garder quand même ces commandes (sans ébruiter leur existence of course) et se contenter de modérer les abus. Et on reviendra sur la décision si ça devient ingérable et que le problème est réglé côté Mathjax. |
Je ne suis pas sûr de ce qui qui se passe ici en fait. Du coup je vais jouer au chef de projet noob en technique et demander à quelqu'un qui a suivi le ticket de répondre à ces deux questions :
Ce serait absolument génial de votre part :) |
|
[je viens de me faire griller en puissance par aMorisson] |
Je viens de me rappeler d'un point (que j'ai ajouté dans mon message du coup), on peut redéfinir les commandes de définitions dans la conf de MathJax. Il suffit de les remplacer par un petit texte humoristique, par exemple. Il faut donc redéfinir http://docs.mathjax.org/en/latest/tex.html#defining-tex-macros |
Pas bête non plus. Je vais regarder si ça fout pas en l'air le chargement de packages éventuels, mais ça peut être une solution. Tant que je t'ai sous la main, une liste de paquets à interdire autre que ceux déjà interdit par Safe ? (je garde bien entendu l'interdiction sur |
Non, ça doit être pas mal avec ce qui est interdit. |
OK, donc je laisse ouvert pour que @amorison puisse regarder la faisabilité de son idée. En attendant, si certains jouent avec, on modèrera. |
Personnellement, je préfère la solution qui consiste à scoper les messages. Ca permet aux auteurs de tutoriels de faire leur popote comme ils veulent. Tu as des infos (lien) au niveau de |
Dans l'absolu, ouais, c'est cool. Mais le gros inconvénient est que ça alourdi pas mal pour pas grand chose, au final... http://meta.math.stackexchange.com/questions/4130/the-scope-of-newcommand-is-the-entire-page |
Ca me semble assez léger, au contraire : il n'y a que deux templates à toucher, une dépendance à rajouter et le problème est résolu proprement. |
C'est pas si simple. Si un mec poste le message : Ou pire: Ton simple template équivaut à ne rien faire du tout. Il faut donc aussi bannir toute occurrence de Fin bref, c'est une galère pas possible. |
Là on rentre dans le hack, alors que moi je vois le côté pratique de la chose, en ce sens où certains auraient le problème par mégarde. Aussi, en interdisant les redéfinition tu vas faire chier nombre d'auteurs "scientifiques" qui utilisent ces expressions à tour de bras. |
Sauf que les définitions faites par les scientifiques ne nous posent aucun problème. Cette issue est justement là pour savoir comment combler cette faille béante. |
Si c'est un bug de mathjax, autant modérer les abus en attendant que ce
|
Bon, ça discute ferme là bas : mathjax/MathJax#888 ... Mais en gros, ça dit que c'est pas un bug mais une fonctionnalité et que la solution, c'est bel et bien la redéfinition comme l'avais pré-senti @amorison ... |
Du coup ? On peut faire quelque chose ? |
Bah on a deux possibilités :
Dans l'idéal, on pourrait faire confiance un minimum à ceux qui utiliseront ces commandes et penser que ce sera gérable. L'inconvénient si on part sur le premier point, c'est surtout que si on se rend compte qu'il faut empêcher les définitions parce qu'il y a trop d'abus, il faudra repasser sur tout le contenu qui utilise des définitions. |
Je serait également pour la première solution. À noter que c'est également le cas sur le SdZ et qu'ils n'ont jamais eu d'ennuis en 2 ans, avec plus d’utilisateurs ... |
OK ; on est partis pour la première solution. Donc je ferme ici :) |
MathJaX est l'outil qui permet à ZdS de donner un rendu correct aux formules mathématiques données par les membres. Récemment, sur un sujet qui a un peu dérapé, nous nous sommes rendu compte que MathJaX permetait l'usage de la commande
\newcommand
et surtout\renewcommand
. Pour ceux qui ne connaissent pas LaTeX, il s'agit de commande pour en créer d'autre. La seconde est plus problématique, puisqu'elle permet de redéfinir des commandes internes à LaTeX lui-même.Ce qui pose plusieurs problèmes
Je ne sais pas du tout ce que MathJaX propose comme option pour limiter ces comportements. Si on doit en arriver à une interdiction, ben ... Faudra bien.
The text was updated successfully, but these errors were encountered: