Changement de compilation

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.

Changement de compilation

Messagepar denis_dub » Mardi 09 Juillet 2019, 18:07

Bonjour,

Depuis quelques années je compile mes supports de cours en utilisant la suite Latex + dvips + ps2pdf + Voir Pdf
Et cela fonctionne bien dans un doc master avec des inclusion de plein de fichier *.tex par chapitre.

J'ai des graphiques en pstrick et des fichiers graphiques inclus au format unique eps.

Tout va bien....

Mais je ne peux pas utiliser le package "pdfpages" (je n'obtiens que des pages blanches) à cause de dvips semble t'il.
Ainsi pour contourner le pb, je fais une capture de mon pdf , le sauve en png et le convertit en *.eps. La compilation est correcte.

Mais mais le défaut prinicpal est que si mon pdf est principalement du texte, alors le fichier au format *.eps atteint une taille de plusieurs Mo et la compilation est longue.

Pour ne plus avoir cet inconvénient j'ai pensé à compiler avec pdflatex.

J'adapte donc mes fichiers *.tex en insérant les graphiques en pstrick en autre chose etc .... Cela j'y arriverai avec un peu de temps. L'idée est d'avoir la commande includegraphic utilisable pour les jpg, png etc ... De même pour enfin inclure directement tout ou partie d'un pdf.

Etant donné que les modifs vont prendre un peu de temps sur mes séquences de cours, ma question pour les utilisateurs expérimentés est donc : Voyez vous un avantage majeur à rester avec la compilation "Latex + dvips + ps2pdf + Voir Pdf" par rapport à une compilation avec pdflatex ? Quel serait les point durs ?

Merci de votre retour d'expérience.

Cordialement.
Denis.
denis_dub
Utilisateur
 
Messages: 6
Inscription: Mardi 30 Août 2016, 12:31
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Changement de compilation.

Messagepar evariste_G » Mercredi 10 Juillet 2019, 09:32

Bonjour.

Il y a un moyen plus simple : compiler via pdflatex en acceptant les codes Pstricks, comme le montre cet exemple:

Code: Tout sélectionner
\documentclass[a4paper]{article}
\usepackage[miktex]{pdftricks2}
\usepackage{pdfpages}
\begin{document}
\begin{pspicture}(0,0)(10,10)
\psline(0,0)(10,10)
\end{pspicture}

\includepdf{document.pdf}
\end{document}


Ici, l'appel du package pdftricks2, avec l'option miktex si vous utilisez Miktex bien sûr, permet de compiler du code pstricks, même en compilant via pdflatex.
Mathématiques, LaTeX et Python : http://www.mathweb.fr
Cours particuliers de maths et de NSI : https://cours-particuliers-bordeaux.fr/
evariste_G
Téra-utilisateur
 
Messages: 1433
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Actif et salarié | Enseignant

Re: Changement de compilation.

Messagepar rebouxo » Mercredi 10 Juillet 2019, 11:32

Je suis passé il y a 4 ou 5 ans sous pdflatex, et je ne le regrette pas.
À part la solution proposé par evariste, on peut aussi utilisé l'extension auto-pst-pdf, qui permet d'inclure le code pstricks et les eps directement dans ton pdf (en faite c'est une compilation à la volée, qui transforme tous ces graphiques en pdf, puis les inclus. En général cela se passe bien).

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

Re: Changement de compilation

Messagepar denis_dub » Jeudi 11 Juillet 2019, 18:27

Bonjour,

A l'aide de vos réponses, j'ai fait ma petite cuisine :

Dans Texmaker (je n'avais pas précisé) j'ai rajouté l'option -shell-escape , après une autre recherche sur le forum, dans le menu configurer Texmaker Onglet Commandes :
Code: Tout sélectionner
pdflatex -shell-escape -synctex=1 -interaction=nonstopmode %.tex



Après avoir lu la doc CTAN de auto-pst-pdf j'ai ajouté dans mon entête :

Code: Tout sélectionner
\usepackage[on]{auto-pst-pdf}


Cela permet de faire compiler les pspicture simple ou celle exportées de géogébra.

Ensuite en testant un ECM avec pdflatex avec juste ceci :
Code: Tout sélectionner
\includegraphics[scale=0.1]{haddock}


J'ai pu voir que le fichier haddock.eps est convertit en pdf intermédiaire puis bien présent dans le document final.




Deuxième point l'ajout de
\usepackage{pdfpages}
Code: Tout sélectionner
\includepdf{document.pdf}

Fonctionne comme attendu avec pdflatex, mais laisse comme déja vu une page blanche avec Latex + dvips + ps2pdf

Merci beaucoup pour vos réponses.
Denis.

Ci après mon fichier d'essai si je n'ai pas été clair.

Code: Tout sélectionner
\documentclass[a4paper,11pt,onecolumn]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}

% definition des polices
\usepackage[widespace]{fourier}
\usepackage[scaled=0.875]{helvet}
% fin def police


\usepackage{amsfonts,amsmath,amssymb}


\usepackage[a4paper, dvips, left=1.5cm, right=1.5cm, top=2cm,
bottom=2cm, marginpar=5mm, marginparsep=5pt]{geometry}

\usepackage{graphicx}

\usepackage{pdfpages}

\usepackage{pst-node}
\usepackage{pst-all,pst-eucl}  % besoin pour tracer des axes gradués.


\usepackage[on]{auto-pst-pdf}

\begin{document}

\begin{minipage}{4cm}
   \includegraphics[scale=0.1]{haddock}
\end{minipage}
\begin{minipage}{14cm}
\vspace{1\baselineskip}
Dans la bande dessinée de Tintin, le capitaine Haddock utilise souvent des expressions qui se ressemblent lorsqu'il est en colère. \par
\textbf{{\large Recopier sur votre copie}} et traduire chacune de ses phrases à l'aide d'une puissance de 10.

\end{minipage}  \par


\begin{pspicture}(0,0)(10,10)
\psline(0,0)(10,10)
\end{pspicture}

% code importé depuis géogébra
\newrgbcolor{xdxdff}{0.49019607843137253 0.49019607843137253 1.}
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=10pt 0,linewidth=1.6pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-0.25898,-0.6625815112418076)(5.616708958595974,0.7102450954730558)
\multips(0,0)(0,1.0){2}{\psline[linestyle=dashed,linecap=1,dash=1.5pt 1.5pt,linewidth=0.4pt,linecolor=lightgray]{c-c}(-0.25898,0)(5.616708958595974,0)}
\multips(0,0)(1.0,0){6}{\psline[linestyle=dashed,linecap=1,dash=1.5pt 1.5pt,linewidth=0.4pt,linecolor=lightgray]{c-c}(0,-0.6625815112418076)(0,0.7102450954730558)}
\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=false,Dx=1.,Dy=1.,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.25898,-0.6625815112418076)(5.616708958595974,0.7102450954730558)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=xdxdff](1.,0.)
\rput[bl](1.0479489459306937,0.16){\xdxdff{{\large A}}}
\psdots[dotstyle=x,linecolor=xdxdff](3.,0.)
\rput[bl](3.046781451471754,0.16){\xdxdff{{\large B}}}
\psdots[dotstyle=x,linecolor=xdxdff](4.,0.)
\rput[bl](4.046197704242284,0.16){\xdxdff{{\large C}}}
\psdots[dotstyle=+,linecolor=xdxdff](0.,0.)
\end{scriptsize}
\end{pspicture*}


