更新

更新

我只是一个学生,想自学 LaTeX,让家庭作业看起来比手写好看得多!所以我已经学会了用 CircuiTikz 绘制这些简单的逻辑门,但我很难学会如何旋转我的非门,以及如何清理诸如非门内部有线而不是在尖端之类的东西,以及让或门的传出线一直延伸到我右边的复合语句。我试图添加第二个非门,从“r”到第一个与门(连接到“p”的那个)。我也不知道为什么第一行“第 1.2 章:42”要用所有空格填满整行,我不想要这样。

这是代码片段。如能得到任何帮助,我将不胜感激!

\documentclass{minimal}
\usepackage{CircuiTikz}
\begin{document}
\begin{enumerate}
\item Chapter 1.2: 42\linebreak\linebreak
    \begin{circuitikz} \draw
    % Create the gates.
    (3,2) node[and port] (and1) {}
    (5,-1) node[and port] (and2) {}
    (7,1) node[or port] (or1) {}
    (0.5,0.5) node[rotate=90,not port] (not1) {}
    (2,-2) node[not port] (not2) {}

    %Create the proprositional variables, and final output.
    (and1.in 1) node[left=2cm](p) {p}
    (and1.in 2) node[below left=2cm](r) {r}
    (r) node[below=2cm](q) {q}
    (or1.out) node[right=0.2cm](answer) {$(p \land r) \lor (\neg r \land         
    \neg q)$}

    %Feed AND gates to the OR gate.
    (and1.out) -| (or1.in 1)
    (and2.out) -| (or1.in 2)

    %Feed not1 to and1.
    (not1.out) -| (and1.in 2)

    %Feed p and r to the first AND gate.
    (p) -| (and1.in 1)

    %Feed r into and1 via not1.
    (r) -| (not1.in)

    %Feed r and q (through NOT gate) to second AND gate.
    (r) -| (and2.in 1)
    (q) -| (not2.in)
    (not2) -| (and2.in 2);
    \end{circuitikz}
    \end{enumerate}
\end{document}

更新

我已经弄清楚了如何旋转我的门,但我仍然不明白为什么其中一个非门(名为 not2)的线是插在里面而不是连接在尖端的。我还想学习如何在“r”的传出线分叉处添加一个点来表示它正在分叉。

答案1

  1. 逻辑门是 circuitikz 中的节点。您可以使用rotate=<angle>选项来旋转任何节点。
  2. 你是从not2而不是画的not2.out。这就是为什么非门里面有一条线
  3. 可以将点放置在带有*-*o-o选项的组件的任意一端。

平均能量损失

\documentclass{minimal}
\usepackage{circuitikz}
\begin{document}
    \begin{circuitikz} \draw
    % Create the gates.
    (3,2) node[and port] (and1) {}
    (5,-1) node[and port] (and2) {}
    (7,1) node[or port] (or1) {}
    (0.5,0.5) node[rotate=90,not port] (not1) {}
    (2,-2) node[not port] (not2) {}

    %Create the proprositional variables, and final output.
    (and1.in 1) node[left=2cm](p) {p}
    (and1.in 2) node[below left=2cm](r) {r}
    (r) node[below=2cm](q) {q}
    (or1.out) node[right=0.2cm](answer) {$(p \land r) \lor (\neg r \land         
    \neg q)$}

    %Feed AND gates to the OR gate.
    (and1.out) -| (or1.in 1)
    (and2.out) -| (or1.in 2)

    %Feed not1 to and1.
    (not1.out) |- (and1.in 2)

    %Feed p and r to the first AND gate.
    (p) -| (and1.in 1)

    %Feed r into and1 via not1.
    (0.5,-0.5) to[short,*-] (not1.in)

    %Feed r and q (through NOT gate) to second AND gate.
    (r) -| (and2.in 1)
    (q) -| (not2.in)
    (not2.out) -| (and2.in 2);
    \end{circuitikz}
\end{document}

在此处输入图片描述

相关内容