PSTricks と LaTeX と pdfLaTeX

PSTricks と LaTeX と pdfLaTeX

私は論文を に変換しようとしていますpdfLaTeXlatex+ はdvips(非常に長い) URL を分割するときに動作がおかしくなるからです... Linux では最新の TeXLive 2012 を使用しています。

唯一の問題は (今のところ)、関連パッケージを頻繁に使用しており、異なる環境間でやりとりするときに (私の写真を参照)pstricksうまく動作させることができないことです(また、テキストを下の写真に直接関連付けるために時々使用しています)。pdfLaTeXpspicture


latex+ dvips+ ps2pdf(グース)

ラテックス


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、改ページ以外の任意のものを含めることができます。環境は常に、画像ごとに 1 ページとして に保存されるグラフィックとして処理されます<file>-pics.pdf(複数の環境がある場合)。

答え2

方法 1 (どうしても pdflatex を使いたい場合)

pdflatex を使用して PSTricks コードをコンパイルする場合、ノードはバックグラウンドで生成される補助 PDF ファイルと同じ物理ページに存在する必要があります。

元のコードでは、最初の図と 2 番目の図が異なる物理ページに分割されます。つまり、最初の図はページにありx、もう 1 つの図はページにあり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。完了です。

関連情報