"Balises" math produisent une ligne impossible à lire jusqu'au bout

lignes trop longues et impossible de side scroller

a marqué ce sujet comme résolu.

Bonjour à tous,

j'ai récemment observé qu'il y avait un bug avec la production de formules mathématiques avec l'utilisation de $\$$ : en faisant un one-liner trop long, l'entièreté n'est pas affichée (du moins sur mon écran 1440 x 900) et il m'est impossible de scroller horizontalement pour aller lire la suite.

Je l'ai vu sur mon mini-tuto ici au 2.1.

Je ne sais pas à quoi c'est du et je n'ai pas de connaissances pour aider au débug donc je me contente de le signaler.

Bonne chance pour la correction et encore merci pour ce site !

poupou9779

+0 -0

Je proposerais soit :

  • tronquer la ligne pour la poursuivre à la ligne suivante exactement comme le texte (le plus esthétique) ;
  • soit de permettre un horizontal scroll.
+0 -0

Le fait est que LaTeX, de base, ne le fait pas pour les équations, et MathJaX reste calé sur ce comportement. Quand à insérer manuellement des \\, j'avoue que je le sens pas trop, et ça restera de la rustine. Quand à un horizontal scroll … le code n'est pas inséré dans un block mais dans une balise inline, je crois (mais faut que je regarde plus précisément)

+0 -0

Je pense que c'est un faux problème. Entourer les balises de simples $ est fait pour les formules inline, c'est à dire qui sont insérés dans un paragraphe comme cette formule : $e^{ \pm i\theta } = \cos \theta \pm i\sin \theta$. Une formule inline ne devrait jamais :

  • contenir de sauts de lignes
  • être trop longue.

Sont but est de permettre l’insertion de symbole math dans le texte, pas d'y faire une longue démonstration.

Si vous souhaitez insérrer de longues équations, utilisez l'élément de blocks a base de doubles dollars :

le markdown suivant :

1
2
3
4
5
6
7
8
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

$$
\sin \theta _1 \pm \sin \theta _2 = 2\sin \left( {\frac{{\theta _1 \pm \theta _2 }}{2}} \right)\cos \left( {\frac{{\theta _1 \mp \theta _2 }}{2}} \right)\\
\cos \theta _1 + \cos \theta _2 = 2\cos \left( {\frac{{\theta _1 + \theta _2 }}{2}} \right)\cos \left( {\frac{{\theta _1 - \theta _2 }}{2}} \right)
$$

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

produira :


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

$$ \sin \theta _1 \pm \sin \theta _2 = 2\sin \left( {\frac{{\theta _1 \pm \theta _2 }}{2}} \right)\cos \left( {\frac{{\theta _1 \mp \theta _2 }}{2}} \right)\\ \cos \theta _1 + \cos \theta _2 = 2\cos \left( {\frac{{\theta _1 + \theta _2 }}{2}} \right)\cos \left( {\frac{{\theta _1 - \theta _2 }}{2}} \right) $$

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum


Bref faites comme avec Latex : l'environnement inline pour les petites formules dans le texte, et l'élément d'environnement pour les longues et indépendante d'un paragraphe

+0 -0

Non j'utilise bien le double dollar. Voici un exemple : $$ \text{Gain}(S, \text{Prévisions}) = \text{Entropie}(S) - \frac{5}{14} \times \text{Entropie}(S_{\text{Ensoleillé}}) - \frac{4}{14} \times \text{Entropie}(S_{\text{Nuageux}}) - \frac{5}{14} \times \text{Entropie}(S_{\text{Pluvieux}}) = 0.94 - \frac{5}{14} \times \left(-\frac{3}{5} \times \log_2\left(\frac{3}{5}\right) - \frac{2}{5} \times \log_2\left(\frac{2}{5}\right)\right) - \frac{4}{14} \times \left(-\frac{0}{4} \times \log_2\left(\frac{0}{4}\right) - \frac{4}{4} \times \log_2\left(\frac{4}{4}\right)\right) - \frac{5}{14} \times \left(-\frac{3}{5} \times \log_2\left(\frac{3}{5}\right) - \frac{2}{5} \times \log_2\left(\frac{2}{5}\right)\right) = 0.94 - 0.357 \times (0.97) - 0.286 \times (0) - 0.357 \times (0.97) = 0.24742$$

+0 -0

Je pense que de base c'est une très mauvaise pratique que de chaîner les $=$. Ne serait-ce que pour la lisibilité de la formule en elle-même.

Par contre, quand bien même tu ferais ça, la formule est trop longue, en effet.

Je ne sais pas si c'est très conseillé, en math, de mettre des noms complets aux fonctions.

<troll>Ça ressemble à de la physique, ça doit être pour ça.</troll>

Il n'est pas possible de définir une largeur max comme on le fait quand on spécifie a4paper en début de document ?

