首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LaTeX中检测输出设备

在LaTeX中检测输出设备
EN

Stack Overflow用户
提问于 2009-05-03 06:50:50
回答 4查看 451关注 0票数 5

在LaTeX样式/类文件中,有没有一种方法可以检测正在使用的输出设备(或者至少它具有哪些功能)?原因是,我正在编写一个类文件,如果Postscript可用,我想在其中使用一些特定于Postscript的包(例如pstricks),但如果我只是写

代码语言:javascript
复制
\RequirePackage{pstricks}

当然,如果我用pdflatex编译文档,就会发生不好的事情。所以理想情况下,我想找一些我可以使用的东西,比如

代码语言:javascript
复制
\if@postscriptokay\RequirePackage{pstricks}\fi

这似乎是有可能的,因为我知道像pgf这样的软件包可以改变它们的行为,根据输出设备使用适当的图形命令,但我已经在谷歌上搜索了一些,并检查了我的LaTeX书籍,但还没有找到方法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-03 07:19:39

代码语言:javascript
复制
\usepackage{ifpdf}

\ifpdf
  % nothing
\else
  \RequirePackage{pstricks}
\fi
票数 7
EN

Stack Overflow用户

发布于 2009-05-03 07:21:08

您可以像这样检测pdfTeX (这就是ifpdf.sty所做的):

代码语言:javascript
复制
\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和pgf.sty都内置了自己的自动检测机制。它们根据自动检测和软件包选项加载不同的驱动程序文件(如pdftex.defhpdftex.def)。如果您在.tex文件中加载其中的任何一个,请尝试获取它们加载的驱动程序的信息。相关的驱动程序文件包括:

代码语言:javascript
复制
/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

pgf.stygraphicx.sty的驱动程序名称存储在宏\Gin@driver中。您可以在加载这些包之后检查此宏。

票数 6
EN

Stack Overflow用户

发布于 2009-05-03 12:28:38

看一下pstoolauto-pst-pdf包。他们来这里是为了帮助使用pstricks和pdfLaTeX的朋友。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/816482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档