tikz,tikz 电路,相对坐标

tikz,tikz 电路,相对坐标

我正在尝试在电路图的 x 和 y 方向上绘制一条尺寸线 <---- 2 cm ---- >。使用绝对坐标没有问题。但是,使用相对坐标时显示有误,会切断部分电路。我无法令人满意地纠正这个问题。我欢迎任何建议。每个案例都包含一个 MWE 示例。

\documentclass{article}  
\usepackage{tikz}  
    \usetikzlibrary{circuits.ee.IEC,positioning}  
\begin{document}  
% circuit with absolute coordinates
\begin{tikzpicture}[circuit ee IEC,  
    set resistor graphic = var resistor IEC graphic,>=stealth']  
\draw (0,0) -- (0,2)  
    (0,2) to[resistor={info'={R}}](3,2)  
    (3,2) -- (3,0)  
    (3,0) to[battery={info'={$V$}}](0,0);  
\draw [<->] (-0.6,0) -- (-0.6,2) node[midway,fill=white]{\small{y cm}}; 
\draw [<->] (-0.2,2.6) -- (3,2.6) node[midway,fill=white]{\small{x cm}}; 
\end{tikzpicture}  
% circuit with relative coordinates  
\begin{tikzpicture}[circuit ee IEC, >=stealth',%  
    set resistor graphic = var resistor IEC graphic]  
    \node (A)                        {};  
    \node (B)  [above = 2cm of A]    {};    
    \node (C)  [right = 3cm of B]    {};    
    \node (D)  [right = 3cm of A]    {};    
\draw (A.base) -- (B.base)  
    (B.base) to[resistor={info'={R}}](C.base)  
    (C.base) -- (D.base)  
    (D.base) to[battery={info'={$V$}}](A.base);  
\draw [<->] (A.west) -- (B.west) node[midway,fill=white]{\small{y cm}}; %!  
\draw [<->] (B.north) -- (C.north) node[midway,fill=white]{\small{x cm}}; %!  
\end{tikzpicture}
\end{document}

答案1

您需要移动尺寸线,使它们与电路线不重合。由于您使用节点来定位元素,因此您需要将移位长度添加到每个坐标规范中,因此如果您想将线从 向上移动一厘米(A) -- (B),则将变成(请参阅([yshift=1cm] A) -- ([yshift=1cm] B)AB变速线连接锚了解更多信息)。

\node我建议不要使用 s 来定义点,而是使用\coordinates。它们不需要空节点文本,也不占用任何空间,这使得对齐更容易。它们没有任何锚点(除了center),因此您无需决定使用哪个锚点。

\documentclass{article}  
\usepackage{tikz}  
    \usetikzlibrary{circuits.ee.IEC,positioning}  
\begin{document} 
% circuit with relative coordinates  
\begin{tikzpicture}[circuit ee IEC, >=stealth',%  
    set resistor graphic = var resistor IEC graphic]  
    \coordinate (A)                     ;  
    \coordinate [above = 2cm of A] (B)  ;    
    \coordinate [right = 3cm of B] (C)  ;    
    \coordinate [right = 3cm of A] (D)  ;    
\draw (A) -- (B)  
    (B) to[resistor={info'={R}}](C)  
    (C) -- (D)  
    (D) to [battery={info'={$V$}}](A);  
\draw [<->] ([xshift=-0.5cm]A) -- ([xshift=-0.5cm]B) node[midway,fill=white]{\small{y cm}}; %!  
\draw [<->] ([yshift=0.5cm]B) -- ([yshift=0.5cm]C) node[midway,fill=white]{\small{x cm}}; %!  
\end{tikzpicture}
\end{document}

相关内容