如何使用自定义填充加速渲染 PSTricks 对象

如何使用自定义填充加速渲染 PSTricks 对象

因为 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

相关内容