如何调整 \cnodeput 和 \circlenode 的半径?

如何调整 \cnodeput 和 \circlenode 的半径?

我正在尝试更改全局默认值或自定义以下代码中绘制的节点的单独大小,但是无论我做什么,似乎每个节点只能有两个输入,要么是“{name} 和 {stuff}”,要么是“{radius} 和 {name}”

有人能帮忙吗?提前谢谢

下面是一个例子

\begin{pspicture}(5.5,6)
\psset{arrowscale=1.5}
\psset{radius=5cm}
%\cnodeput(1,5){N11}{1}
\rput(1,5){\circlenode{5cm}{N11}{1}}
\cnodeput(1,1){N12}{4}
\cnodeput(5,5){N21}{2}
\cnodeput(5,1){N22}{3}
\ncline{-}{N21}{N12}
\end{pspicture}

答案1

\cnodeput简短回答:和的半径\circlenode无法手动调整。有关更多详细信息,请阅读以下内容。

细节

更准确地说,PSTricks 中有两种类型的圆形节点:

  • 空(圆形)节点,只画一个圆圈,没有内容,以及
  • 容器(圆形)节点,包含被圆圈包围的东西。

前一种类型的节点为\cnode\Cnode,后一种类型的节点为\circlenode\Circlenode。名称以小写字母(\cnode\circlenode)开头的宏将具有自动调整的半径圆。名称以大写字母(\Cnode\Circlenode)开头的宏将具有手动指定的半径圆(但肯定有默认值)仅有的通过radius选项。

我们还有:

  • \cnodeput(我认为应该这样命名)是与 结合\circlenodeput的合成糖,并且\rput\circlenode
  • \Cnodeput(应该这样命名)是与 结合\Circlenodeput的合成糖。\rput\Circlenode

恕我直言,采用的命名约定确实很糟糕,因为它对我们来说并不直观。我真的很抱歉在我的问题和答案中多次提到这个批评。

完整代码(为简单起见已修改)如下。请注意,这\circlenode{5cm}{N12}{1}是错误的语法,必须将其写为\Circlenode[radius=5cm]{N12}{1}\psset{radius=5cm}\Circlenode{N12}{1}

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}(6,6)
\psset{radius=1cm}
\rput(1,1){\Circlenode{N12}{1}}% \circlenode{5cm}{N12}{1} is a wrong syntax! 
\Cnodeput(5,5){N21}{2}
\ncline{N21}{N12}
\end{pspicture}
\end{document}

在此处输入图片描述

答案2

请使用\Cnodeput(1,1){N12}{4}\Circlenode{foo}{N11}。它会考虑半径设置。

\documentclass{article}
\usepackage{pst-node}
\begin{document}

\begin{pspicture}(5.5,6)
\psset{radius=8mm}
\rput(1,5){\Circlenode{foo}{N11}}
\Cnodeput(1,1){N12}{4}
\Cnodeput(5,5){N21}{2}
\Cnodeput(5,1){N22}{3}
\ncline{-}{N21}{N12}
\ncarc[arcangle=45,arrowscale=2]{->}{foo}{N22}
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容