我正在使用 pst-circ 绘制电路。为此,我想绘制一个电压表,因此我使用它newCircDipole
来定义一个新元素 (MWE):
\documentclass{standalone}
\usepackage{pst-circ}
\newCircDipole{pscircmeter}
\makeatletter
\def\pst@draw@pscircmeter{%
\pnode(-0.3,0){dipole@1}
\pnode(0.3,0){dipole@2}
\psline[fillstyle=none,linewidth=1.5\pslinewidth,arrowinset=0]{->}%
(-0.4,-0.4)(0.45,0.45)
\pscircle[linewidth=1.5\pslinewidth,fillstyle=solid](0,0){0.3}
}
\makeatother
\def\voltmeter{\pscircmeter[labeloffset=0]}
\begin{document}
\begin{pspicture}[showgrid=false](-1,-1)(1,1)
\pnodes(0,-1){A}(0,1){B}
\voltmeter(B)(A){V}
\end{pspicture}
\end{document}
然后将其用作\voltmeter(A)(B){V}
。显然我要这样做:
我的问题是关于旋转这个构造。如果节点 A 和 B 彼此重叠,则会pscircmeter
随箭头旋转,参见上面的 MWE。但是,我想保留箭头的方向(从左下到右上),类似于文本标签的正确对齐方式(向上)。
我意识到可能存在电线和箭头对齐的情况,但我愿意冒这个险。
我们在做这件事的时候:是否可以将默认标签更改为,V
以便我可以使用它作为\voltmeter(A)(B){}
打印V
?
答案1
\documentclass{standalone}
\usepackage{pst-circ}
\newCircDipole{pscircmeter}
\makeatletter
\def\pst@draw@pscircmeter{%
\pnode(-0.3,0){dipole@1}
\pnode(0.3,0){dipole@2}
\pscircle[linewidth=1.5\pslinewidth,fillstyle=solid](0,0){0.3}
}
\makeatother
\def\voltmeter{%
\psline[linewidth=1.5\pslinewidth,arrowinset=0]{->}(-0.4,-0.4)(0.45,0.45)
\pscircmeter[labeloffset=0]}
\begin{document}
\begin{pspicture}[showgrid=false](-1,-1)(1,1)
\pnodes(0,-1){A}(0,1){B}
\voltmeter(B)(A){V}
\end{pspicture}
\begin{pspicture}[showgrid=false](-1,-1)(1,1)
\pnodes(-1,0){A}(1,0){B}
\voltmeter(B)(A){V}
\end{pspicture}
\end{document}
默认绘制标签 V 是可能的,但并不容易解决。