使用独立程序在不同页面中获取两个图形时出现的问题

使用独立程序在不同页面中获取两个图形时出现的问题

在以下 MWE 中,我得到包含两张图形的单页:

\documentclass[multi]{standalone}

\standaloneenv{pspicture}
\usepackage[dvipsnames, svgnames, prologue]{xcolor}
\colorlet{BaseColor}{Crimson}
\usepackage{pstricks}

\begin{document}
\begin{pspicture}(0.5,0.5)
\psline[linecolor = BaseColor](0.5,0.5)
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}
\end{document}

另一方面,如果我说:我会将图形分成两页:

\documentclass[pstricks,multi]{standalone}

\standaloneenv{pspicture}
%\usepackage[dvipsnames, svgnames, prologue]{xcolor}
%   \colorlet{BaseColor}{Crimson}
%\usepackage{pstricks}

\begin{document}
\begin{pspicture}(0.5,0.5)
\psline(0.5,0.5)  % linecolor key not used anymore. See below
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}
\end{document}

我对最后一个 MWE 的问题是,如果我将选项传递pstricksstandalone,则会与我需要的包选项发生冲突xcolor

如果我使用该选项,我会遇到同样的问题(单个页面)class = memoir

这些问题如何解决?

\standaloneenv{pspicture}编辑:好吧,我通过在加载包后输入行来解决了拆分成两页的问题 ,但无论是通过还是pstricks在 pdf 文件上我都没有得到任何实际的图形。这是因为我正在使用。dvi -> ps -> pdfdvi -> pdflinecolor

问题class = memoir仍然存在。如果我使用该选项,则不会获得任何内容——尽管页面位于正确的边界框大小,但它们是空的。

这些问题能解决吗?

答案1

\RequirePackage[dvipsnames, svgnames, prologue]{xcolor}
\documentclass[multi,pstricks]{standalone}

\colorlet{BaseColor}{Crimson}

\begin{document}
\begin{pspicture}(0.5,0.5)
\psline[linecolor = BaseColor](0.5,0.5)
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}
\end{document}

在此处输入图片描述

如果你有[pstricks]可选参数,standalone那么包会加载pstricks并加载pstricks其本身xcolor。这就是为什么你以后不能xcolor用其他可选参数加载的原因。

回忆录只有一页:

\documentclass{memoir}
\usepackage[dvipsnames, svgnames, prologue]{pstricks}
\colorlet{BaseColor}{Crimson}
\usepackage{auto-pst-pdf}

\begin{document}
\begin{pspicture}(0.5,0.5)
\psline[linecolor = BaseColor](0.5,0.5)
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}

\end{document}

运行它将pdflatex --shell-escape <file>得到预期的输出。

答案2

需要 257 个字符。

\documentclass[pstricks,dvipsnames,svgnames,prologue]{standalone}
\colorlet{BaseColor}{Crimson}

\begin{document}
\begin{pspicture}(.5,.5)
\psline[linecolor=BaseColor](.5,.5)
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}
\end{document}

在此处输入图片描述

最后一招

以下占用363个字符。

\documentclass[dvipsnames,svgnames,prologue]{memoir}
\usepackage{pstricks}

\colorlet{BaseColor}{Crimson}
\usepackage[tightpage,active]{preview}
\PreviewEnvironment{pspicture}
\PreviewBorder=12pt\relax

\begin{document}
\begin{pspicture}(.5,.5)
\psline[linecolor=BaseColor](.5,.5)
\end{pspicture}
\begin{pspicture}(1,1)
\psline(1,1)
\end{pspicture}
\end{document}

相关内容