Question

Existe-t-il un moyen, dans un fichier de style / classe LaTeX, de détecter le périphérique de sortie utilisé (ou au moins ses fonctionnalités)? La raison en est que j’écris un fichier de classe dans lequel je veux utiliser certains packages spécifiques à Postscript (par exemple, pstricks ) si Postscript est disponible, mais si je viens d’écrire

\RequirePackage{pstricks}

alors bien sûr, de mauvaises choses arrivent si je compile le document avec pdflatex . Donc, idéalement, je cherche quelque chose que je puisse utiliser comme

\if@postscriptokay\RequirePackage{pstricks}\fi

Il semble que cela doit être possible car je sais que des paquets tels que pgf peuvent changer leur comportement pour utiliser les commandes graphiques appropriées en fonction du périphérique de sortie, mais j'ai effectué quelques recherches sur Google et vérifié mes fichiers. Livre LaTeX et n’a pas trouvé de solution.

Était-ce utile?

La solution

\usepackage{ifpdf}

\ifpdf
  % nothing
\else
  \RequirePackage{pstricks}
\fi

Autres conseils

Vous pouvez détecter pdfTeX comme ceci (c'est ce que fait ifpdf.sty ):

\makeatletter
\ifx\pdfoutput\@undefined
  no pdfTeX
\else\ifnum\pdfoutput<1
  pdfTeX is outputting a .dvi file
\else
  pdfTeX is outputting a .pdf file
\fi\fi

graphicx.sty, hyperref.sty et pgf.sty ont leurs propres mécanismes de détection automatique. Ils chargent un fichier de pilote différent (comme pdftex.def et hpdftex.def ) en fonction de la détection automatique et de l'option de package. Si vous chargez l’un d’entre eux dans votre fichier .tex, essayez d’obtenir les informations concernant le pilote qu’ils ont chargé. Les fichiers de pilote pertinents sont:

/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-*.def
/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def
/usr/share/texmf-texlive/tex/latex/graphics/*.def
  /usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def

Le nom du pilote pour pgf.sty et graphicx.sty est stocké dans la macro \ Gin @ driver . Vous pouvez inspecter cette macro après avoir chargé l’un de ces packages.

Consultez les packages pstool et auto-pst-pdf . Ils sont ici pour vous aider à utiliser pstricks et vos amis avec pdfLaTeX.

scroll top