A propos de PSTricks

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

[Résolu] A propos de PSTricks

Message par Fabrice Couvreur »

Bonjour à tous,
Ayant découvert PSTricks depuis peu, je ne maîtrise pas encore, mais j'aime beaucoup !

# Aussi, j'ai essayé d'utiliser la macro \psgrid dans le code ci-dessous :

Code : Tout sélectionner

\documentclass[a4paper,10pt,svgnames]{article}
\usepackage{fullpage}
\usepackage{pstricks-add}
\begin{document}
\begin{flushleft}
  \psshadowbox{
    \begin{tabular}{p{4cm}|p{4cm}}
      Nom :  &  Prénom : 
    \end{tabular}
}
\end{flushleft}
\begin{center}
  \psshadowbox{\Large\textbf{Annexe~2}}
\end{center}
\psset{xunit=0.4cm,yunit=0.01cm,algebraic=true,arrowsize=3pt,arrowinset=0.25}
\begin{pspicture}(-2.5,-100)(35,2200)
\multido{\n=0+5}{8}{%
\psline[linecolor=lightgray](\n,0)(\n,2200)}
\multido{\n=0+200}{12}{%
\psline[linecolor=lightgray](0,\n)(35,\n)}
\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,Dy=200,ticksize=-2pt]{->}(0,0)(-2.5,-100)(35,2200)
\psplot[plotpoints=10000,linecolor=red,linewidth=1pt]{0}{30}{(1/3)*x^3-11*x^2+100*x+72}
\rput{S}(34,-25){$x$}
\rput{N}(-1,2150){$y$}
\end{pspicture}
\end{document}
Le résultat était catastrophique : rectangle gris à la place de la grille sur une partie du graphique, grille incomplète,......
J'ai donc bricolé une grille à l'aide de la macro \multido.
Peut-on améliorer ce code ?
Je précise que j'ai déjà utilisé la macro \psgrid sans problèmes jusqu'ici.

# Autre petit soucis : la gestion de l'origine du repère ; comment l'afficher ?
En effet, avec ce bricolage, si j'utilise l'instruction :

Code : Tout sélectionner

\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,Dy=200,ticksize=-2pt]{->}(-2.5,-100)(35,2200)
la grille n'est plus rattachée aux axes.

# Enfin, je souhaiterais que l'ensemble tienne sur une seule page sans modifier les dimensions du graphique.
Merci.
Dernière modification par Fabrice Couvreur le jeudi 24 février 2011, 22:36, modifié 1 fois.

kojak
Modérateur global
Modérateur global
Messages : 10380
Inscription : samedi 18 novembre 2006, 19:50

Re: A propos de PSTricks.

Message par kojak »

Bonjour,

Ce n'est pas un ECM ton fichier..

Pour avoir l'origine du repère, il faut l'ajouter à la main.

Ensuite, pourquoi mettre des flèches sur les axes, car au vu de l'orientation, on se doute bien dans quel sens on va... et idem, pourquoi mettre les $x$ et $y$ ?

Une proposition

Code : Tout sélectionner

\psset{xunit=0.4cm,yunit=0.01cm,algebraic,arrowsize=3pt,arrowinset=0.25}
\begin{pspicture}(-2.5,-100)(35,2200)

\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray,xunit=5,
yunit=200](7,11)
   
\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,
Dy=200,ticksize=-2pt]{-}(0,0)(-2.5,-100)(35,2200)

\psplot[plotpoints=10000,linecolor=red,linewidth=1pt]{0}{30}{
(1/3)*x^3-11*x^2+100*x+72}
\rput(-.8,-20){$O$}
\end{pspicture}
PS : c'est quoi ce svgnames dans le documentclass ?
Pas d'aide par MP.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: A propos de PSTricks.

Message par Fabrice Couvreur »

Salut Kojak,
kojak a écrit :Ce n'est pas un ECM ton fichier..
Bah, je trouve que cela est minimal !
kojak a écrit :Ensuite, pourquoi mettre des flèches sur les axes, car au vu de l'orientation, on se doute bien dans quel sens on va... et idem, pourquoi mettre les $x$ et $y$ ?
J'ai toujours fait comme cela.
kojak a écrit :PS : c'est quoi ce svgnames dans le documentclass ?
C'est une liste de couleurs prédéfinies.
kojak a écrit :Pour avoir l'origine du repère, il faut l'ajouter à la main.
Je préfére quand le zéro de chaque axe est écrit.
Merci.