\includepdf{document.pdf}

\end{document}
denis_dub
Utilisateur
 
Messages: 6
Inscription: Mardi 30 Août 2016, 12:31
Statut actuel: Actif et salarié | Enseignant

Re: Changement de compilation

Messagepar balf » Jeudi 11 Juillet 2019, 19:42

À mon avis, il y a encore plus simple: compiler avec xelatex.

Une autre possibilité, si l'on tient à compiler avec .pdflatex, est de convertir les fichiers .eps existants en fichiers graphiques .pdf avec l'excellent epspdf, qui calcule des bounding box tout à fait ajustées. Quant au code pstricks lui-même, le compiler en tant que fichier individuel avec la classe standalone avec xelatex, puis incorporer le .pdf résultant au moyen d'un \includegraphics. Cela permet de continuer à compiler le document principal avec pdflatex tout en obtenant in fine un .pdf dans lequel on peut zoomer à loisir, contrairement à une image .png
B. A.
balf
Zetta-utilisateur
 
Messages: 3856
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Changement de compilation

Messagepar MB » Vendredi 12 Juillet 2019, 09:52

balf a écrit:À mon avis, il y a encore plus simple: compiler avec xelatex.


J'utilise personnellement lualatex pour la compilation de mes documents personnels mais il m'arrive de récupérer des figures pstricks que je souhaite incorporer directement. La compilation avec lualatex n'étant possible, j'ai tenté d'utiliser xelatex et standalone afin d'obtenir des fichiers pdf indépendants pour chaque figure. J'ai cependant constaté que la compilation xelatex ne donnait pas le résultat attendu et je me suis résolu à passer par latex puis dvipdf. Voici un exemple de fichier.

