以下 MWE 产生
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-circ}
\psset
{
unit=1cm,
dipolestyle=zigzag,
}
\begin{document}
\begin{pspicture}[showgrid=true](0,-4)(8,4)
\resistor(0,0)(4,0){$R_1$}
\resistor(4,0)(8,0){$R_2$}
\resistor(4,0)(4,4){$R_3$}
\resistor(4,0)(4,-4){$R_4$}
\end{pspicture}
\end{document}
我注意到电阻器(以及其他元件)需要大约 4 厘米的空间。基于这一事实,我想通过更改单位\resistor(4,0)(4,-4){$R_4$}
来将坐标从(例如)标准化为,如下所示。\resistor(1,0)(1,-1){$R_4$}
unit=4cm
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-circ}
\psset
{
unit=4cm,
dipolestyle=zigzag,
}
\begin{document}
\begin{pspicture}[showgrid=true](0,-1)(2,1)
\resistor(0,0)(1,0){$R_1$}
\resistor(1,0)(2,0){$R_2$}
\resistor(1,0)(1,1){$R_3$}
\resistor(1,0)(1,-1){$R_4$}
\end{pspicture}
\end{document}
不幸的是,电阻器本身也会受到如下影响。
问题
有没有什么方法可以规范网格而不影响其他绘制对象的大小?
编辑
我还对其他解决方案(如果有)感兴趣,包括 TikZ、Metapost、Asymptote 等。
答案1
一般来说不是有可能。只需要一些巧妙的代码...
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-circ}
\def\1{4}\def\2{8}
\psset{dipolestyle=zigzag}
\begin{document}
\begin{pspicture}[showgrid=true](0,-\1)(\2,\1)
\resistor(0,0)(\1,0){$R_1$}
\resistor(\1,0)(\2,0){$R_2$}
\resistor(\1,0)(\1,\1){$R_3$}
\resistor(\1,0)(\1,-\1){$R_4$}
\end{pspicture}
\end{document}
或者
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-circ}
\let\Resistor\resistor
\def\resistor(#1,#2)(#3,#4){%
\Resistor(\numexpr4*#1,\numexpr4*#2)%
(\numexpr4*#3,\numexpr4*#4)}
\let\PSpicture\pspicture
\def\pspicture[#1](#2,#3)(#4,#5){%
\PSpicture[#1](\numexpr4*#2,\numexpr4*#3)(\numexpr4*#4,\numexpr4*#5)}
\psset{dipolestyle=zigzag}
\begin{document}
\begin{pspicture}[showgrid=true](0,-1)(2,1)
\resistor(0,0)(1,0){$R_1$}
\resistor(1,0)(2,0){$R_2$}
\resistor(1,0)(1,1){$R_3$}
\resistor(1,0)(1,-1){$R_4$}
\end{pspicture}
\end{document}