在穿过CircuiTikz 文档我发现缓冲逻辑门没有列在逻辑门中(§4.5)。它只列在放大器中(§4.6)。我遇到的问题是,使用 CircuiTikz 生成的反相逻辑门的三角形与缓冲逻辑门的三角形略有不同。但是根据参考书目,它们应该完全相同。我做错了什么吗?有什么办法可以解决这个问题吗?
输入
\documentclass[float=false, crop=false]{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) node[american not port] (mynot) {};
\draw (mynot.in) node[anchor=east] {$x$};
\draw (mynot.out) node[anchor=west] {$F$};
\end{circuitikz} \\
\begin{circuitikz}
\draw (0,0) node[buffer] (mybuffer) {};
\draw (mybuffer.in) node[anchor=east] {$x$};
\draw (mybuffer.out) node[anchor=west] {$F$};
\end{circuitikz}
\end{document}
输出
根据参考书目,缓冲器和逆变器
答案1
您可以通过这种方式设置默认高度和宽度buffer
:
\ctikzset{bipoles/buffer/height/.initial=0.8}
\ctikzset{bipoles/buffer/width/.initial=0.9}
这些值使得三角形相同。
\documentclass[float=false, crop=false]{standalone}
\usepackage{circuitikz}
\ctikzset{bipoles/buffer/height/.initial=0.8}
\ctikzset{bipoles/buffer/width/.initial=0.9}
\begin{document}
\begin{circuitikz}
\draw (0,0) node[american not port] (mynot) {};
\draw (mynot.in) node[anchor=east] {$x$};
\draw (mynot.out) node[anchor=west] {$F$};
\end{circuitikz} \\
\begin{circuitikz}
\draw (0,0) node[buffer] (mybuffer) {};
\draw (mybuffer.in) node[anchor=east] {$x$};
\draw (mybuffer.out) node[anchor=west] {$F$};
\end{circuitikz}
\end{document}