我正在尝试将我的论文转换为pdfLaTeX
,因为latex
+dvips
在中断(非常长的)URL 时表现很糟糕...我在 Linux 上使用最新的 TeXLive 2012。
唯一的问题是(到目前为止),我大量使用了pstricks
相关软件包,但无法让它们pdfLaTeX
在不同环境之间交互时正常工作(见我的图片)pspicture
(有时也使用它来将文本与下面的图片直接关联):
latex
++ ( dvips
GS ps2pdf
)
pdflatex
(箭头缺失)
上面示例的代码:
\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)
当我们使用pdflatex编译PSTricks代码时,节点必须位于后台生成的辅助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
。完成!