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

Calcul scientifique Python Discussion :

Equation sous forme Latex dans un terminal Python (Pycharm ou Spyder)


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Points : 42
    Points
    42
    Par défaut Equation sous forme Latex dans un terminal Python (Pycharm ou Spyder)
    Bonjour à tous,

    j'essaie par différentes méthodes d'écrire une "jolie" équation mathématique (présentation LaTex) dans un terminal Python.

    Le plus simple apparemment c'est d'utiliser matplotlib, mais l'équation que j'écris est alors toujours associée à un graphique (les axes apparaissent même si aucune fonction n'est tracée)...et le graphique ne m'intéresse pas du tout ici. Voir piece jointe ci-dessous avec (y= exp x)

    Je veux juste l'affichage de l'équation, éventuellement dans une fenêtre, mais qui puisse d'afficher dans le Terminal de Python 3.

    J'ai visité de nombreux sites à ce sujet, mais au mieux, j'ai trouvé l'affichage de l'équation dans une fenêtre externe, en utilisant le module "pytexit".
    Au pire, j'ai réussi l'affichage direct de l'équation dans le Terminal avec sympy, mais c'est vraiment pas tres beau... Voir exemple ci-dessous avec l'intégrale de racine de 1/x.

    Merci de votre aide.

    Nom : fig1.gif
Affichages : 3092
Taille : 14,4 KoNom : fig2.gif
Affichages : 2894
Taille : 19,4 Ko.

    Merci de votre aide.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Bonjour,
    Je ne sais pas ce que tu cherche à faire mais avec une console IPython voila ce que l'on peut obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import sympy as sp
    sp.init_printing()
    x=sp.symbols('x')
    I=sp.Integral(1/sp.sqrt(x),x)
    Nom : Capture.PNG
Affichages : 2890
Taille : 9,8 Ko

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Points : 42
    Points
    42
    Par défaut Quelques précisions
    Bonjour,

    Je cherche uniquement à apprendre à écrire dans le terminal des formules mathématiques avec une typographie type LaTex.
    Ce que vous me proposez fonctionne effectivement, mais...dans la console, moi je souhaite l'afficher dans le Terminal lors de l'exécution d'un programme.
    Exemple :

    On lance le programme et celui-ci affiche:

    "Vous allez déterminer la période T d'un pendule à partir de la relation :
    
                                         T = 2*pi* sqrt(l/g)               #Mais écrit avec une typo Latex
    
    Entrez une valeur pour la longueur du fil l:  "
    Le programme affiche ensuite la valeur de T.

    Ce n'est pas gênant si la formule s'affiche dans une petite fenêtre ou un carré blanc....., mais elle doit être dans le Terminal, et pas à l'extérieur, comme par exemple avec Tkinter.

    Merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Je ne sais pas faire.
    Par contre, si tu le souhaites, je peux te dire comment obtenir le pdf correspondant produit avec LaTeX commandé par Python.
    Pas d'aide par mp.

  5. #5
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par Olivier20000 Voir le message
    Ce que vous me proposez fonctionne effectivement, mais...dans la console, moi je souhaite l'afficher dans le Terminal lors de l'exécution d'un programme.
    ça marche aussi, il suffit de rajouter sp.pprint(I, use_unicode=False)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >python coincoin.py
      /
     |
     |   1
     | ----- dx
     |   ___
     | \/ x
     |
    /

  6. #6
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Je pense qu'Olivier 20000 souhaite qqchose d’esthétique... (le propre de LaTeX) Pour le coup, c'est raté
    Pas d'aide par mp.

  7. #7
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Points : 42
    Points
    42
    Par défaut
    Exactement ! ...

    C'est pourquoi je vais essayer de contourner le problème:

    - Je vais écrire directement la fonction "esthétique" en Latex.
    - J'en fais une image (copie d'écran, par exemple).
    - J'essaie de l'insérer dans le Terminal de python. Mais je ne sais pas si cela est possible, car j'ai beau essayer, l'image s'affiche toujours dans une fenêtre externe (si on utilise Tkinter, matplotlib et Pillow). Je viens donc de poser cette question sur le forum.

    Citation Envoyé par marco056 Voir le message
    Je pense qu'Olivier 20000 souhaite qqchose d’esthétique... (le propre de LaTeX) Pour le coup, c'est raté

  8. #8
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    le principe d'un terminal c'est que ça n'affiche que des caractères, on ne peut pas coller d'image ou de vidéo en plein millieu.
    s'il est question de ne pas afficher à l'extérieur du terminal (comme précisé plus haut), la seule solution c'est d'utiliser pprint().

    t'as essayé avec use_unicode=True ?


    ⎮ 1
    ⎮ ── dx
    ⎮ √x

  9. #9
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Points : 42
    Points
    42
    Par défaut
    Merci, bien noté !

    C'est quand même dommage qu'on ne puisse pas tout faire dans une même fenêtre !!
    Je me souviens des premiers temps où je travaillais en BASIC et TURBOPASCAL, il n'y avait pas ce problème...on pouvait faire du texte ET du graphisme, le tout dans une même écran...

    Merci quand même, cela m'évitera de chercher pour rien...

    Cordialement,

  10. #10
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Avec unicode = True, c'est mieux.
    Pour l'image, dans spyder, il faut aller voir dans Outils- > Préférences
    [edit] En fait, cette dernière opération n'est valable que pour les graphes.
    Pas d'aide par mp.

  11. #11
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Salut,

    Je vais être hors sujet, mais ça pourrait quand même vous intéresser. Je cite:
    Je cherche uniquement à apprendre à écrire dans le terminal des formules mathématiques avec une typographie type LaTex.
    Dans ce cas, vous pourriez utiliser un notebook Jupyter. Si vous ne savez pas ce qu'est un notebook, peut-être avez-vous déjà utilisé une feuille MathCad. Il y a des similitudes dans le principe. Vous pouvez écrire du texte formaté en Markdown, écrire du code python bien-sûr, mais aussi des équations avec la syntaxe Latex.

    Ce n'est pas un terminal, ce n'est pas inclu dans Spyder ni PyCharm cependant.

    Julien

  12. #12
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    On y arrive bien avec la console "jupyter qtconsole" comme a dit motomath au début du fil:

    Nom : jupyter_sympy.jpg
Affichages : 3219
Taille : 68,1 Ko

    On peut d'ailleurs copier-coller par la suite la petite image pour l'insérer ailleurs.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/03/2012, 07h46
  2. sous Form Upload dans un Form
    Par zeplubo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 25/09/2010, 12h19
  3. Réponses: 5
    Dernier message: 05/04/2009, 12h14
  4. Réponses: 2
    Dernier message: 04/05/2008, 20h45
  5. calcule d'une equation sous forme d'une chaine de carateres
    Par 01211983 dans le forum Général Java
    Réponses: 1
    Dernier message: 10/03/2008, 15h53

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