kojak
Modérateur global
Modérateur global
Messages : 10380
Inscription : samedi 18 novembre 2006, 19:50

Re: A propos de PSTricks.

Message par kojak »

Fabrice Couvreur a écrit : Bah, je trouve que cela est minimal !
Le début est inutile dans un ECM :wink:

Code : Tout sélectionner

\begin{flushleft}
  \psshadowbox{
    \begin{tabular}{p{4cm}|p{4cm}}
      Nom :  &  Prénom :
    \end{tabular}
}
\end{flushleft}
\begin{center}
  \psshadowbox{\Large\textbf{Annexe~2}}
\end{center}
Fabrice Couvreur a écrit : C'est une liste de couleurs prédéfinies.
Il n'y en a pas mal dans xcolor :D
Fabrice Couvreur a écrit : Je préfére quand le zéro de chaque axe est écrit.
il suffit alors de lui demander :wink:

Code : Tout sélectionner

\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,
Dy=200,ticksize=-2pt]{-}(0,0)(35,2200)
Pas d'aide par MP.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: A propos de PSTricks.

Message par Fabrice Couvreur »

kojak a écrit :Le début est inutile dans un ECM :wink:
Sauf qu'ici, il me le fallait pour montrer le problème que je rencontre dans la gestion de la page ; je veux une seule page et les rectangles devraient être à la même hauteur sur la ligne de base.

djiblamb
Utilisateur confirmé
Utilisateur confirmé
Messages : 89
Inscription : samedi 27 septembre 2008, 10:58

Re: A propos de PSTricks.

Message par djiblamb »

Bonsoir.
Pour tout avoir sur la même page, invoquer le package fullpage avec l'option cm (usepackage[cm]{fullpage}), qui règle les marges à 1,5 cm, ou utiliser le package geometry. Voici un code possible :

Code : Tout sélectionner

\documentclass[a4paper,10pt,svgnames]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
%\usepackage[a4paper,dvips,margin=1.5cm]{geometry}
\usepackage[cm]{fullpage}
\usepackage{pstricks-add}
\pagestyle{empty}

\begin{document}
\noindent\psshadowbox{%
    \begin{tabular}{p{4cm}|p{4cm}}
      Nom :  &  Prénom :
    \end{tabular}
}
\begin{center}
\psshadowbox{\Large\textbf{Annexe~2}}

\vspace{\baselineskip}
\psset{xunit=0.4cm,yunit=0.01cm,algebraic=true,arrowsize=3pt,arrowinset=0.25}
\begin{pspicture}(-2.5,-100)(35,2200)
\multido{\n=0+5}{8}{%
\psline[linecolor=lightgray](\n,0)(\n,2200)}
\multido{\n=0+200}{12}{%
\psline[linecolor=lightgray](0,\n)(35,\n)}
\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,Dy=200,ticksize=-2pt]{->}(0,0)(-2.5,-100)(35,2200)
\psplot[plotpoints=400,linecolor=red,linewidth=1pt]{0}{30}{(1/3)*x^3-11*x^2+100*x+72}
\rput{S}(34,-25){$x$}
\rput{N}(-1,2150){$y$}
\end{pspicture}
\end{center}

\end{document}
J'ai remplacé le flushleft du début par noindent et réduit le nombre de points affichés sur la courbe pour avoir un tracé plus rapide.

Pour que les deux boîtes soient alignés sur la ligne de base, il semble y avoir deux problèmes : le tableau dans la première boîte et la taille de la police (Large) dans la deuxième. En bricolant un peu, j'ai fait ceci, mais je ne trouve pas que ce soit très esthétique.

Code : Tout sélectionner

\documentclass[a4paper,10pt,svgnames]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[cm]{fullpage}
\usepackage{pstricks-add}
\pagestyle{empty}

