XeTeX pstricks 较大的页面尺寸被裁剪为 A4

XeTeX pstricks 较大的页面尺寸被裁剪为 A4

在 Plain-XeTeX 文档中,如果我将页面大小设置为大于默认页面大小(我的情况是 A4),那么超出 A4 页面大小的所有 pstricks 元素都会被裁剪掉,因此页面上只能看到图像的一部分。我尝试设置前后页面大小\input pstricks,尝试将其放在 pspicture 中,将其放在它外面,将 pspicture 大小设置为 (0, 0)、(10, 10),改用\pspicture*其他方法,但无法摆脱该裁剪区域,也无法在该区域之外进行绘制。我还尝试过使用 pdf 特殊命令,但徒劳无功。

我尝试使用的最终 TeX 文件如下:

%\special{papersize=500mm,500mm}
\special{pdf:pagesize width 500mm height 500mm}
\hsize=500mm\vsize=500mm
\input pstricks

%\pspicture(0,0)
\psline(-500cm,0)(1mm,0)
\psline(0,100cm)(0,-500cm)
%\endpspicture

Somewhere, over the rainbow.

\bye

我已经在最新的系统中尝试过,但都没有用:MiKTeX 2.9(64 位)、MacTeX(我相信 2013 是版本号?)

无论我怎么尝试,都可以看到以下输出。垂直线只从页面中间某个地方开始,而它应该从文本上方开始,水平线根本不可见。 垂直线从页面中间开始,水平线根本看不见。

我该如何解决这个问题?

答案1

XeTeX 将 pstricks 的 PostScript 代码写入临时的 PostScript 文件中,并通过在 条目中配置的命令运行结果DTDS:dvipdfmx/dvipdfmx.cfg例如(TL2013):

D  "rungs -q -dNOPAUSE -dBATCH -dEPSCrop -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile='%o' '%i' -c quit"

因为-dEPSCrop它适用于带边界框的 EPS 图像,但 pstricks 代码没有边界框规范。因此使用 ghostscript 的默认媒体大小(例如字母)。

解决方法:

-sDEFAULTPAPERSIZE=a0可以通过或设置更大(默认)的纸张尺寸 -sPAPERSIZE=a0。可以在 或 的条目中指定该选项dvipdfmx.cfg,并在命令行上使用环境变量,例如:

env GS_OPTIONS=-sDEFAULTPAPERSIZE=a0 xetex test

相关内容