TeXLive 2016:独立版 + pstricks 无法使用

TeXLive 2016:独立版 + pstricks 无法使用

考虑以下 MWE:

\documentclass[pstricks]{standalone}
\begin{document}
\begin{pspicture}(0,0)(5,4)
\psline(0,0)(5,4)
\end{pspicture}
\end{document}

我可以使用 TeXLive 2015 和 TeXLive 2016 成功编译代码。但是,在 2016 年(最新)情况下,通常的 latex -> dvips -> ps2pdf 链的结果是一个空图片。2015 版 latex 工作正常:

2015 年 PDF:

在此处输入图片描述

2016 年 PDF:

在此处输入图片描述

我想提交一个错误报告,有什么建议可以进一步调查什么以及将错误报告放在哪里吗?

我的问题不同于\multido 不做任何事情因为它更侧重于实际问题(包括它是一种非常常见的漏洞(也称为 WE),因此,将来遇到同样问题的用户更有可能发现它。

答案1

preview 使用如下选项 ,您将获得预期的结果。

\documentclass[pstricks,preview]{standalone}
\begin{document}
\begin{pspicture}(0,0)(5,4)
\psline(0,0)(5,4)
\end{pspicture}
\end{document}

在此处输入图片描述

答案2

该问题已为人所知,并已报告给独立错误跟踪器: https://bitbucket.org/martin_scharrer/standalone/issues/25/pagesize-special-clipping

解决方法如下:

\RequirePackage[nosetpagesize]{graphics}
\documentclass[pstricks]{standalone}
\begin{document}
\begin{pspicture}(0,0)(5,4)
\psline(0,0)(5,4)
\end{pspicture}


\begin{pspicture}(0,0)(3,5)
\psline(0,0)(3,5)
\end{pspicture}

\end{document}

或者

\documentclass[pstricks]{standalone}
\makeatletter
\def\sa@papersize{%
    \global\let\sa@papersize\relax
    \global\sa@yoffset=\paperheight
\global \setbox \@begindvibox
    \vbox{%
    \special{papersize=\the\paperwidth,\the\paperheight}%
    \special{ps::%
        \@percentchar\@percentchar HiResBoundingBox: 0 0 \the\paperwidth\space\the\paperheight^^J%
    }%
\unvbox \@begindvibox }%
}
\makeatother
\begin{document}
\begin{pspicture}(0,0)(5,4)
\psline(0,0)(5,4)
\end{pspicture}


\begin{pspicture}(0,0)(3,5)
\psline(0,0)(3,5)
\end{pspicture}

\end{document}

相关内容