![pscircle 的半径中允许使用 Postscript 表达式吗?](https://linux22.com/image/460171/pscircle%20%E7%9A%84%E5%8D%8A%E5%BE%84%E4%B8%AD%E5%85%81%E8%AE%B8%E4%BD%BF%E7%94%A8%20Postscript%20%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%90%97%EF%BC%9F.png)
我正在使用 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}