\begin{document}
\noindent\psshadowbox{%
    \begin{tabular}{p{4cm}|p{4cm}}
      Nom :  &  Prénom :
    \end{tabular}
}
\psshadowbox{\begin{tabular}{c}\Large\textbf{Annexe~2}\end{tabular}}

\begin{center}
\psset{xunit=0.4cm,yunit=0.01cm,algebraic=true,arrowsize=3pt,arrowinset=0.25}
\begin{pspicture}(-2.5,-100)(35,2200)

\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray,xunit=5,
yunit=200](7,11)
   
\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,
Dy=200,ticksize=-2pt]{-}(0,0)(-2.5,-100)(35,2200)

\psplot[plotpoints=400,linecolor=red,linewidth=1pt]{0}{30}{
(1/3)*x^3-11*x^2+100*x+72}
\rput(-.8,-20){$O$}
\end{pspicture}
\end{center}

\end{document}
djib

kojak
Modérateur global
Modérateur global
Messages : 10380
Inscription : samedi 18 novembre 2006, 19:50

Re: A propos de PSTricks.

Message par kojak »

Fabrice Couvreur a écrit : Sauf qu'ici, il me le fallait pour montrer le problème que je rencontre dans la gestion de la page ; je veux une seule page et les rectangles devraient être à la même hauteur sur la ligne de base.
quels rectangles ?

Je ne comprends pas ce que tu veux.

De plus, comme précisé par djiblamb, il me semble très utile de passer par geometry comme ça tu mets les marges que tu veux.



Avec

Code : Tout sélectionner

\geometry{hmargin=2.5cm, vmargin=2.5cm}
ça tient sans pb sur un même page
Pas d'aide par MP.

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: A propos de PSTricks.

Message par Fabrice Couvreur »

Bonsoir,
djiblamb a écrit :invoquer le package fullpage avec l'option cm (usepackage[cm]{fullpage})
Cette méthode ne donne rien chez moi.
djiblamb a écrit :ou utiliser le package geometry
C'est ok.
djiblamb a écrit :réduit le nombre de points affichés sur la courbe pour avoir un tracé plus rapide
Mon processeur est très véloce !
djiblamb a écrit :Pour que les deux boîtes soient alignés sur la ligne de base, il semble y avoir deux problèmes : le tableau dans la première boîte et la taille de la police (Large) dans la deuxième. En bricolant un peu, j'ai fait ceci, mais je ne trouve pas que ce soit très esthétique.
Voici aussi du "bricolage" :

Code : Tout sélectionner

\documentclass[10pt,svgnames]{article}
\usepackage[a4paper,dvips,margin=1.5cm]{geometry}
\usepackage{pstricks-add}
\begin{document}
\begin{tabularx}{1.0\linewidth}{XX}
\psframebox{
    \begin{tabular}{p{3cm}|p{3cm}}
      Nom :  &  Prénom : 
    \end{tabular}}&
 \psframebox{
\begin{tabular}{c}
\textbf{Annexe~2}
\end{tabular}}
\end{tabularx}
\psset{xunit=0.4cm,yunit=0.01cm,algebraic=true,arrowsize=3pt,arrowinset=0.25}
\begin{center}
\begin{pspicture}(-2.5,-100)(35,2200)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray,xunit=5,
 yunit=200](7,11)
\psaxes[linewidth=1pt,labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=5,Dy=200,ticksize=-2pt]{->}(0,0)(35,2200)
\psplot[plotpoints=10000,linecolor=cyan,linewidth=1pt]{0}{30}{(1/3)*x^3-11*x^2+100*x+72}
\end{pspicture}
\end{center}
\end{document}
kojak a écrit : quels rectangles ?

Je ne comprends pas ce que tu veux.
Je voulais que les boîtes, que j'ai appelées rectangles, soient alignées sur la même ligne de base.
Merci.

Altermundus
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 557
Inscription : lundi 28 mai 2007, 10:31
Statut actuel : Autre
Localisation : Paris

Re: A propos de PSTricks.

Message par Altermundus »

kojak a écrit :
Fabrice Couvreur a écrit : C'est une liste de couleurs prédéfinies.
Il n'y en a pas mal dans xcolor :D
:) Justement c'est xcolor qui propose svgnames ! , ainsi que dvipsnames, usenames etc.

Alain