Accueil › Forums › Programmation WIMS › Programmation dans le langage wims › Sortie LaTeX avec slib numeration/ecriturenombre
- Ce sujet contient 5 réponses, 3 participants et a été mis à jour pour la dernière fois par bernadette, le il y a 5 années et 8 mois.
-
AuteurMessages
-
-
18 avril 2019 à 19:34 #4924Gilles MarbeufModérateur::
Bonjour,
dans un exercice en OEF, j’utilise la slib numeration/ecriturenombre de Fabrice Guerimand afin de mettre une virgule à la place du point et de regrouper les chiffres par 3. Mon problème est le suivant : lorsque je veux sortir le résultat de la slib en LaTeX, les espaces créés entre les différents regroupements de trois chiffres sont interprétés en LaTeX comme des produits.
Par exemple :
\text{essai=slib(numeration/ecriturenombre 1456.789567,comma)} donne bien : 1 456,789 567
Mais si je demande la sortie LaTeX avec \(\essai\) alors j’obtiens (les chiffres étant bien en LaTeX ) : 456,789×567
C’est à dire que l’espace entre 789 et 567 est devenu x et celui entre 1 et 456 a été interprété comme le produit de 1 par tout le reste et a donc fait sauter le 1.
J’ai essayé plusieurs choses pour remplacer le symbole x dans le LaTeX par une vraie espace et je n’y arrive pas (de toutes façons cela ne règlerait pas le problème du 1 456). J’ai aussi essayé de remplacer les espaces directement depuis la sortie de la slib avant de passer au LaTeX mais en vain.
Ma seule solution a été de modifier la slib en rajoutant une option (latex) qui permet une sortie LaTeX en mettant comme séparateur \: (une espace moyenne interprétable en LaTeX).
Sur l’exemple précédent
\text{essai=slib(numeration/ecriturenombre 1456.789567,comma,latex)} donne bien le résultat attendu.
Voici ce que cela donne en image :Avez-vous une autre façon de faire en utilisant directement la sortie proposée par la slib existante ?
Merci d’avance.
GillesGilles
-
18 avril 2019 à 21:33 #4926byacheParticipant::
Bonjour, je ne vois pas. Mais pourquoi vouloir afficher le nombre en latex ? Mathml n’est pas assez beau ?
Sinon, il est toujours possible de faire du code qui remplace la slib de Fabrice uniquement pour votre exercice. Vous pouvez aussi télécharger le code de la slib et le réutiliser en le modifiant un peu ?-
18 avril 2019 à 22:54 #4929Gilles MarbeufModérateur::
Bonsoir,
Pour l’image, on voit peut-être mieux comme ça :
Sinon, il est toujours possible de faire du code qui remplace la slib de Fabrice uniquement pour votre exercice. Vous pouvez aussi télécharger le code de la slib et le réutiliser en le modifiant un peu ?
Oui j’ai effectivement copié le code de Fabrice et j’ai juste rajouté une sortie Latex dans un fichier slib déposé dans le module.
Gilles
-
-
18 avril 2019 à 21:58 #4927bernadetteMaître des clés::
La question est que écrire \( \) dans un exercice oef signifie
aussi qu’il y ait une préinterprétation (en particulier des formules mathématiques venant d’un logiciel de calcul.Il devrait suffire d’écrire \(xxxx \ \) pour que cette préinterprétation ne soit pas faite.
Mais en effet on perd l’espacement ce qui est compatible avec le fait que
latex et ici mathml gère lui-même les espaces dans les formules.
Je suppose que ce nombre doit être mis avec d’autres choses, car sinon,
inutile de le mettre entre \( \). Et ta solution est alors bonne.
Il y aurait des manières de remplacer les espaces par des \ mais en oef
c’est assez pénible.
On doit pouvoir mettre ta proposition dans le noyau (j’appellerai l’option
plutôt tex que latex …)Bernadette
-
18 avril 2019 à 23:19 #4930Gilles MarbeufModérateur::
Bonsoir Bernadette,
Il devrait suffire d’écrire \(xxxx \ \) pour que cette préinterprétation ne soit pas faite. Mais en effet on perd l’espacement ce qui est compatible avec le fait que
latex et ici mathml gère lui-même les espaces dans les formules.Merci, je ne connaissais pas cette façon d’empêcher la pré-interprétation. J’ai essayé et effectivement on perd les espacements et l’affichage est pour le coup moins beau que le mathml et le latex.
Gilles
Gilles
-
-
19 avril 2019 à 06:42 #4931bernadetteMaître des clés::
Merci, je ne connaissais pas cette façon d’empêcher la pré-interprétation.
Je le répète pourtant souvent dans ce forum ! Voir la documentation de insmath
pour savoir ce que fait \( \) !Sinon, il vaut mieux mettre les options comme des mots quelque chose comme
slib(numeration/ecriturenombre 1006789, tex comma)
Cela évite le problème de se souvenir de l’ordre. Et on pourrait rajouter une optionen
!
Sinon, quand tu mets un slib dans un module qui ressemble beaucoup à un existant, je te conseille de garder le même nom (et même de créer le répertoire correspondant). Si ensuite tu veux prendre le slib du noyau, il n’y aura rien à changer dans les exercices, seulement effacer celui du module. C’est un détail, mais cela facilite la vie !
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.