Page 1 sur 1

[Résolu] Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 13:38
par boobamane
Bonjour,
Pour dresser un tableau statistique et faire certaines représentations, j'ai pensé que ce serait plus simple d'utiliser un fichier python avec mes connaissances très limitées, qui génère un fichier.tex et il ne restera plus qu'a compiler.

Le fichier joint à ce message est normalement d'extension .py. Lors de son lancement avec python3 ($\neq$ python2) on obtient un fichier nommé fichier.tex qui contient le code $\LaTeX{}$.

Question:

1 - Quelles lignes faudra-t-il ajouter à mon code python pour que la compilation du fichier $\LaTeX{}$ se lance de façon automatique.

2 - Comment associer une interface graphique au code python pour entrer directement les données au clavier.

Merci d'avance pour toute aide.

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 13:43
par rebouxo
Je ne réponds pas à la question, mais tu peux faire l'inverse : du python dans du latex.

Olivier

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 16:30
par evariste_G
rebouxo a écrit:Je ne réponds pas à la question, mais tu peux faire l'inverse : du python dans du latex.

Olivier


En effet, le package PythonTex est très pratique.
Je m'en suis servi cet été pour la première fois afin d'écrire la mini-doc sur Python (voir la page https://www.mathweb.fr/euclide/initiation-a-python/) et... wouaouh ! ça fait plaisir... :)

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 17:04
par boobamane
Merci pour ta suggestion Olivier.
L'objectif final c'est d'entrer des données d'une série discrète quantitative à 5 modalités pour commencer, à l'aide de python, et de faire les représentations en diagramme circulaire, diagramme en bandes, ...
Avec python3, on aura quelque chose comme:
Code: Tout sélectionner
# -*- coding:Utf-8 -*-
#!/usr/bin/python 3.4
col=float(input('Entrer le nombre de colonnes des modalités, a = ' )) ##   Pour l'instant entrer la valeur 5
while not(col == 5):
    col = int(input('Entrer la valeur 5 SVP  S.V.P. : '))
if col==5:   # On entre ici les caractère xi et puis les effectifs ni.
    x1=int(input('Entrer la modalité 1, x1 = ' ))
    x2=int(input('Entrer la modalité 2, x2 = ' ))
    x3=int(input('Entrer la modalité 3, x3 = ' ))
    x4=int(input('Entrer la modalité 4, x4 = ' ))
    x5=int(input('Entrer la modalité 5, x5 = ' ))
    n1=int(input('Entrer l\'effectif relatif 1, n1 = ' ))
    n2=int(input('Entrer l\'effectif relatif 2, n2 = ' ))
    n3=int(input('Entrer l\'effectif relatif 3, n3 = ' )) 
    n4=int(input('Entrer l\'effectif relatif 4, n4 = ' ))
    n5=int(input('Entrer l\'effectif relatif 5, n5 = ' ))
#On poursuit les instructions et on fait les calculs

Et ensuite ces données entrées seront utilisées pour faire tous les calculs et les représentations graphiques.

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 17:16
par boobamane
En effet, le package PythonTex est très pratique.
Je m'en suis servi cet été pour la première fois afin d'écrire la mini-doc sur Python (voir la page https://www.mathweb.fr/euclide/initiation-a-python/)

Merci mais je ne suis pas abonné à ton site qui s'est fait très beau. Félicitations.
En passant, ai beaucoup apprécié ton package mathbook.

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 17:45
par rebouxo
Je pense que l'on peut faire cela directement avec python (pythontex, ou sagetex) depuis latex (pas spécialiste). Perso je ferais cela avec asymptote (mais pour le coup je suis vraiment en dehors de la demande ;-)).

Olivier

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 19:25
par boobamane
Je le voulais un peu comme pyromath avec des va leurs à entrer directement et une compilation immédiat dès que le fichier .tex est généré.
Bon je la met en pose en attendant de voir.
Merci encore.

Re: Python pour générer et compiler du latex

MessagePosté: Dimanche 26 Août 2018, 21:36
par OG
Bonsoir

Il y a plusieurs solutions (selon la librairie) en voici une
Code: Tout sélectionner
from subprocess import call

call(["pdflatex", "fichier.tex"])

testée uniquement sous Linux.

O.G.

Re: Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 05:25
par boobamane
Bonjour,
Merci OG, le pdf est automatiquement créé. Quelle est la commende qui demande à evince ou à un autre lecteur d'ouvrir le fichier pdf?

Re: Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 09:03
par OG
Il doit y avoir des options (gestion de processus)
Code: Tout sélectionner
call(["evince", "fichier.pdf"])


O.G.

Re: Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 11:07
par boobamane
Merci OG ça marche.
L'autre souci pourra faire l'objet d'une autre discussion.
boobamane a écrit:2 - Comment associer une interface graphique au code python pour entrer directement les données au clavier.

Re: Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 15:57
par evariste_G
boobamane a écrit:
En effet, le package PythonTex est très pratique.
Je m'en suis servi cet été pour la première fois afin d'écrire la mini-doc sur Python (voir la page https://www.mathweb.fr/euclide/initiation-a-python/)

Merci mais je ne suis pas abonné à ton site qui s'est fait très beau. Félicitations.
En passant, ai beaucoup apprécié ton package mathbook.


Juste une remarque au passage : il n'est pas nécessaire d'être abonné pour voir les documents pdf (je parlais de PythonTeX et en regardant la doc de ce package sur Ctan, on peut voir le potentiel de ce dernier).

Re: Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 16:48
par OG
boobamane a écrit:Merci OG ça marche.
L'autre souci pourra faire l'objet d'une autre discussion.
boobamane a écrit:2 - Comment associer une interface graphique au code python pour entrer directement les données au clavier.


Re

Je ne connais pas grand chose à Python (juste un peu Numpy, Scipy et Matplotlib pour l'enseignement et du bricolage).
Question interface graphique, j'ai entendu parler de Tkinter, qui existe sous W$ et Linux. De nombreuses documentations
(en français et en anglais) existent. Comme cela peut intéresser d'autres personnes, n'hésite pas à donner un retour ici.

O.G.

Re: [Résolu] Python pour générer et compiler du latex

MessagePosté: Lundi 27 Août 2018, 23:28
par rebouxo
Tkinter c'est pas super top. Faire des curseurs qui modifie quelque chose (une couleur par exemple) est une galère sans nom. Les curseurs semblent ne pas renvoyer quelque chose. Je préfère qt. Est-ce utile de faire une interface graphique ?
Olivier

Re: [Résolu] Python pour générer et compiler du latex

MessagePosté: Mercredi 29 Août 2018, 01:13
par boobamane
Est-ce utile de faire une interface graphique ?


Non pas nécessairement. Merci à tous.