PSTricks 및 LaTeX 대 pdfLaTeX

PSTricks 및 LaTeX 대 pdfLaTeX

(정말 긴) URL을 깨뜨릴 때 + 가 보기 흉하게 동작하기 pdfLaTeX때문에 내 논문을 로 변환하려고 합니다. 저는 Linux에서 최신 TeXLive 2012를 사용하고 있습니다.latexdvips

유일한 문제는 (지금까지) 관련 패키지를 많이 사용했기 때문에 서로 다른 환경 간에 상호 작용할 때 pstricks제대로 작동하도록 할 수 없다는 것입니다 pdfLaTeX(내 그림 참조). pspicture아래 사진):


latex+ dvips+ ps2pdf(gs)

유액


pdflatex(화살표가 빠졌네요)

pdf라텍스


위 예의 코드는 다음과 같습니다.

\documentclass[12pt]{scrbook}   
\PassOptionsToPackage{pdf}{pstricks} %used for pdflatex
\usepackage{pstricks,pst-plot,pst-node,pst-func}

\begin{document}

\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){First Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.3 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){A}
\end{pspicture}
\vspace{5mm}
\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){Second Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.6 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){B}
    \nccurve{->}{A}{B}
\end{pspicture}

\end{document}

답변1

단락과 같은 여러 pspicture환경은 환경에 의해 캡슐화될 수 있습니다 postscript.

\documentclass[12pt]{scrbook}   
\PassOptionsToPackage{pdf}{pstricks} %used for pdflatex
\usepackage{pstricks,pst-plot,pst-node,pst-func}

\begin{document}

\begin{postscript}%%%%%%%%%%%%%%
\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){First Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.3 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){A}
\end{pspicture}

\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){Second Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.6 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){B}
    \nccurve{->}{A}{B}
\end{pspicture}
\end{postscript}%%%%%%%%%%%%%%

\end{document}

단일 이미지로 처리됩니다. 내 pdflatex결과:

여기에 이미지 설명을 입력하세요

환경 내부에는 postscript페이지 나누기를 제외한 모든 것이 포함될 수 있습니다. 이는 항상 이미지당 한 페이지씩 저장되는 그래픽으로 처리됩니다 <file>-pics.pdf(더 많은 환경이 있는 경우).

답변2

방법 1(pdflatex 사용을 고집하는 경우)

PSTricks 코드를 컴파일하기 위해 pdflatex를 사용할 때 노드는 뒤에서 생성된 보조 PDF 파일의 동일한 물리적 페이지에 있어야 합니다.

원본 코드는 첫 번째 그림과 두 번째 그림을 서로 다른 실제 페이지로 분리합니다. 즉, 첫 번째는 페이지에 있고 x다른 하나는 페이지에 y있습니다 x=/=y.

동일한 물리적 페이지에 만들기 위해 두 가지를 다른 pspicture컨테이너에 넣을 수 있습니다. 자세한 내용은 아래 내 코드를 참조하세요.

\documentclass[12pt]{scrbook}   
\PassOptionsToPackage{pdf}{pstricks} %used for pdflatex
\usepackage{pstricks,pst-plot,pst-node,pst-func}

\begin{document}

\begin{pspicture}(-1.5,-4.25)(1.5,4.25)
\rput[b](0,0.25){%
\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){First Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.3 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){A}
\end{pspicture}}
%
\rput[t](0,-0.25){%
\begin{pspicture}(-1.5,0)(1.5,4)
    \psTextFrame[ref=c,linestyle=none](-1.5,3)(1.5,4){Second Plot}
    \psplot[fillcolor=blue!30,fillstyle=solid,opacity=0.5]{-1.5}{1.5}{x 0 0.6 GAUSS}
    \psaxes[labels=none,ticks=none]{->}(-1.5,0)(1.5,3)
    \pnode(1.5,0.5){B}
    \nccurve{->}{A}{B}
\end{pspicture}}
\end{pspicture}
\end{document}

방법 2(xelatex를 사용하고 싶은 경우)

원본 코드를 수정하지 않고 xelatex. 완료!

관련 정보