문제

라텍스 스타일/클래스 파일에 사용되는 출력 장치 (또는 적어도 어떤 기능이 있는지)를 감지하는 방법이 있습니까? 그 이유는 게시물 스크립트 별 패키지를 사용하고 싶은 클래스 파일을 작성하고 있기 때문입니다 (예 : pstricks) PostScript를 사용할 수 있지만 글을 쓰는 경우

\RequirePackage{pstricks}

그런 다음 물론 문서를 컴파일하는 경우 나쁜 일이 발생합니다. pdflatex. 그래서 이상적으로는 내가 사용할 수있는 것을 찾고 있습니다.

\if@postscriptokay\RequirePackage{pstricks}\fi

내가 같은 패키지를 알고 있기 때문에 이것이 가능 해야하는 것 같습니다. pgf 출력 장치를 기반으로 적절한 그래픽 명령을 사용하도록 동작을 변경할 수 있지만 Google 검색을 수행하고 라텍스 책을 확인했지만 방법을 찾지 못했습니다.

도움이 되었습니까?

해결책

\usepackage{ifpdf}

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

다른 팁

당신은 이와 같은 pdftex를 감지 할 수 있습니다 (이것은 무엇입니다. 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 및 pgf.sty는 자체 자동 조정 메커니즘이 내장되어 있습니다. 다른 드라이버 파일을로드합니다 ( pdftex.def 그리고 hpdftex.def) 자동 측정 및 패키지 옵션을 기반으로합니다. .tex 파일 에이 중 하나를로드하면로드 한 드라이버를 얻으십시오. 관련 드라이버 파일은 다음과 같습니다.

/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.sty 그리고 graphicx.sty 매크로에 저장됩니다 \Gin@driver. 이 패키지를로드 한 후이 매크로를 검사 할 수 있습니다.

패키지를 살펴보십시오 pstool 그리고 자동 PST-PDF. 그들은 사용하기 위해 여기에 있습니다 pstricks 그리고 pdflatex와 친구.

당신이 사용하는 경우 코마 스크립트 패키지 (물론 다른 스타일을 사용하지 않으면 실제로 권장 할 수 있습니다)는 이미 매크로가 있습니다. \ifpdfoutput{pdf output}{dvi output} 해당 패키지에 정의되어 있습니다. 그렇지 않은 경우 사용하십시오 ifpdf 이미 언급 된 패키지.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top