[Résolu] Insérer image pstricks et modifier l'échelle

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Insérer image pstricks et modifier l'échelle

Messagepar Arathorn » Mercredi 22 Avril 2015, 16:41

Bonjour,

J'aimerais intégrer une dessin pstricks dans un autre fichier en modifiant l'échelle.

Le fichier dessin
Code: Tout sélectionner
%\begin{pspicture}(0,0)(13,15)
%\psgrid(0,0)(13,15)
%\psset{xunit=1cm,yunit=1cm}


\def\Becher{
\psframe [linewidth=2.5pt,framearc=0.3](0,0)(5,2)%balance
\psframe[fillstyle=solid,framearc=0.2,fillcolor=gray!20,linecolor=gray!20](0.25,6)(4.5,2.05)%remplissage
\psline[linewidth=2.5pt,linearc=0.3](0.25,6.5)(.25,2.06)(4.5,2.06)(4.5,6.5)}%bécher

\def\MoleculeEau{%
\pscircle[linewidth=1pt,fillstyle=solid,fillcolor=gray!60,linecolor=gray!60](0.9,2.9){0.2}%hydrogène
\pscircle[linewidth=1pt,fillstyle=solid,fillcolor=gray!60,linecolor=gray!60](1.3,2.5){0.2}%hydrogène
\pscircle[linewidth=1pt,fillstyle=solid,fillcolor=gray!60,linecolor=gray!60](0.9,2.5){0.3}%oxygène
}%

\def\MoleculesEauDeplacees{%
\rput[0,0]{0}(-0.2,8){\MoleculeEau}%ligne 1 molécule 1
\rput[0,0]{30}(2.2,7.8){\MoleculeEau}%ligne 1 molécule 2
\rput[0,0]{-50}(0.2,9.7){\MoleculeEau}%ligne 1 molécule 3
\rput[0,0]{-150}(3.5,13.3){\MoleculeEau}%ligne 1 molécule 4

\rput[0,0]{200}(0.9,14.2){\MoleculeEau}%ligne 2 molécule 1
\rput[0,0]{90}(4.5,10.3){\MoleculeEau}%ligne 2 molécule 2
\rput[0,0]{110}(5.6,11.4){\MoleculeEau}%ligne 2 molécule 3
\rput[0,0]{10}(3.2,8.9){\MoleculeEau}%ligne 2 molécule 4

\rput[0,0]{-50}(-1.8,11.5){\MoleculeEau}%ligne 3 molécule 1
\rput[0,0]{170}(3.2,14.8){\MoleculeEau}%ligne 3 molécule 2
\rput[0,0]{220}(2,15){\MoleculeEau}%ligne 3 molécule 3
\rput[0,0]{270}(1.3,13.6){\MoleculeEau}%ligne 3 molécule 4

\rput[0,0]{-150}(0.5,16.2){\MoleculeEau}%ligne 4 molécule 1
\rput[0,0]{-110}(-.2,15.2){\MoleculeEau}%ligne 4 molécule 2
\rput[0,0]{-70}(0.1,13.6){\MoleculeEau}%ligne 4 molécule 3
\rput[0,0]{-30}(1.7,11.7){\MoleculeEau}%ligne 4 molécule 4
}

%%%Situation initiale
\Becher\psccurve[showpoints=true,fillstyle=solid,framearc=0.2,fillcolor=gray!20,linecolor=gray!20](0.4,5.5)(0.4,5.8)(0.4,6)(0.6,6.2)(2,6.2)(4.2,6)(4.4,5.5)%bécher rempli
\multido{\r=0+1}{4}{\multirput(-.20,\r)(1,0){4}{\MoleculeEau}}%empilement des molécules
\rput(2.5,1) {\huge \numprint[g]{83.0}}%valeur
\rput[b](2.5,-.5){\Large situation initiale}

%%%Situation a
\psline[linewidth=1.5pt]{->}(5,6.7)(5,8)
\rput[0,0]{0}(0,8){\Becher\rput[b](2.5,-.5){\Large situation a}\rput(2.5,1) {\huge \numprint[g]{82.0}}}
\MoleculesEauDeplacees


%%%Situation b
\psline[linewidth=1.5pt]{->}(5,6.7)(7.8,8)
\rput[0,0]{0}(8,8){\Becher\rput[b](2.5,-.5){\Large situation b}\rput(2.5,1) {\huge \numprint[g]{83.0}}}
\rput[0,0](8,0){\MoleculesEauDeplacees}
%%%Suppression1 molécule
\rput[0,0]{220}(10,15){
\pscircle[linewidth=0pt,fillstyle=solid,fillcolor=gray!20,linecolor=gray!20](0.9,2.9){0.2}%hydrogène
\pscircle[linewidth=0pt,fillstyle=solid,fillcolor=gray!20,linecolor=gray!20](1.3,2.5){0.2}%hydrogène
\pscircle[linewidth=0pt,fillstyle=solid,fillcolor=gray!20,linecolor=gray!20](0.9,2.5){0.3}%oxygène
}
%%%


