我正在用 CircuitTikZ 设计一些电路原理图,我必须插入一个符号施密特触发器。但CircuitTikZ不提供这样的组件。
我如何创建这样一个新组件,使其行为与 CircuitTikZ 中的其他组件一样? 最好的方法是什么?
(如果它的行为像运算放大器那样就好了 - 它也有输入、输出和上/下 - 并且可以改变(非)反相特性。)
提前致谢 !
维基百科文章链接:施密特触发器
(抱歉我的英语不太好。)
答案1
我创建了一个新的长度,以便能够调整符号大小并相对于双极长度进行设置。这不如使用实际组件宽度和高度那么彻底,但比使用要好\schmitt=.25mm
。
\documentclass[border=1pt]{standalone}
\usepackage{circuitikz}
\newlength{\schmitt}
\begin{document}
\tikzset{pics/schmitt/.style={code={\schmitt = \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}%
\schmitt = 0.2\schmitt
\draw[xshift=-.5\schmitt] (-\schmitt,0.5\schmitt)--(0pt,0.5\schmitt) -- (0.5\schmitt,-0.5\schmitt)
(\schmitt,-0.5\schmitt)--(0pt,-0.5\schmitt) -- (-0.5\schmitt,0.5\schmitt);}}}
\tikzset{pics/notschmitt/.style={code={\schmitt = \pgfkeysvalueof{/tikz/circuitikz/bipoles/length}%
\schmitt = 0.15\schmitt
\draw[xshift=-.7\schmitt] (\schmitt,0.5\schmitt)--(0pt,0.5\schmitt) -- (-0.5\schmitt,-0.5\schmitt)
(-\schmitt,-0.5\schmitt)--(0pt,-0.5\schmitt) -- (0.5\schmitt,0.5\schmitt);}}}
\begin{circuitikz}
\node (A) [buffer] at (0,0) {};
\draw (A.center) pic{schmitt};
\node (B) [american not port] at (2,0) {};
\draw (B.center) pic{notschmitt};
\end{circuitikz}
\end{document}