Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Centrer un pspicture dans une figure

168 views
Skip to first unread message

Olus

unread,
Jun 25, 2008, 10:12:42 AM6/25/08
to
Bonjour à tous,

J'utilise pstricks pour faire un dessin. Il est inclu dans un
"pspicture" qui lui même est dans un environnement "figure" afin
d'avoir les caption et label. Le hic, c'est que je n'arrive pas à
centrer mon dessin dans l'environnement figure. Le seul cas où ça
fonctionne est celui où le pspicture est lui même centré autour de
l'origine (0,0). Je mets un ecm qui présente le problème...

Voyez-vous une solution?

Merci et à bientôt,
Olus

ECM:
\documentclass[10pt]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage[all,cmtip]{xy}
\usepackage{pstricks}


\begin{document}

\hrule
\begin{figure}
\centering
\begin{pspicture}(10,10)
\psset{unit=3mm}
\psgrid
\psline(10,10)
\end{pspicture}
\caption{un titre}
\end{figure}

\hrule
\begin{figure}
\centering
\begin{pspicture}(-5,-5)(5,5)
\psset{unit=3mm}
\psgrid
\psline(-5,-5)(5,5)
\end{pspicture}
\caption{un titre}
\end{figure}

\end{document}

Ulrike Fischer

unread,
Jun 25, 2008, 10:29:09 AM6/25/08
to
Am Wed, 25 Jun 2008 07:12:42 -0700 (PDT) schrieb Olus:

> Bonjour à tous,
>
> J'utilise pstricks pour faire un dessin. Il est inclu dans un
> "pspicture" qui lui même est dans un environnement "figure" afin
> d'avoir les caption et label. Le hic, c'est que je n'arrive pas à
> centrer mon dessin dans l'environnement figure.

Il est centre ;-):

\documentclass[10pt]{article}
\usepackage{pstricks}


\begin{document}

\hrule
\begin{figure}
\centering

\fbox{\begin{pspicture}(10,10)


\psset{unit=3mm}
\psgrid
\psline(10,10)
\end{pspicture}}
\caption{un titre}
\end{figure}

\end{document}


--
Ulrike Fischer

moky

unread,
Jun 25, 2008, 10:37:48 AM6/25/08
to

C'est parce que tu mets ton \psset après avoir donné la bounding box
de ta figure. Celle-ci est donc centrée dans les unités "normales", et
ensuite tu dessines dedans en changeant les unités.

Chez moi, ceci fonctionne :


\begin{figure}
\centering

\psset{unit=3mm} <---------- ICI

\begin{pspicture}(-5,-5)(5,5)
<-------------- PAS ICI !


\psgrid
\psline(-5,-5)(5,5)
\end{pspicture}
\caption{un titre}
\end{figure}


Note que moi aussi, ça me semble assez illogique de pouvoir faire un
\psset en dehors de l'environnement pspicture ... et surtout que
l'intérieur de pspicture en tienne compte.


Bonne aprème
Laurent

Olus

unread,
Jun 25, 2008, 10:47:28 AM6/25/08
to
Bonjour,

>  \begin{figure}
> \centering
>
>  \psset{unit=3mm}    <---------- ICI
>
>  \begin{pspicture}(-5,-5)(5,5)
>                                <-------------- PAS ICI !
>  \psgrid
>  \psline(-5,-5)(5,5)
>  \end{pspicture}
>  \caption{un titre}
>  \end{figure}

Arghhh j'aurais pu chercher des heures!
Merci à toi ainsi qu'à Ulrike qui avait bien pointé le problème.

À bientôt,
Olus

Jean-Côme Charpentier

unread,
Jun 25, 2008, 11:03:38 AM6/25/08
to
moky a écrit :
> [...]

> Note que moi aussi, ça me semble assez illogique de pouvoir faire un
> \psset en dehors de l'environnement pspicture ... et surtout que
> l'intérieur de pspicture en tienne compte.

Je ne vois pas ce que cela à d'illogique, c'est le comportement normal
de LaTeX. Par exemple :

\bfseries
\begin{minipage}{10cm} Coucou \end{minipage}

composera le « Coucou » en gras.
C'est plutôt de croire que le \begin{pspicture}(10,10) tienne compte
d'un \psset placé après qui me semble illogique... ou du moins en
contradiction absolue avec le mode de fonctionnement de TeX : il ne
revient *jamais* à l'envers (j'ai bien dit *jamais*) lorsqu'il lit un
source.

Jean-Côme Charpentier

moky

unread,
Jun 25, 2008, 8:16:58 PM6/25/08
to
>Arghhh j'aurais pu chercher des heures!

Je sais ... d'expérience !

Affin de trouver en moins que "des heures", il faut être un peu
systématique.

D'abord, tu crée une image avec rien qu'un point en (1,3) (càd pas
centré du tout). Pas de problèmes. Essaye avec une ligne, pas de
problèmes. Ajoutes psgrig, toujours pas de problèmes. Ajoute \psset et
BANG.
En ajoutant les éléments un à un, tu vois vite quelle est la ligne qui
t'ennuie.

> Je ne vois pas ce que cela � d'illogique, c'est le comportement normal


> de LaTeX. Par exemple :
>
> \bfseries
> \begin{minipage}{10cm} Coucou \end{minipage}
>
> composera le � Coucou � en gras.

> C'est plut�t de croire que le \begin{pspicture}(10,10) tienne compte
> d'un \psset plac� apr�s qui me semble illogique... ou du moins en


> contradiction absolue avec le mode de fonctionnement de TeX : il ne

> revient *jamais* � l'envers (j'ai bien dit *jamais*) lorsqu'il lit un
> source.

Non, mais je me serais dit qu'avec un nom comme "pspicture", cet
environement remetrait à zéro les petits réglages ps* faits par
ailleurs.
Un peu comme à l'intérieur d'un environnement "center", il ne tient
pas compte de si on avait demandé un alignement à gauche ou à droite
pour le reste du document.
C'était pas plus profond que ça.


Bonne nuit
Laurent

Olus

unread,
Jun 26, 2008, 4:22:21 AM6/26/08
to
Bonjour à tous,

Merci beaucoup pour vos réponses et les précieux conseils qu'elles
contiennent!

Olus

0 new messages