%%%Situation c
\psline[linewidth=1.5pt]{->}(5,6.7)(7.5,6.7)
\rput[0,0]{0}(8,0){\Becher\rput[b](2.5,-.5){\Large situation c}\rput(2.5,1) {\huge \numprint[g]{83.0}}}
\rput[0,0](8,-8){\MoleculesEauDeplacees}
%
%\end{pspicture}


Le fichier de travail

Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage[left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
\usepackage{pst-all,numprint,pst-eps,graphicx}
\begin{document}


\PSTtoEPS[bbllx=0,bblly=0,bburx=3,bbury=-3]{figure-pst.eps}{%
\begin{pspicture}
\input{ConservationMasse.tex}
\end{pspicture}
}
\includegraphics[scale=0.8]{figure-pst}
\end{document}


Je me suis inspirer de ce message (le 4e) http://forum.mathematex.net/latex-f6/pst2eps-t3521.html

J'ai essayé
Code: Tout sélectionner
\pscustom{\scale{0.8}\input{ConservationMasse.tex}}


Je ne comprends pas le chapitre IV ni les paragraphes 40 et 41 de la documentation de pstricks.

En vous remerciant.
Dernière édition par Arathorn le Jeudi 23 Avril 2015, 16:34, édité 1 fois.
Arathorn
Kilo-utilisateur
 
Messages: 143
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Insérer image pstricks et modifier l'échelle

Messagepar kojak » Mercredi 22 Avril 2015, 17:37

Bonjour,

Et en changeant le psset en \psset{unit=.8cm} dans ton fichier ConservationMAsse.tex mais en le mettant avant le \begin{pspicture}. Ca ne te convient pas ceci ? car là, pas de tracas.. à moins que je n'aies pas compris ce que tu voulais...
pas d'aide par MP
kojak
Modérateur
 
Messages: 10374
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Re: Insérer image pstricks et modifier l'échelle

Messagepar Arathorn » Mercredi 22 Avril 2015, 18:37

Bonsoir,

Je ne savais que l'on pouvais placer \psset en dehors d'un environnement pspicture.

Je souhaite que mon fichier ConservationMasse.tex reste inchangé et qu'en fonction de l'endroit où je le placerai dans mon fichier de travail, je modifie soit la largeur et/ou la hauteur avec une commande dans le fichier travail (comme une figure tikz : xscale, yscale ).

J'ai commencé à apprendre psstricks et je n'ai pas envie d'apprendre deux codes différents même si mes dessins sont rudimentaires.

Merci
Arathorn
Kilo-utilisateur
 
Messages: 143
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant

Re: Insérer image pstricks et modifier l'échelle

Messagepar balf » Jeudi 23 Avril 2015, 00:40

Il me semble que vous vous compliquiez la vie avec pst-eps. Je vous propose d'avoir un fichier image, compilé de façon indépendante, directement au format .pdf, à la taille exacte de l'image, avec la classe standalone : et d'ajouter aux options de classe pdf. De la sorte, pdflatex chargera l'extension auto-pst-pdf qui se charge de sous-traiter le fichier pstricks et de convertir l'eps intermédiaire résultant (avec une Bounding Box exacte) en .pdf.

Pour que tout cela fonctionne, il faut simplement rajouter aux paramètres de lancement de pdflatex:
--enable-write18 si vous êtres sous MiKTeX, ou -shell-escape sous TeX Live/MacTeX.

Code du fichier graphique (j'ai un peu amélioré l'apparence et simplifié le code):
Code: Tout sélectionner
   \documentclass[12pt,pdf]{standalone}
    \usepackage[utf8]{inputenc}%
    \usepackage[T1]{fontenc}
\usepackage{lmodern}
    \usepackage{pst-all,numprint,pst-eps,graphicx}
    \begin{document}

    \begin{pspicture}(0,0)(13,15)
    %\psgrid(0,0)(13,15)
    %\psset{xunit=1cm,yunit=1cm}
\setlength\fboxsep{6pt}
    \def\Becher{
    \psframe [linewidth=2.5pt, framearc=0.3](0,0)(4.75,2)%balance
    \psframe[fillstyle=solid,framearc=0.2,fillcolor=gray!20,linecolor=gray!20](0.25,6)(4.5,2.05)%remplissage
    \psline[linewidth=2.5pt,linearc=0.3](0.25,6.5)(.25,2.06)(4.5,2.06)(4.5,6.5)}%bécher
%
    \def\MoleculeEau{%
    \psset{linewidth=1pt,fillstyle=solid,fillcolor=gray!60,linecolor=gray!60}
    \pscircle(0.9,2.9){0.2}%hydrogène
    \pscircle(1.3,2.5){0.2}%hydrogène
    \pscircle(0.9,2.5){0.3}%oxygène
    }%
%
    \def\MoleculesEauDeplacees{%
    \rput[0,0]{0}(-0.2,8){\MoleculeEau}%ligne 1 molécule 1
    \rput[0,0]{30}(2.2,7.8){\MoleculeEau}%ligne 1 molécule 2
    \rput[0,0]{-50}(0.2,9.7){\MoleculeEau}%ligne 1 molécule 3
    \rput[0,0]{-150}(3.5,13.3){\MoleculeEau}%ligne 1 molécule 4
%
    \rput[0,0]{200}(0.9,14.2){\MoleculeEau}%ligne 2 molécule 1
    \rput[0,0]{90}(4.5,10.3){\MoleculeEau}%ligne 2 molécule 2
    \rput[0,0]{110}(5.6,11.4){\MoleculeEau}%ligne 2 molécule 3
    \rput[0,0]{10}(3.2,8.9){\MoleculeEau}%ligne 2 molécule 4
%
    \rput[0,0]{-50}(-1.8,11.5){\MoleculeEau}%ligne 3 molécule 1
    \rput[0,0]{170}(3.2,14.8){\MoleculeEau}%ligne 3 molécule 2
    \rput[0,0]{220}(2,15){\MoleculeEau}%ligne 3 molécule 3
    \rput[0,0]{270}(1.3,13.6){\MoleculeEau}%ligne 3 molécule 4

    \rput[0,0]{-150}(0.5,16.2){\MoleculeEau}%ligne 4 molécule 1
    \rput[0,0]{-110}(-.2,15.2){\MoleculeEau}%ligne 4 molécule 2
    \rput[0,0]{-70}(0.1,13.6){\MoleculeEau}%ligne 4 molécule 3
    \rput[0,0]{-30}(1.7,11.7){\MoleculeEau}%ligne 4 molécule 4
    }
%
    %%%Situation initiale
    \Becher\psccurve[showpoints=true,fillstyle=solid,framearc=0.2,fillcolor=gray!20,linecolor=gray!20](0.4,5.5)(0.4,5.8)(0.4,6)(0.6,6.2)(2,6.2)(4.2,6)(4.4,5.5)%bécher rempli
    \multido{\r=0+1}{4}{\multirput(-.20,\r)(1,0){4}{\MoleculeEau}}%empilement des molécules
    \rput(2.375,1) {\fbox{\makebox[3.5cm]{\huge \numprint[g]{83.0}}}}%valeur
    \rput[b](2.5,-.7){\Large situation initiale}
%
    %%%Situation a
    \psline[linewidth=1.5pt]{->}(5,6.7)(5,8)
    \rput[0,0]{0}(0,8){\Becher\rput[b](2.5,-.7){\Large situation a}\rput(2.375,1) {\fbox{\makebox[3.5cm]{\huge \numprint[g]{82.0}}}}}
    \MoleculesEauDeplacees
%
    %%%Situation b
    \psline[linewidth=1.5pt]{->}(5,6.7)(7.8,8)
    \rput[0,0]{0}(8,8){\Becher\rput[b](2.5,-.7){\Large situation b}\rput(2.375,1) {\fbox{\makebox[3.5cm]{\huge \numprint[g]{83.0}}}}}
    \rput[0,0](8,0){\MoleculesEauDeplacees}
    %%%Suppression 1 molécule
    \rput[0,0]{220}(10,15){%
\psset{linewidth=0pt,fillstyle=solid,fillcolor=gray!20,linecolor=gray!20}
    \pscircle(0.9,2.9){0.2}%hydrogène
    \pscircle(1.3,2.5){0.2}%hydrogène
    \pscircle(0.9,2.5){0.3}%oxygène
    }
    %%%
%
    %%%Situation c
    \psline[linewidth=1.5pt]{->}(5,6.7)(7.5,6.7)
    \rput[0,0]{0}(8,0){\Becher\rput[b](2.5,-.7){\Large situation c}\rput(2.375,1) {\fbox{\makebox[3.5cm]{\huge \numprint[g]{83.0}}}}}
    \rput[0,0](8,-8){\MoleculesEauDeplacees}
    %
    \end{pspicture}

    \end{document}


Code du fichier principal :

Code: Tout sélectionner
    \documentclass[12pt,francais, a4paper]{article}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[margin=1cm]{geometry}
    \usepackage{pst-all,numprint,,graphicx}

    \begin{document}

    \begin{figure}
    \centering
        \includegraphics[scale=0.8]{ConservationMassepdf}
    \end{figure}
    \end{document}


Résultat en p.j.
B.A.
Fichiers joints
pbpst-eps.pdf
(39.08 Kio) Téléchargé 66 fois
balf
Zetta-utilisateur
 
Messages: 3746
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Insérer image pstricks et modifier l'échelle

Messagepar rebouxo » Jeudi 23 Avril 2015, 09:27

Et je dirais même plus qu'il existe pst-labo pour faire toute la verrerie du chimiste.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6859
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Insérer image pstricks et modifier l'échelle

Messagepar Arathorn » Jeudi 23 Avril 2015, 16:34

Bonjour,

Je ne connaissais pas la classe standalone.
Je compile toujours sous latex+dvips+ps2pdf+Voir PDF donc j'ai inclus le fichier ps au lieu du pdf.

Pour le paquet pst-labo, je connais mais je ne voyais pas comment intégrer des molécules dans la macro du bécher.

Merci
Arathorn
Kilo-utilisateur
 
Messages: 143
Inscription: Mercredi 24 Avril 2013, 18:47
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot], Grapeshot [Crawler] et 20 invités