Pregunta

¿Hay alguna forma, en un archivo de estilo / clase de LaTeX, para detectar qué dispositivo de salida se está utilizando (o al menos qué capacidades tiene)? La razón es que estoy escribiendo un archivo de clase en el que quiero usar algunos paquetes específicos de Postscript (por ejemplo, pstricks ) si Postscript está disponible, pero si solo escribo

\RequirePackage{pstricks}

luego, por supuesto, suceden cosas malas si estoy compilando el documento con pdflatex . Así que idealmente estoy buscando algo que pueda usar como

\if@postscriptokay\RequirePackage{pstricks}\fi

Parece que esto debe ser posible porque sé que paquetes como pgf pueden cambiar su comportamiento para usar comandos gráficos apropiados basados ??en el dispositivo de salida, pero he hecho algunas búsquedas en Google y he verificado mi Libro de LaTeX y no he encontrado la manera.

¿Fue útil?

Solución

\usepackage{ifpdf}

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

Otros consejos

Puede detectar pdfTeX de esta manera (esto es lo que hace 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 y pgf.sty tienen sus propios mecanismos de autodetección integrados. Cargan un archivo de controlador diferente (como pdftex.def y hpdftex.def ) basado en la autodetección y la opción de paquete. Si carga alguno de estos en su archivo .tex, intente obtener la información sobre qué controlador cargaron. Los archivos de controladores relevantes son:

/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

El nombre del controlador para pgf.sty y graphicx.sty se almacena en la macro \ Gin @ driver . Puede inspeccionar esta macro después de cargar cualquiera de estos paquetes.

Eche un vistazo a los paquetes pstool y auto-pst-pdf . Están aquí para ayudar a usar pstricks y amigos con pdfLaTeX.

scroll top