Code: Tout sélectionner
\documentclass[pstricks,preview,margin=1mm]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}(-0.4,-0.4)(7.4,4.4)
\psset{dotstyle=*,dotscale=1.2,linewidth=1pt}
\begin{footnotesize}
\rput(0,1.5){\dotnode{A}{\uput[l](0,0){A}}}
\rput(2,4){\dotnode{B}{\uput[u](0,0){B}}}
\rput(2,0){\dotnode{C}{\uput[d](0,0){C}}}
\rput(4,2.5){\dotnode{D}{\uput[u](0,0){D}}}
\rput(5.5,0){\dotnode{E}{\uput[d](0,0){E}}}
\rput(6,3.5){\dotnode{F}{\uput[u](0,0){F}}}
\rput(7,2){\dotnode{G}{\uput[r](0,0){G}}}
\end{footnotesize}
\begin{scriptsize}
\ncline{A}{C}\ncput*{\textsf{12}} \ncline{C}{E}\ncput*{\textsf{19}}\ncline{E}{F} \ncput*{\textsf{11}}\ncline{F}{G}\ncput*{\textsf{5}}\ncline{G}{E}\ncput*{\textsf{7}} \ncline{E}{D}\ncput*{\textsf{4}}\ncline{D}{F}\ncput*{\textsf{3}} \ncline{F}{B}\ncput*{\textsf{22}} \ncline{B}{D}\ncput*{\textsf{7}} \ncline{D}{C}\ncput*{\textsf{5}}\ncline{C}{B}\ncput*{\textsf{18}} \ncline{B}{A}\ncput*{\textsf{11}}
\end{scriptsize}
\end{pspicture}
\end{document}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6891
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Changement de compilation

Messagepar balf » Dimanche 14 Juillet 2019, 10:59

MB a écrit:J'ai cependant constaté que la compilation xelatex ne donnait pas le résultat attendu et je me suis résolu à passer par latex puis dvipdf. Voici un exemple de fichier.

Code: Tout sélectionner
\documentclass[pstricks,preview,margin=1mm]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}(-0.4,-0.4)(7.4,4.4)
\psset{dotstyle=*,dotscale=1.2,linewidth=1pt}
\begin{footnotesize}
\rput(0,1.5){\dotnode{A}{\uput[l](0,0){A}}}
\rput(2,4){\dotnode{B}{\uput[u](0,0){B}}}
\rput(2,0){\dotnode{C}{\uput[d](0,0){C}}}
\rput(4,2.5){\dotnode{D}{\uput[u](0,0){D}}}
\rput(5.5,0){\dotnode{E}{\uput[d](0,0){E}}}
\rput(6,3.5){\dotnode{F}{\uput[u](0,0){F}}}
\rput(7,2){\dotnode{G}{\uput[r](0,0){G}}}
\end{footnotesize}
\begin{scriptsize}
\ncline{A}{C}\ncput*{\textsf{12}} \ncline{C}{E}\ncput*{\textsf{19}}\ncline{E}{F} \ncput*{\textsf{11}}\ncline{F}{G}\ncput*{\textsf{5}}\ncline{G}{E}\ncput*{\textsf{7}} \ncline{E}{D}\ncput*{\textsf{4}}\ncline{D}{F}\ncput*{\textsf{3}} \ncline{F}{B}\ncput*{\textsf{22}} \ncline{B}{D}\ncput*{\textsf{7}} \ncline{D}{C}\ncput*{\textsf{5}}\ncline{C}{B}\ncput*{\textsf{18}} \ncline{B}{A}\ncput*{\textsf{11}}
\end{scriptsize}
\end{pspicture}
\end{document}


Le résultat est en effet bizarre. Tout de même, la construction de chaque \rput est peu orthodoxe: on fourre en chaque point (indiqué par ses coordonnées) des \uput(0,0). En compilant avec latex+dvipdf, je n'obtiens que les lettres groupées autour de l'origine. Avec xelatex, au moins, il y a des lignes, même si le résultat est étrange.

B. A.
balf
Zetta-utilisateur
 
Messages: 3856
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Changement de compilation

Messagepar MB » Lundi 15 Juillet 2019, 10:28

C'est étrange car c'est avec xelatex (version Tex live 2018) que j'obtiens des lettres regroupées autour de l'origine. Avec la version Texlive 2019 j'obtiens une figure correcte mais le pdf généré est plus lourd. En ce qui concerne latex+dvipdf, j'obtiens les même résultat (correct) avec les versions Texlive 2018 et 2019. Je joints les fichiers pdf obtenus et je précise les versions des logiciels utilisés.

Code: Tout sélectionner
$ latex --version
pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019)
$ xelatex --version
XeTeX 3.14159265-2.6-0.999991 (TeX Live 2019)


Code: Tout sélectionner
$ /usr/local/texlive/2018/bin/x86_64-linux/latex --version
pdfTeX 3.14159265-2.6-1.40.19 (TeX Live 2018)
$ /usr/local/texlive/2018/bin/x86_64-linux/xelatex --version
XeTeX 3.14159265-2.6-0.99999 (TeX Live 2018)
Fichiers joints
figure_xelatex_tl2019.pdf
(15.72 Kio) Téléchargé 24 fois
figure_xelatex_tl2018.pdf
(4.86 Kio) Téléchargé 21 fois
figure_latex_tl2019.pdf
(7.02 Kio) Téléchargé 21 fois
figure_latex_tl2018.pdf
(7.02 Kio) Téléchargé 22 fois
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6891
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Changement de compilation

Messagepar balf » Dimanche 21 Juillet 2019, 14:20

Finalement, je pense avoir localisé ce qui pose problème à xelatex : l'emploi de coordonnées relatives pour placer les labels de nœuds, comme
\rput(0,1.5){\dotnode{A}\uput[l](0,0){A}}.

Il faut indiquer la véritable coordonnée, p. ex.
\rput(0,1.5){\dotnode{A}\uput[l](A){A}}.

Cela étant, le code est bien plus court si l'on utilise l'extension pst-eucl et si l'on met les commandes de polices à l'intérieur d'une command \everypsbox{....}:

Code: Tout sélectionner
  \documentclass[pstricks, preview, margin=1mm]{standalone
    \usepackage{pst-node}
    \usepackage{pst-eucl}

    \begin{document}

    \begin{pspicture}(-0.4,-0.4)(7.4,4.4)
    \psset{dotstyle=*,dotscale=1.2,linewidth=1pt}
    \everypsbox{\footnotesize}
   \pstGeonode[PosAngle={180,90,-90,90,-90,90,0}]%
   (0,1.5){A}(2,4){B}(2,0){C}(4,2.5){D}(5.5,0){E}(6,3.5){F}(7,2){G}

     \everypsbox{\scriptsize\sffamily}
    \ncline{A}{C}\ncput*{12} \ncline{C}{E}\ncput*{19}\ncline{E}{F} \ncput*{11}\ncline{F}{G}\ncput*{5}\ncline{G}{E}\ncput*{7} \ncline{E}{D}\ncput*{4}\ncline{D}{F}\ncput*{3} \ncline{F}{B}\ncput*{22} \ncline{B}{D}\ncput*{7} \ncline{D}{C}\ncput*{5}\ncline{C}{B}\ncput*{18} \ncline{B}{A}\ncput*{11}
    \end{pspicture}

    \end{document}

B. A.
Fichiers joints
varpstricks-xelatex.pdf
(15.63 Kio) Téléchargé 22 fois
balf
Zetta-utilisateur
 
Messages: 3856
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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