Rendu mathématique 2D avec syntaxe TeX
Posté le 14/05/2015 15:11
Voici une bibliothèque que j'avais écrite il y a longtemps pour WebCalc et que je reprends au propre. Elle permet d'afficher des formules mathématiques en 2D (parfois appelé
pretty printing) et de les produire à partir de code TeX.
\frac{x^7 \left[X,Y\right] + 3\left|\frac{A}{B}\right>}
{\left\{\frac{a_k+b_k}{k!}\right\}^5}
+ \int_a^b \frac{\left(b-t\right)^{n+1}}{n!} dt
+ \left(\begin{matrix} \frac{1}{2} & 5 \\ -1 & a+b \end{matrix}\right)
Elle peut s'utiliser avec fxlib, gint, ou n'importe quel système qui fournit des opérations de dessins élémentaires comme tracer une ligne ou du texte.
Vous pouvez télécharger la bibliothèque et trouver des détails plus techniques sur le dépôt :
Dépôt du programme sur la forge Gitea
Il y avait une autre version assez sale de cette bibliothèque entre 2014 et 2015, et je supporte toutes ses fonctions sauf les racines carrées et les caractères spéciaux. Ça arrive !
Liste des éléments supportés :
^exposant
_indice
\frac{numérateur}{dénominateur}
\vec{vecteur}
\sum_{début}^{fin}
\prod_{début}^{fin}
\int_{inf}^{sup}
\lim_{limite}
\left( \right)
\left[ \right]
\left\{ \right\}
\left| \right|
\left. \right.
\begin{matrix} ... & ... \\ ... & ... \end{matrix}
Fichier joint
Citer : Posté le 14/05/2015 15:51 | #
Une petite liste d'idées à ajouter :
– Intégrales (si possible les doubles et triples, pour les cours de SI)
– Exposants
– Indices
– Produits (PI de début à fin de expression)
Et d'autres idées viendront sans doute plus tard.
Citer : Posté le 14/05/2015 15:53 | #
– Intégrales (si possible les doubles et triples, pour les cours de SI)
Oui, c'est encore le plus important, après les vecteurs et quelques symboles
– Exposants
– Indices
Facile
– Produits (PI de début à fin de expression)
Ça sera plutôt « produit de début à fin », et ensuite tu colles manuellement l'expression à côté
Citer : Posté le 14/05/2015 16:00 | #
Ben faut que ce soit exactement le même fonctionnement que les sommes, mais tu gère comme tu le sens.
Citer : Posté le 14/05/2015 17:29 | #
Ca serait sympa si tu pouvais gérer la différence entre \sum\limits et \sum, \int\limits et \int et \prod\limits et \prod
Citer : Posté le 14/05/2015 17:30 | #
Ca serait sympa si tu pouvais gérer la différence entre \sum\limits et \sum, \int\limits et \int et \prod\limits et \prod
Ce serait sympa si tu pouvais me l'expliquer ? oO
Désolé, je ne connais pas assez le fonctionnement de TeX pour connaître la subtilité
Citer : Posté le 14/05/2015 17:34 | #
Dans un certain envirronement, si tu mets juste \sum_{i=1}^{3}, tu auras les limits mise à droite du symbole somme, tandis qu'en mettant \sum\limits_{i=1}^{3}, tu auras les limites en haut et en bas du symbole somme.
Le fait d'écrire sans le \limits permet, par exemple, d'obtenir un résultat plus esthétique dans le cas où on ne stipule que l'indice, genre \sum_{i}, ou \int_{V}
Citer : Posté le 14/05/2015 17:37 | #
Ah, je vois. En fait, je ne pense pas qu'une manière simple de gérer le moteur permette de fonctionner comme ces éléments. ><
En gros, j'ai juste une fonction somme qui met les arguments en haut et en bas avec la syntaxe \sum{i=1}{3} (c'est très simplifié hein, je n'ai pas l'ambition d'écrire un truc aussi complet que le moteur originel). Par contre, il devrait être possible d'écrire \sum_{i=3} pour obtenir le second résultat
Citer : Posté le 14/05/2015 17:39 | #
Ah oui, c'est bien aussi
Citer : Posté le 14/05/2015 17:46 | #
Au fait, j'avais quelques problèmes au niveau de la structure des données, que j'avais organisées en nœuds, de sorte que chacun d'eux ait des frères (allez, des sœurs aussi), et des enfants.
Sauf que ça posait problème dans le calcul des « expressions », c'est-à-dire des éléments composés de plusieurs autres simples mis les uns à la suite des autres. Par exemple, « 2\frac{a}{b} » est une expression dont les éléments simples sont « 2 » et « \frac{a}{b} ».
Du coup, je vais modifier un peu ça : je vais récupérer des « expressions », composées de plusieurs « formules » (nodes dans le code), dont les arguments sont eux-mêmes des « expressions ».
Ça va me permettre d'économiser de la mémoire pour une perte de possibilités minimale voire très probablement nulle.
Ajouté le 14/05/2015 à 18:10 :
C'est bon, j'ai modifié cette structure. Ça me simplifie un bon coup le concept, du coup, ça va encore améliorer la performance et la modularité \o/
Edit : j'ai aussi mis à jour le post principal.
Citer : Posté le 14/05/2015 19:44 | #
Très belles tes fractions et tes racines carrée C'est particulièrement propre !!
Et chose super importante, les espace entre le "n" et le "(n+1)" ainsi que le signe " * " ne sont plus là !!
@Lephé: T'es aussi intéressé par les eActs de physique/chimie ?
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 14/05/2015 20:57 | #
Très belles tes fractions et tes racines carrée C'est particulièrement propre !!
Merci J'aime beaucoup cet adjectif, je crois
Et chose super importante, les espace entre le "n" et le "(n+1)" ainsi que le signe " * " ne sont plus là !!
Mais je me tue à te le dire, c'est juste que j'ai remplacé le texte « n * (n+1) » dans la formule par « n(n+1) », il n'y a rien de magique xD
@Lephé: T'es aussi intéressé par les eActs de physique/chimie ?
Tu ne veux les publier de ton côté ?
Bien sûr, ça m'intéresse, mais je me demande quand même si ça ne te serait pas plus profitable.
Citer : Posté le 14/05/2015 21:04 | #
Pour le deuxième quote c'est vraiment con de ma part j'ai pas fait gaffe ...
Sinon pour les eActs je verrai mais je ne sais pas encore si je les publierai tel quel, mais je te les passes volontiers
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 14/05/2015 21:11 | #
J'aurais une première question sur le design des racines
Vous préférez la barre inclinée ou droite ? Et avec ou sans patte en haut à droite ?
Citer : Posté le 14/05/2015 21:26 | #
Barre droite avec patte !! (la première en gros)
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 14/05/2015 21:56 | #
Idem, la première : je la préfère car beaucoup plus explicite dans un produit (visuellement parlant)
Citer : Posté le 14/05/2015 21:57 | #
aussi la première : plus sympa et on voit la fin de la racine
Citer : Posté le 14/05/2015 22:00 | #
Je dirais la première avec un pixel de moins sur la fin
Citer : Posté le 14/05/2015 22:33 | #
Je préfère la barre droite.
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 14/05/2015 22:44 | #
Moi aussi la première.
Citer : Posté le 14/05/2015 22:54 | #
Ok, je garde la première alors !
Ajouté le 15/05/2015 à 09:57 :
J'ai ajouté les produits et les vecteurs
Du coup, j'ai encore besoin de vous ^^, pour les intégrales cette fois