我想要做的是连接或门与“不x_1“在这个电路中使用相对坐标。只是一条从 (aor1.in 1) 到 (not1) 的直线。我想我可以以某种方式获得 (aor1.in 1) 的 Y 坐标,但这似乎不可能。问题是我不能简单地用相对坐标说“向左移动 4 个单位”,因为我有更多组件需要连接到具有特定 x 坐标的一条线。理想情况下,我可以告诉 circuitikz 从输出画一条线,直到它到达特定的 x 坐标。不幸的是我没能做到。有没有简单的方法?
\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}[scale=0.8, transform shape]
\ctikzset{logic ports=ieee}
\draw
(0,10.3) node{$x_0$}
(2,10.3) node{$x_1$}
(4,10.3) node{$x_2$}
(6,10.3) node{$x_3$}
(1,8) node[ieeestd not port, rotate=-90] (not1) {}
(3,8) node[not port, rotate=-90] (not2) {}
(5,8) node[not port, rotate=-90] (not3) {}
(7,8) node[not port, rotate=-90] (not4) {}
(9,6) node[or port] (aor1) {}
(3,6.5) -- (aor1.in 1)
(0,10) -- (0,0)
(0,9) -- (1,9) -- (not1) -- (1,0)
(2,10) -- (2,0)
(2,9) -- (3,9) -- (not2) -- (3,0)
(4,10) -- (4,0)
(4,9) -- (5,9) -- (not3) -- (5,0)
(6,10) -- (6,0)
(6,9) -- (7,9) -- (not4) -- (7,0)
;
\end{circuitikz}
\end{document}
答案1
根据在这个问题,您可以将该行更改(3,6.5) -- (aor1.in 1)
为(not2 |- aor1.in 1) -- (aor1.in 1)
,它应该会执行(我认为)您想要的操作。
梅威瑟:
\documentclass{standalone}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz}[scale=0.8, transform shape]
\ctikzset{logic ports=ieee}
\draw
(0,10.3) node{$x_0$}
(2,10.3) node{$x_1$}
(4,10.3) node{$x_2$}
(6,10.3) node{$x_3$}
(1,8) node[ieeestd not port, rotate=-90] (not1) {}
(3,8) node[not port, rotate=-90] (not2) {}
(5,8) node[not port, rotate=-90] (not3) {}
(7,8) node[not port, rotate=-90] (not4) {}
(9,6) node[or port] (aor1) {}
(not2 |- aor1.in 1) -- (aor1.in 1)
(0,10) -- (0,0)
(0,9) -- (1,9) -- (not1) -- (1,0)
(2,10) -- (2,0)
(2,9) -- (3,9) -- (not2) -- (3,0)
(4,10) -- (4,0)
(4,9) -- (5,9) -- (not3) -- (5,0)
(6,10) -- (6,0)
(6,9) -- (7,9) -- (not4) -- (7,0)
;
\end{circuitikz}
\end{document}
生成结果: