IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques - Sciences Discussion :

Séparateur des milliers dans l'écriture des nombres (LaTeX utilisé par Python)


Sujet :

Mathématiques - Sciences

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2025
    Messages : 4
    Par défaut Séparateur des milliers dans l'écriture des nombres (LaTeX utilisé par Python)
    Bonjour à toutes et tous.

    Je rencontre un problème lié à LaTeX mais dans un programme Python.
    Je souhaite que les nombres en abscisse et ordonnée de mes graphiques produits par Python Matplotlib soient formatés conformément aux règles françaises, à savoir avec la virgule comme séparateur décimal et, si possible, une espace fine insécable comme séparateur des milliers. Le tout en aspect LaTeX. Voici un exemple minimal du code Python qui montre le problème que je rencontre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    from matplotlib import pyplot as plt
    import locale
     
    locale.setlocale(locale.LC_NUMERIC, 'fr')
    plt.rcParams.update({
        'axes.formatter.use_locale':True,
        'text.usetex': True,
        'figure.dpi':300,
        'font.family': 'Computer Modern',
        'text.latex.preamble':r'\usepackage{icomma}'
    })
     
    plt.plot([0,200],[0,1])
    plt.show()
    plt.plot([0,1200],[0,1])
    plt.show()
    Le premier graphique est créé sans problème. La locale fr met bien la virgule comme séparateur décimal, le package LaTeX icomma évite l'espace après la virgule.
    Le deuxième graphique n'est pas créé car le séparateur décimal voulu pour les milliers, espace fine insécable, n'est pas reconnu par LaTeX. Le message d'erreur est
    ! LaTeX Error: Unicode character   (U+202F) not set up for use with LaTeX.

    J'ai essayé d'ajouter un préambule LaTeX \DeclareUnicodeCharacter{202F}{\,} par exemple, sans succès...

    Merci pour votre aide.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2025
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2025
    Messages : 4
    Par défaut
    Désolé, j'ai eu un indice par ailleurs qui me fait trouver une solution qui fonctionne :
    'text.latex.preamble':'\n'.join([r'\usepackage{icomma}',r'\DeclareUnicodeCharacter{202F}{\,}'])

    J'ai fini par comprendre que text.latex.preamble veut une chaîne, donc qu'il fallait procéder par exemple ainsi pour passer plusieurs commandes.

    Il y a certainement d'autres manières de faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/12/2013, 13h20
  2. Des nombres qui commencent par 0
    Par KEROZEN dans le forum Access
    Réponses: 5
    Dernier message: 28/04/2006, 13h31
  3. [MySQL] Additionner des nombres dans un array
    Par azorol dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 10/02/2006, 11h34
  4. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 01h25
  5. Utilisation des nombres dans Winsock2
    Par DeusXL dans le forum MFC
    Réponses: 14
    Dernier message: 01/12/2004, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo