使用 pstricks 来成像不需要的位移

使用 pstricks 来成像不需要的位移

以下代码:

\documentclass[letterpaper]{article}
\usepackage{amsmath,amssymb,xcolor}
\usepackage{pst-all}
\usepackage{lipsum}
%\usepackage{pstricks}
\begin{document}
\lipsum[1-2]
\begin{pspicture}
\psset{unit=1.5,linewidth=0.7mm,linecolor=red,fillstyle=solid,fillcolor=yellow}
%,showpoints=true,dotsize=0.2}
\pspolygon(0,1.21)(2,1.21)(0.38,0)(1,2)(1.62,0)
\end{pspicture}
\vskip\baselineskip
The \rnode{A}{dog} has eaten \rnode{B}{his} bone.
\ncbar[angle=-90,nodesep=3pt,arm=.3]{->}{B}{A}
\end{document}

产量:

在此处输入图片描述

为什么图像会移位到页面底部?通常在 TiKZ 中,顺便说一下,我更经常使用它,我只需编写代码,图像就会出现在它应该出现的位置。我该如何纠正这个问题?

答案1

需要提前指定画布大小,画布单位和图形对象单位的设置应确保图形对象位于画布内部。

\documentclass[a6paper]{article}
\usepackage{geometry}
\usepackage{pst-node}
\usepackage{lipsum}

\begin{document}
\lipsum[1-2]
\bgroup
\psset{unit=1.5}
\begin{pspicture}(2,2)
\pspolygon[linewidth=0.7mm,linecolor=red,fillstyle=solid,fillcolor=yellow]
    (0,1.21)(2,1.21)(0.38,0)(1,2)(1.62,0)
\end{pspicture}
\egroup
\vskip\baselineskip
The \rnode{A}{dog} has eaten \rnode{B}{his} bone.
\ncbar[angle=-90,nodesep=3pt,arm=.3]{->}{B}{A}
\end{document}

在此处输入图片描述

答案2

这与垃圾收集器建议。我只想指出,pspicture环境可以采用两个坐标来指定左下角和右上角。另外,我会将\psset{...}环境放在外面。如果您不想让它具有普遍效果,请将其全部放在括号内(请参阅下面的 MWE)。

pstricks有一些不错的功能,例如showgrid=true。此外,通过使用这两个坐标,您可以pstricks根据图像的放置位置覆盖(或下压)其图像。

\documentclass[letterpaper]{article}
\usepackage{amsmath,amssymb,xcolor}
\usepackage{pst-all}
\usepackage{lipsum}
\begin{document}

{\psset{unit=1.5,linewidth=0.7mm,linecolor=red,fillstyle=solid,fillcolor=yellow}
\begin{pspicture}(-3,2)(-3,2)
    \pspolygon(0,1.21)(2,1.21)(0.38,0)(1,2)(1.62,0)
\end{pspicture}}
\lipsum[1-2]

{\psset{unit=1.5,linewidth=0.7mm,linecolor=red,fillstyle=solid,fillcolor=yellow}
\begin{pspicture}[showgrid=true](0,0)(2,2)
    \pspolygon(0,1.21)(2,1.21)(0.38,0)(1,2)(1.62,0)
\end{pspicture}}
\vskip\baselineskip
The \rnode{A}{dog} has eaten \rnode{B}{his} bone.
\ncbar[angle=-90,nodesep=3pt,arm=.3]{->}{B}{A}
\end{document}

在此处输入图片描述

至于其他哪些软件包可能会对你有用,如果不知道你想要实现什么,那就很难说了。我经常用它pst-eucl来绘制各种几何形状(我教几何课)。还有其他更强大的绘制形状的方法,我喜欢的pst-eucl是这些命令更符合你构造的方式。

我最近一直在尝试自学tikz。显然有很多事情tikz可以做,而且比 更方便用户使用pstricks:事实上,有时pstricks可能相当晦涩难懂。例如,可以在 中标记节点连接器,pstricks但在我看来,在 中执行此操作的方法tikz更清晰、更透明。

什么很好的一点pstricks--- 我特别喜欢的 --- 是能够在其中嵌入后脚本命令。

相关内容