Sortie LaTeX avec slib numeration/ecriturenombre

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

Vous lisez 3 fils de discussion
  • Auteur
    Messages
    • #4924
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      Gilles MarbeufGilles 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
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      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
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        Gilles MarbeufGilles 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
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      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
        Merci, ca m’a aidé
        Up
        0
        Down
        Pas très utile.
        Gilles MarbeufGilles 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
      Merci, ca m’a aidé
      Up
      0
      Down
      Pas très utile.
      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 lisez 3 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.