Sortie LaTeX avec slib numeration/ecriturenombre

Accueil Forums Programmation WIMS Programmation dans le langage wims Sortie LaTeX avec slib numeration/ecriturenombre

Ce sujet a 5 réponses, 3 participants et a été mis à jour par  bernadette, il y a 1 mois.

  • Auteur
    Messages
  • #4924
    Gilles Marbeuf
    Gilles Marbeuf
    Participant

    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.
    Gilles

  • #4926

    byache
    Participant

    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 ?

    • #4929
      Gilles Marbeuf
      Gilles Marbeuf
      Participant

      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.

  • #4927

    bernadette
    Admin bbPress

    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

    • #4930
      Gilles Marbeuf
      Gilles Marbeuf
      Participant

      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

  • #4931

    bernadette
    Admin bbPress

    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 option en !
    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 !

Vous devez être connecté pour répondre à ce sujet.