pscircle 的半径中允许使用 Postscript 表达式吗?

pscircle 的半径中允许使用 Postscript 表达式吗?

我正在使用 PSTricks,并尝试绘制一个圆,其半径以 Postscript 表达式计算。这是一个简化的最小示例:

\documentclass{article}
\usepackage{pst-plot, auto-pst-pdf}
\begin{document}
\begin{pspicture}
\def\side{2}
\def\radius{\side\space .5 sub}
\pscircle(! 2 1){\radius}
\pscircle(! 2 1){1.5}
\end{pspicture}
\end{document}

虽然半径为 1.5 的“pscircle”可以正确绘制,但预定义半径“\radius”(应该等于 2 - .5)的“pscircle”会生成一个小圆圈和字符串“.5 sub”。

我做错了什么?括号中的半径的解析方式是否与其他图形参数不同,因此它不接受我的 Postscript 表达式?

答案1

您已经在圆心坐标中使用了 Postscript 代码,以!开头的 a 表示。半径也需要这样做:

\pscircle(! 2 1){!\radius}

此外,pkgauto-pst-pdf不再需要,因为可以直接用 排版为 PDF lualatex,这要感谢 Marcel Krueger 的Postscript 解释器用 Lua 编写:

\documentclass{article}
\usepackage{pst-plot}
\begin{document}
\begin{pspicture}
\def\side{2}
\def\radius{\side\space .5 sub}
\pscircle(! 2 1){!\radius}
\pscircle(! 2 1){1.5}
\end{pspicture}
\end{document}

相关内容