因为 PSTricks 没有为我们提供虚线和 x 状的填充样式,所以我必须使用pst-fill
包创建自己的自定义填充样式。
但是渲染速度太慢,有时会内存不足。
\documentclass[cmyk]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{pstricks,pst-fill}
\psboxfill{%
\psset{unit=1pt}
\begin{pspicture}(3.6,3.6)
\psdot(1.8,1.8)
\end{pspicture}%
}
\begin{document}
\begin{figure}[hbtp]
\centering
\begin{pspicture}[showgrid=false](-2,-2)(2,2)
\pscircle[
fillstyle=solid,
opacity=0.25,
fillcolor=gray,
fillsep=0.4,
addfillstyle=boxfill]
(0,0){2}
\pscircle[
linecolor=red,
linestyle=dashed,
linewidth=2pt]
(0,0){1}
\end{pspicture}
\caption{The magnetic field $\vec{B}$ is directed perpendicularly out of the page.}
\end{figure}
\end{document}
如何使用自定义填充来加速渲染 PSTricks 对象?
答案1
\psboxfill{%
\psset{unit=1pt}
\begin{pspicture}(3.6,3.6)
\qdisk(1.8,1.8){1.8}
\end{pspicture}%
}
答案2
我知道使用 运行缓慢的原因\psdot
。当我突出显示 PDF 输出时,会出现以下不必要的隐藏对象。这可能是 的一个特性\psdot
。
因此,为了加快速度,请使用\pscircle*
而不是\psdot
如下所示,隐藏的物体就会消失。
\documentclass[cmyk]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{pstricks,pst-fill}
\psboxfill{%
\psset{unit=1pt}
\begin{pspicture}(3.6,3.6)
%\psdot(1.8,1.8)
\pscircle*(1.8,1.8){1.8}
\end{pspicture}%
}
\begin{document}
\begin{figure}[hbtp]
\centering
\begin{pspicture}[showgrid=false](-2,-2)(2,2)
\pscircle[
fillstyle=solid,
opacity=0.25,
fillcolor=gray,
fillsep=0.4,
addfillstyle=boxfill]
(0,0){2}
\pscircle[
linecolor=red,
linestyle=dashed,
linewidth=2pt]
(0,0){1}
\end{pspicture}
\caption{The magnetic field $\vec{B}$ is directed perpendicularly out of the page.}
\end{figure}
\end{document}
使用时的另一个缺点\psdot
是:\psdot
使用T3Font_0
如下
即使您使用,该字体也无法嵌入到 PDF 输出中ps2pdf -dPDFSETTINGS#/prepress input.ps
。