如何在电路背景中绘制网格

如何在电路背景中绘制网格

尽管我使用 tikzlibrary 背景并声明一个位于一般创建的背景层后面的层 bbg,但我仍然无法在电路后面绘制网格。以下代码导致两个绘图之间出现不必要的重叠。

代码:

\documentclass{report}
\usepackage{tikz}
\usepackage{circuitikz}

\usetikzlibrary{backgrounds}

\pgfdeclarelayer{bbg}
\pgfdeclarelayer{fg}
\pgfsetlayers{bbg,background,main,fg}    

\begin{document}

\begin{tikzpicture}[european]

 \begin{pgfonlayer}{bbg}
  \foreach \x in {2,6,10,14,18} {
   \foreach \y in {-6,-2,2} {
    \draw[red] (\x,\y) -- (\x,\y +4);
    \draw[red] (\x,\y) -- (\x +4,\y);
    \draw[red] (\x,\y +4) -- (\x +4,\y +4);
    \draw[red] (\x +4,\y) -- (\x +4,\y +4);
   }
  }
 \end{pgfonlayer}

 \draw
  (0,0) 
   to[I=$I_{in}$,-*] (4,0)
  (4,0) 
   to[R=$R_{18}$,-*] (4,4)
   to[R=$R_{22}$,-*] (8,4)
   to[R=$R_{21}$,-*] (12,4)
   to[R=$R_{20}$,-*] (16,4)
   to[R=$R_{19}$,-*] (20,4)
  (4,0)
   to[R=$R_{13}$,-*] (8,0)
   to[R=$R_{12}$,-*] (12,0)
   to[R=$R_{11}$,-*] (16,0)
   to[R=$R_{10}$,-*] (20,0)
  (4,0)
   to[R, l_=$R_{09}$,-*] (4,-4)
   to[R=$R_{04}$,-*] (8,-4)
   to[R=$R_{03}$,-*] (12,-4)
   to[R=$R_{02}$,-*] (16,-4)
   to[R=$R_{01}$,-*] (20,-4)
  (8,0)
   to[R=$R_{17}$] (8,4)
  (8,0)   
   to[R, l_=$R_{08}$] (8,-4)
  (12,0)
   to[R=$R_{16}$] (12,4)
  (12,0) 
   to[R, l_=$R_{07}$] (12,-4) 
  (16,0)
   to[R=$R_{15}$] (16,4)
  (16,0)  
   to[R, l_=$R_{06}$] (16,-4)
  (20,0) 
   to[R=$R_{14}$] (20,4)
  (20,0) 
   to[R, l_=$R_{05}$] (20,-4)
  (20,4)
   to[R=$R_{24}$,-*] (22,4) 
  (20,-4)
   to[R=$R_{25}$,-*] (22,-4)
  (22,4)
   to[short] (22,-4)
   to[short] (22,-6)
   to[short] (9,-6)
   to[short] (0,-6)
   to[short] (0,0)  
  (9,0)
   to[R=$R_{23}$,*-] (9,-4)
   to[short,-*] (9,-6) 
   node[ground]{} 

  {
   [anchor=south east]
   (4,4) node {$N_{01}$}
   (4,0) node {$N_{02}$}
   (4,-4) node {$N_{03}$} 

   (8,4) node {$N_{04}$}
   (8,0) node {$N_{05}$}
   (8,-4) node {$N_{06}$}

   (12,4) node {$N_{07}$}
   (12,0) node {$N_{08}$}
   (12,-4) node {$N_{09}$}   

   (16,4) node {$N_{10}$}
   (16,0) node {$N_{11}$}
   (16,-4) node {$N_{12}$}

   (20,4) node {$N_{13}$}
   (20,0) node {$N_{14}$}
   (20,-4) node {$N_{15}$}  
  }      

 ;

\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

它们不重叠,网格在背景中,但电阻形状未填充。用填充的形状替换其中一个,例如,用 代替fullgeneric=,...R=...您将看到网格消失在形状后面。

circuitikz 手册没有显示填充形状的简单方法,否则你可以用白色填充电阻。如果你想走这条路,你可以看看电容器上的介电体 circuitikz无法轻松填充形状是 circuitikz 的一个明显缺点,使用原生 TikZ 电路库,您可以轻松填充形状。(也许我错了,有一种简单的方法我没有发现。)


免责声明:以下是一些猜测:

我想知道这背后的原因是否是对技术正确性和标准的错误理解。在我看来,绘制电路是一种表达技术事实的方式,类似于使用数学公式。每当最先进的语法不足以描述事实时,语法必须具有适应的可能性(在数学中总是会发生这种情况),而填充形状是一个非常简单的情况。

相关内容