+0 -0

<troll>Ça ressemble à de la physique, ça doit être pour ça.</troll>

Il n'est pas possible de définir une largeur max comme on le fait quand on spécifie a4paper en début de document ?

gustavi

C'est pas de la physique, c'est juste des maths et de la théorie de l'information :)

Tu peux expliquer stp ? :)

Je ne sais pas si c'est très conseillé, en math, de mettre des noms complets aux fonctions.

artragis

Tu t'arrangeras avec Ross Quinlan ;)

+0 -0

qu'un grand mathématicien mette cinquante $=$ les uns à la suite des autres, je comprends, le mec n'a pas que ça à faire de formatter ses formules.

Qu'un auteur sur ZDS ne le fasse pas, c'est plus gênant, la lisibilité, c'est le coeur même de la plus value des tuto, non?

Justement, j'ai remis $\pm$ en forme à coup d'align et de & pour n'en avoir qu'un seul par ligne, sauf quand je donne le résultat du genre : $$ \begin{aligned} qqchose \\ &= \, ...\\&=1.45 + 1.26 - 1.22 \times 1.01 = 1.4778 \end{aligned}$$

+0 -0

Je ne voudrais pas vous donner trop de taffe non plus ! :-°

Ce qui me pose problème, c'est qu'alors je suis obligé de couper moi-même mes formules et que ça a tendance à ne pas être très très propre… :(

+0 -0

En fait, couper toi même, je pense qu'on ne peut pas retirer cette partie. Faire plus propre, ça, on peut essayer.

Pour ce qui est du travail sur le rendu PDF, la ZEP 5 est en bonne voie d'avancement. Maintenant, je ne sais pas si ce genre d'alignement rentrera un jour dans ce qu'on sera capable de faire à 100%.

Je vous fait confiance, faites du mieux que vous pouvez ! :)

Oui je me doute que je devrai toujours couper à la main, sinon en tronquant, il pourrait couper en plein milieu d'un log par exemple…

+0 -0

Si on pouvait avoir le moyen de savoir si c'est du inline ou du block, on pourrait appliquer un style genre :

Techniquement on peut mais j'ai la flemme de faire un hot-fix sur python-zmarkdown pour ça vu qu'on est en chantier pour tout changer.

Justement, j'ai remis $\pm$ en forme à coup d'align et de & pour n'en avoir qu'un seul par ligne, sauf quand je donne le résultat du genre : $$ \begin{aligned} qqchose \\ &= \, ...\\&=1.45 + 1.26 - 1.22 \times 1.01 = 1.4778 \end{aligned}$$

poupou9779

Je comprend pas trop, c'est quoi le soucis ? C'est un peu moche mais ça correspond a ce que tu lui a demandé, non ? Perso je verrai plus un truc dans ce genre :

$$ \begin{aligned} qqchose & = \, ...\\ & = 1.45 + 1.26 - 1.22 \times 1.01 \\ & = 1.4778 \end{aligned}$$

Ce qui me pose problème, c'est qu'alors je suis obligé de couper moi-même mes formules et que ça a tendance à ne pas être très très propre… :(

Je peux comprendre mais imagine si toi tu as de mal, comment veux tu qu'un programme informatique, qui ne connait pas le contexte, puisse s'en sortir ?

Ce que je veux dire par là c'est que il faut bien se rendre compte que si on se mettait à le faire automatiquement, ça serait coupé totalement à l'arrache. L'environnement math de tex est très compliqué a interpréter, d'autant plus avec les environnements imbriqués. Il vaut mieux que ce soit l'auteur qui s'en occupe. Je ne vois pas trop ce qu'on peut faire de mieux qu'actuellement. Couper automatiquement me semble aller vers des formules qui seront découpés n'importe comment.

Enfin au niveau des pdf, c'est l'environnement latex par defaut, du coup c'est plutot bien pour nous que les deux se comportent pareil.

Non justement, là ça va.

Ce qui pose problème alors, c'est l'alignement centré automatique sur la page parce que quand je coupe mes formules à la main, bah c'est pas beau. Au lieu d'à chaque fois donner un exemple, je redirige directement vers le tuto que je rédige (pour lequel j'ai fait ce thread) : ici. Il faut regarder dans cette partie-là au (§2.1.) sur le calcul de gain d'entropie.

+0 -0

Je pige vraiment pas en fait. La présentation du calcul §2.1 ne me choque pas. Si c'est le centrage automatique de l'ensemble qui te gène, on peut le virer mais c'est souvent la norme dans les documents scientifique. Si c'est le fait que le terme le plus a droite des égalités est tout seul sur sa ligne, ça c'est parce que tu découpe mal (perso j'ai plus tendance à couper comme je l'ai montré dans mon précédent message).

Mais j'ai surtout l'impression que j'ai du mal a comprendre le problème surtout. Désolé :-/

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte