hilpers


  hilpers > comp.* > comp.text.tex

 #1  
03/05/2017, 17h15
gaetan
Bonjour,

après avoir cherché sans succès (faq, forums ...), je me permets de
poster ici.

(Je suis sous Windows + MikTeX (et TexMaker))

Etant dans le secondaire, j'utilise souvent des fichiers sources issus
de l'apmep à l'intérieur desquels les figures sont codées en pstricks.
Voulant compiler directement en pdflatex, jusque là, j'extrayais le code
dans un fichier annexe (avec devant un \thispagestyle{empty}), puis
j'utilisais la chaine LaTEX, dvips, conversion ps en eps avec gsview (et
automatic Bounding Box) et éventuellement ensuite eps2pdf.

J'incluais ensuite mon image avec un \includegraphics[...]{...}

Or, depuis récemment, lors de la compilation ensuite via pdfLaTeX, la
page entière est incluse et non juste la bounding box définie dans le
fichier. Cela me donne alors une page blanche avec mon dessin dans le
fichier et non plus la partie concernée (alors que le §§BoundingBox est
bien présent dans le fichier eps (voir ci-dessous))

Je ne sais plus comment m'en sortir (mon but n'est pas de passer par
latex + dvips + ps2pdf)

Qu'est-ce que je loupe ??

Merci d'avance.

Gaetan

Exemple :

compilation du fichier ci-dessous, puis dvips, ps -> eps avec gsview
(automatic bounding box)

--------------

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{pst-plot}
\usepackage{graphicx}

\begin{document}

\thispagestyle{empty}

\psset{unit=1cm}
\begin{pspicture}(-1.5,-0.5)(7,5)
%\psgrid
\psplot[plotpoints=4000]{2}{5.437}{x 2 div ln x mul x sub 2 add}
%\psplot[plotpoints=4000]{3}{5.437}{x 2 add 5.437 sub}
\pspolygon(2,0)(2,1.8)(-1.3,2.5)(-1.3,0.7)
\rput(-3.3,0.7){\psplot[plotpoints=4000]{2}{5.437}{x 2 div ln x mul x
sub 2 add}}
\psline(2.1,2.7)(5.4,2)
\psline(-1.3,2.5)(2.1,2.7)
\psline(2,1.8)(5.4,2)
\psline[linewidth=0.5pt](2,1.8)(2,3)\psline[linewidth=0.5pt](-1.3,2.5)(-1.3,3.7)
\psset{arrowsize=2pt 3}
\psline[linewidth=0.5pt]{<->}(2,3)(-1.3,3.7)
\psline[linewidth=0.5pt](2,1.8)(1.2,1.75)\psline[linewidth=0.5pt](2,0)(1.2,-0.05)
\psline[linewidth=0.5pt]{<->}(1.2,1.75)(1.2,-0.05)
\uput[l](1.2,0.85){2 m}\uput[u](1.35,3.35){5 m}
\end{pspicture}

\end{document}

-----------------

J'obtiens bien un fichier en eps avec dans le préambule une BoundingBox :

---------

%!PS-Adobe-3.0 EPSF-3.0
%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software
%%Title: 17_test_eps_1.dvi
%%CreationDate: Wed May 3 14:48:17 2017
%%Pages: 1
%%PageOrder: Ascend
%%BoundingBox: 144 572 338 683
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: ([..])
%DVIPSCommandLine: dvips -o 17_test_eps_1.ps 17_test_eps_1.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2017.05.03:1646
%%BeginProcSet: tex.pro 0 0
%!

-----------

mais inclusion d'une page complète avec le dessin au lieu de juste la
zone concernée lorsque je mets :

-----------------

\begin{document}

\thispagestyle{empty}

toto

\includegraphics{17_test_eps_1_eps.eps}

tata

\end{document}

 #2  
03/05/2017, 23h36
bernard.alfonsi
Le mercredi 3 mai 2017 17:15:46 UTC+2, gaetan a écrit :
[..]
> \thispagestyle{empty}
> toto
> \includegraphics{17_test_eps_1_eps.eps}
> tata
> \end{document}


Ce code, avec la classe standalone, peut être compilé avec pdflatex (+ --enable-write18):

\documentclass[border=3pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{pst-plot, pst-node, auto-pst-pdf}

\def\f{x*ln(x/2) - x + 2}

\begin{document}

\everypsbox{\footnotesize}
\psset{unit=1cm, plotpoints=100, algebraic, plotstyle=curve, linejoin}
\begin{pspicture}(-1.5,-0.5)(7,5)
%\psgrid
\psplot{2}{5.437}{\f}
\pnodes(-1.3,2.5){A}(2, 1.8){B}(2,0){C}(-1.3,0.7){D}(5.4,2){E}(2.1,2.7){F}
\pspolygon(A)(B)(C)(D)%
\psline(B)(E)(F)(A)
\rput(-3.3,0.7){\psplot{2}{5.437}{\f}}
\psset{arrowsize=2pt 3, linewidth=0.4pt}
\pnodes(-1.3,3.7){A1}(2,3){B1}(1.2, -0.05){C1}(1.2, 1.75){B2}
\psline(B1)(B)(B2)\psline(A)(A1)\psline(C)(C1)
\ncline[arrows = <->]{A1}{B1}\naput{5\,m}
\ncline[arrows = <->]{C1}{B2}\naput{2\,m}
\end{pspicture}

\end{document}
 #3  
08/05/2017, 08h02
Vincent Belaïche
gaetan <gguillon2> writes:

> Bonjour,
> après avoir cherché sans succès (faq, forums ...), je me permets de
> poster ici.


[...]

Au fait, c'est quoi l'apmep ?

Il suffit de mettre dans le fichier servant à faire la conversion
pstricks -> PDF le paquetage preview dans l'en-tête avec les options
suivantes :

\usepackage[active,tightpage]{preview}

Le \inlcudegraphics dans le corps du document permettant de faire la
conversion doit être encapsulé au sein d'un environnement preview.

Vous pouvez faire un makefile utilisant latexmk pour vous assurer que le
doc final est bien à jour par rapport à toutes les dépendances de
fichiers pstrick contenant les figures.

Sinon, une autre solution c'est d'inclure le code pstricks directement
dans le doc final avec un \input, et d'utiliser la chaîne
latex->dvips->ps2pdf au lieu de pdflatex.

Vincent.

 #4  
08/05/2017, 08h22
Olivier Reboux
Le 08/05/2017 à 08:02, Vincent Bela?che a écrit :
> gaetan <gguillon2> writes:
>> Bonjour,
>> après avoir cherché sans succès (faq, forums ...), je me permets de
>> poster ici.

> [...]
> Au fait, c'est quoi l'apmep ?

L'Association des Professeurs de Mathématiques de l'Enseignement Public.
Elle maintient une base de données des sujets de maths (du brevet aux
concours), les sujets sont en LaTeX.

Olivier Reboux
 #5  
09/05/2017, 11h31
Jean-Yves Baudais
Bonjour,

Le 03/05/2017 à 17:15, gaetan a écrit :
> [...] Or, depuis récemment, lors de la compilation ensuite via
> pdfLaTeX, la page entière est incluse et non juste la bounding [...]


Et en précisant la bb dans \includegraphics ?

\includegraphics[bb=200 350 654 870,viewport]{majoliefigure}

Jean-Yves
 #6  
10/05/2017, 06h25
Vincent Belaïche
Jean-Yves Baudais <jean-yves.baudais> writes:

> Bonjour,
> Le 03/05/2017 à 17:15, gaetan a écrit :
>> [...] Or, depuis récemment, lors de la compilation ensuite via
>> pdfLaTeX, la page entière est incluse et non juste la bounding [...]
>> Et en précisant la bb dans \includegraphics ?

> \includegraphics[bb=200 350 654 870,viewport]{majoliefigure}
> Jean-Yves


Le problème c'est qu'avec pstricks il n'aura pas directement la valeur à
donner à la clef bb, c'est pas comme s'il partait d'un majoliefigure.eps
bien détouré directement.

En fait, à la source c'est la conversion de pstricks vers pdf par latex
qui rajoute du blanc autour de la figure, c'est à ce niveau là qu'il
faut agir avec preview comme je le préconisais dans mon message
précédent.

Vincent.
 #7  
10/05/2017, 18h13
gaetan
Bonjour,

J'avoue ne pas encore avoir eu le temps d'approfondir car pris par autre
chose.
Mais, ce que je ne comprends pas, c'est que lors de la conversion ps ->
eps faite avec gsview, j'ai bien une boundingbox définie et qui apparait
dans le préambule (cf mon post d'origine).

Avant il y a quelques mois, l'inclusion que je faisais ensuite avec un
\includegraphics{ } respectait cette boundingbox.
C'est récent (et je n'ai pas l'impression d'avoir changé qq chose se ce
n'est les mises à jour via MikTeX) que cette bounding box ne soit plus
respectée.

Voilà pourquoi je m'interrogeais.

Gaetan

Le 10/05/2017 à 06:25, Vincent Bela?che a écrit :
[..]
 #8  
10/05/2017, 19h50
bernard.alfonsi
Le mercredi 10 mai 2017 18:13:50 UTC+2, gaetan a écrit :
[..]
> Voilà pourquoi je m'interrogeais.
> Gaetan
> Le 10/05/2017 à 06:25, Vincent Bela?che a écrit :


Mais avez-vous essayé de compiler directement avec pdflatex et en utilisant la classe standalone ?

Bernard
 #9  
11/05/2017, 08h38
Vincent Belaïche
gaetan <gguillon2> writes:
[..]
> Avant il y a quelques mois, l'inclusion que je faisais ensuite avec un
> \includegraphics{ } respectait cette boundingbox.
> C'est récent (et je n'ai pas l'impression d'avoir changé qq chose se
> ce n'est les mises à jour via MikTeX) que cette bounding box ne soit
> plus respectée.
> Voilà pourquoi je m'interrogeais.
> Gaetan


Bonjour,

J'ai déplacé le contenu de votre message parce que les réponses doivent
être *après* le message auquel on répond.

Déjà il y a qq chose que je ne comprends pas : pour moi gsview est juste
une visionneuse, ça ne convertit pas de ps en eps autant que je sache
--- mais j'ai sans doute loupé qq chose.

Je pensais qu'on faisait l'eps directement avec l'utilitaire dvips en
nommant le fichier de sortie avec une extension .eps.

Le format EPS est un cas particulier du format PS qui contient au minimum
une boîte englobante dans le commentaire de début.

Vincent.
 #10  
11/05/2017, 11h57
Vincent Belaïche
gaetan <gguillon2> writes:

> Bonjour,
> J'avoue ne pas encore avoir eu le temps d'approfondir car pris par
> autre chose.
> Mais, ce que je ne comprends pas, c'est que lors de la conversion ps
> ->
> eps faite avec gsview, j'ai bien une boundingbox définie et qui
> apparait dans le préambule (cf mon post d'origine).
> Avant il y a quelques mois, l'inclusion que je faisais ensuite avec un
> \includegraphics{ } respectait cette boundingbox.


Mais peut-être bien que le \includegraphics respecte toujours cette
boîte englobante, mais que c'est la conversion pstricks -> eps que vous
faites qui renseigne mal la boîte englobante dans l'en-tête du fichier
..eps.

Avez-vous essayé d'éditer à la main le fichier .eps pour changer les
coordonnées de boîte englobante dans l'en-tête, pour voir si ça change
le résultat final. C'est le commentaire

%%BoundingBox: 11 3 38 48

dans l'en-tête (où les 4 nombres qui suivent dépendent de votre figure).

Vincent.

> C'est récent (et je n'ai pas l'impression d'avoir changé qq chose se
> ce n'est les mises à jour via MikTeX) que cette bounding box ne soit
> plus respectée.
> Voilà pourquoi je m'interrogeais.
> Gaetan


[...]

 #11  
13/05/2017, 11h09
gaetan
> Déjà il y a qq chose que je ne comprends pas : pour moi gsview est juste
> une visionneuse, ça ne convertit pas de ps en eps autant que je sache
> --- mais j'ai sans doute loupé qq chose.


gsview 5.0 inclut une option de conversion ps -> eps (menu fichiers)
avec détermination automatique ou manuelle de la bounding box.

Le 11/05/2017 à 11:57, Vincent Bela?che a écrit :

> Mais peut-être bien que le \includegraphics respecte toujours cette
> boîte englobante, mais que c'est la conversion pstricks -> eps que vous
> faites qui renseigne mal la boîte englobante dans l'en-tête du fichier
> .eps.


Sous gsview, en partant du fichier eps et en demandant la visualisation
de la BoundingBox, l'image est bien découpée au bon endroit.
Si je modifie à la main les valeurs de %%BoundingBox, c'est également
modifié lors de la visualisation sous gsview.

Ce doit donc effectivement être la conversion en pdf qui ne respecte pas
la taille.

J'ai essayé de travailler avec ps2pdf de gs mais mon problème reste le
même (j'utilise d'habitude un petit programme windows eps2pdf qui doit
utiliser directement gs) : lors de l'appel d'un \includegraphics,
j'inclus la page entière

> Le 10/05/2017 à 19:50, bernard.alfonsi a écrit :


> Mais avez-vous essayé de compiler directement avec pdflatex et en utilisant la classe standalone ?


Oui, mais ça ne marche pas : dans le log je trouve des problèmes type
(peut être mon install qui n'est pas complète) :

Package auto-pst-pdf Warning:
Creation of test_pstrick-pics.pdf failed.
This warning occured on input line 124.

Package auto-pst-pdf Warning:
Could not create test_pstrick-pics.pdf. Auxiliary files not deleted.
This warning occured on input line 124.

Gaetan
 #12  
13/05/2017, 15h54
bernard.alfonsi
Le samedi 13 mai 2017 11:09:42 UTC+2, gaetan a écrit :
> Oui, mais ça ne marche pas : dans le log je trouve des problèmes type
> (peut être mon install qui n'est pas complète) :
> Package auto-pst-pdf Warning:
> Creation of test_pstrick-pics.pdf failed.
> This warning occured on input line 124.
> Package auto-pst-pdf Warning:
> Could not create test_pstrick-pics.pdf. Auxiliary files not deleted.
> This warning occured on input line 124.
> Gaetan


Avez-vous pensé à activer --enble-write18? Sinon il y a l'excellent outil de Siep Kroonenberg, epspdf-setup, qui installe une interface graphique autonome pour son epspsdf, et calcule très bien les bounding boxes. Il se trouve sur le CTAN.

Bernard
 #13  
18/05/2017, 21h35
Vincent Belaïche
gaetan <gguillon2> writes:

[..]
> modifié lors de la visualisation sous gsview.
> Ce doit donc effectivement être la conversion en pdf qui ne respecte
> pas la taille.
> J'ai essayé de travailler avec ps2pdf de gs mais mon problème reste le
> même (j'utilise d'habitude un petit programme windows eps2pdf qui doit
> utiliser directement gs) : lors de l'appel d'un \includegraphics,
> j'inclus la page entière


[...]

Dans ce cas je ne peux que vous répeter le conseil qui a déjà été donné
je crois :

\includegraphics[viewport=x0 y0 x1 y1,clip=true]{monimage.pdf}

avec x0 y0 x1 y1 les valeurs des coordonnées la boîte englobantetelles
qu'après le %%BoundingBox

Mais au fait, avez-vous essayé de faire la conversion eps->pdf avec le
paquetage preview + l'option tightpage en compilant tex->dvi->ps->pdf le
code ci-dessus (pas testé) :

--8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
\documentclass{minimal}
\usepackage{tout ce dont le code LaTeX texte dans l'image a besoin...}
\usepackage{pstricks}
\usepackage[active,tightpage]{preview}
\begin{document}
\begin{preview}
\input{monimage.pstricks}
\end{preview}
\end{document}
--8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----

Vincent.
 #14  
18/05/2017, 23h01
Vincent Belaïche
vincent.belaiche (Vincent Belaïche) writes:

[..]
> \begin{document}
> \begin{preview}
> \input{monimage.pstricks}
> \end{preview}
> \end{document}
> --8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
> Vincent.

Je me réponds à moi-même, au temps pour moi : ce n'est pas tightpage
qu'il faut, tightpage n'est utile que si on compile avec pdflatex, et là
ce n'est pas le cas la 1re compilation étant faite avec latex pour
produire un .dvi --- mais bon, ça aurait été sans effet. Parcontre il
faut peut-être l'option dvips.

Petite question : est-ce que l'environnement pstricks du fichier
pstricks de apmep on passe bien en argument la taille de la boîte
englobante...

Vincent.
 #15  
18/05/2017, 23h49
Olivier Reboux
Le 18/05/2017 à 23:01, Vincent Bela?che a écrit :
> vincent.belaiche (Vincent Belaïche) writes:
>[SNIP]
> Petite question : est-ce que l'environnement pstricks du fichier
> pstricks de apmep on passe bien en argument la taille de la boîte
> englobante...
> Vincent.

Je comprends pas bien la question, il n'y a pas d'environnement
pstricks, et je ne crois pas que l'APMEP y soit pour quelque chose.
L'environnement pspicture est celui qui contient les commandes pstricks,
et cet environnement prend comme argument la boite englobante via les
deux couples de coordonnées.

J'espère que cela répond à la question


Discussions similaires
inclusion de fichier

inclusion de fichier .js

Inclusion de fichier

Inclusion d'un fichier flash (.swf)


Fuseau horaire GMT +2. Il est actuellement 16h17. | Privacy Policy