CircuiTikZ — 创建新组件

CircuiTikZ — 创建新组件

如何创建新组件并将其包含在 CircuiTikZ 中?例如 4 位加法器?

答案1

有一个简单的方法。使用现有组件作为基础,例如,然后 to[generic,color=white,n=myname]在空间中绘制任何您想要的东西。

\newcommand{\speaker}[2] % #1 = name from to[generic,n=#1], #2 = rotation angle
{\draw[thick,rotate=#2] (#1) +(.2,.25) -- +(.7,.75) -- +(.7,-.75) -- +(.2,-.25);}
\begin{circuitikz}
\draw (0,2) to[C, l_=$C$, o-*] (2,2) to[short, -*] (3.5,2) to[short] (5,2);
\draw (0,0) to[short, o-*] (2,0) to[short, -*] (3.5,0) to[short] (5,0);
\draw (2,2) to[L=$L$] (2,0);
\draw (3.5,2) to[R=$R$] (3.5,0);
\draw (5,2) to[generic, n=S1](5,0);
\speaker{S1}{0}
\end{circuitikz}

在此处输入图片描述

从那时起,我的技术得到了改进,如以下教程中所述。

http://www.elfsoft2000.com/projects/speaker.pdf

http://www.elfsoft2000.com/projects/multipole.pdf

http://www.elfsoft2000.com/projects/bipole.pdf

答案2

中的组件CircuiTikzpgfcirc*poles.sty通过非常低级的 pgf 命令在文件中定义。您可以

  1. 尝试查看*sty文件,特别pgfcirctripoles.sty是大多数端口都已定义,然后剪切并粘贴到新组件。如果您设法对其进行编码,请将其发送给我,以便我可以将其添加到每个人中以供使用 :)
  2. 请将您希望加法器呈现的样子的 PNG 图片发送给我,然后等我对其进行编码 ^^ 我有几个请求在队列中,毕竟是时候更新包了……

答案3

只是一个更新:请注意,在 0.9.0 版本中

  1. 有一个扬声器组件,并且
  2. 手册中有一个关于如何添加组件的部分(确实很短)。

不幸的是,要添加组件,您应该对 pgf 基础层(TikZ-PGF 手册第 IX 部分)有一点了解。

0.9.9 的示例电路

相关内容