原始后记 (!ps) 不会在 \psaxes 的参数中扩展

原始后记 (!ps) 不会在 \psaxes 的参数中扩展

(!ps)语法应该通过执行一些原始的 postscript 代码来扩展为一对坐标。在下面的例子中,它在 的参数中运行良好,\rput但在 的参数中却不行\psaxes;为什么会这样?

\documentclass{article}
\usepackage{pstricks,pst-plot}
\begin{document}
\begin{pspicture}
\rput(! .5 .5 floor){floor level}
% \psaxes(! 0 .5 floor)(! 1 1) % fails with "Runaway argument?"
\psaxes(0,0)(1,1) % no trouble
\end{pspicture}
\end{document}

更一般地说,是否有文档提供有关 (!ps) 语法的详细信息?

答案1

这是默认行为!在 TeX 级别设置的标签需要坐标,因为 PostScript 符号无法使用。您可以创建自己的轴宏:

\documentclass{article}
\usepackage{pst-plot}
\def\psAxes(!#1 #2)(!#3 #4){\psline(!#1 0)(!#3 0)\psline(!0 #2)(!0 #4)}
\begin{document}
    \begin{pspicture}
    \rput(!.5 .5 floor){floor level}
    \psAxes(!0 {.5 floor})(!1 1) % fails with "Runaway argument?"
    \end{pspicture}
\end{document}

相关内容