使用 circuitikz 的输出否定循环进行输入否定

使用 circuitikz 的输出否定循环进行输入否定

我想使用紧凑图示来表示一个非门,在非门处有另一个逻辑门输入逻辑门。到目前为止,文档向我展示了如何使用 来实现这一点ocirc。但这看起来与输出处的圆圈不同。我怎样才能在输入处获得相同的圆圈?

\documentclass{article}
\usepackage[european]{circuitikz}
\ctikzset{tripoles/european not symbol=ieee circle}
\begin{document}

\begin{circuitikz}
\draw (0,0) node[and port] (AND1) {}
(AND1.in 1) node[anchor=east] {$E_0$} 
(AND1.in 2) node[anchor=east] {$E_1$}
(AND1.out) node[anchor=west] {$A_0$};
\node at (AND1.bin 1) [ocirc, left]{};
\end{circuitikz}

\begin{circuitikz}
\draw (0,0) node[nand port] (AND1) {}
(AND1.in 1) node[anchor=east] {$E_0$} 
(AND1.in 2) node[anchor=east] {$E_1$}
(AND1.out) node[anchor=west] {$A_0$};
\end{circuitikz}

\end{document}

MWE 渲染

答案1

除了改变输出圈之外Zarko 的回答,您还可以使用形状notcirc(当前手册第 155 页):

\documentclass[margin=3mm]{standalone}
\usepackage[european]{circuitikz}
\ctikzset{tripoles/european not symbol=ieee circle}

\begin{document}
\begin{circuitikz}
\draw   (0,0) node[nand port] (AND1) {}
        (AND1.in 1) node[anchor=east] {$E_0$}
        (AND1.in 2) node[anchor=east] {$E_1$}
        (AND1.out) node[anchor=west] {$A_0$};
\node at (AND1.bin 1) [ocirc, left]{};
\node at (AND1.bin 2) [notcirc, left]{};
\end{circuitikz}

\end{document}

在此处输入图片描述

所以基本上,这取决于您喜欢什么尺寸……

答案2

我不确定我是否理解正确。像这样:

在此处输入图片描述

\documentclass[margin=3mm]{standalone}
\usepackage[european]{circuitikz}
\ctikzset{tripoles/european not symbol=ieee circle}

\begin{document}
\begin{circuitikz}
\draw   (0,0) node[nand port] (AND1) {}
        (AND1.in 1) node[anchor=east] {$E_0$}
        (AND1.in 2) node[anchor=east] {$E_1$}
        (AND1.out) node[anchor=west] {$A_0$};
\node at (AND1.bin 1) [ocirc, left]{};
\end{circuitikz}

\end{document}

\ctikzset{tripoles/european not symbol=circle}

你会得到

在此处输入图片描述

笔记:
两者均在软件包文档第 4.22.7.1 节欧洲逻辑端口定制第 163 页和 4.22.5.2 节美国逻辑端口锚点第 157 页中进行了解释。

相关内容