问题

问题

以下 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}

相关内容