![pstricks rput 无法准确放置物品](https://linux22.com/image/295505/pstricks%20rput%20%E6%97%A0%E6%B3%95%E5%87%86%E7%A1%AE%E6%94%BE%E7%BD%AE%E7%89%A9%E5%93%81.png)
描述
我想用它pstricks
把一些东西放在一个大的(几乎A0)pspicture
。我用命令把任何东西放在图片里\rput
,放置不准确。为什么?我把它放在离网格原点越远的地方,它得到的偏移就越大。这是一个最小的工作示例。
最小工作示例
\documentclass[pstricks,border=2cm]{standalone}
\begin{document}
% Draw a large picture (81x81 cm)
\begin{pspicture}(81,81)
% This "X" in the grid origin (0,0) is placed precisely (no error here)
\rput{0}(0,0){X}
% An "X" put to (80,80), however, is placed with a significant offset (ERROR)
\rput{0}(80,80){X}
% Drawing a line that far away, on the other hand, works precisely again (no error)
\psline(79,79)(80,80)
% commands which draw the grid and label it on all 4 sides
\psset{origin={0,0}}
\psgrid[gridcolor=red, subgriddiv=1, griddots=10, gridlabels=12pt](81,81)(0,0)
\psgrid[gridcolor=red, subgriddiv=0, griddots=10, gridlabels=12pt]
\end{pspicture}
\end{document}
我的配置
我正在使用 MiKTeX-XeTeX 2.9.4987 (0.9999.3) (MiKTeX 2.9 64 位),Windows 7。XeTeX 版本为 3.1415926-2.5-0.9999.3 (MiKTeX 2.9 64 位)
为了排版这么大的图片xelatex
,我不得不使用解决方法海科·奥伯迪克建议作为解决方案这个问题。归根结底就是用 替换-dEPSCrop
中-sPAPERSIZE=a0
的参数dvipdfmx.cfg
。
错误呈现
- X 被指定放置在
\rput
(80,80) 处,但是它位于网格之外约 3 毫米。 - 错误不会发生,因为
\psline
它精确地绘制在我指定的位置:
我尝试了\rput(x,y){stuff}
逐渐改变x
和y
的位置。X 的位置离网格原点越远,误差就会线性增大。在 Acrobat Reader(用于查看生成的 PDF)中启用标尺证明网格和线的位置准确。但是 X 的位置不准确。
预期结果
在网格的原点,一切看起来都很好(X 位置精确):
我希望 X 的位置像这样(80, 80)
答案1
使用
\rput(! \pstnodescale\space 80 80){X}% scales down from pt to bp
并且它将是正确的。这是配置文件的问题xdvipdfmx
。需要进一步调查。使用dvips
驱动程序就可以了。您还可以更新 TeX 发行版,然后默认完成。
如果你没有最新的 PSTricks,那么也写入序言中\SpecialCoor