![Circuitikz 中的电线未连接](https://linux22.com/image/398366/Circuitikz%20%E4%B8%AD%E7%9A%84%E7%94%B5%E7%BA%BF%E6%9C%AA%E8%BF%9E%E6%8E%A5.png)
我一直在尝试使用相对坐标来使我的绘图更精确,但似乎我不知道命令是如何\node
工作的,因为我在将一个电路元件连接到另一个电路元件时遇到了这个问题:
我正在尝试消除两根电线之间的空白。
这是最小代码:
\documentclass{book}
\usepackage[siunitx,RPvoltages]{circuitikz} %Circuit Schematics/Diagram
\usetikzlibrary{arrows,shapes,calc,positioning}
\begin{document}
\begin{circuitikz}
\path (0,0) coordinate (C);
% Comparatore
\path (C) + (0,-1) + (1,0) coordinate (com) node[above]{};
\path (com) + (1.5,-1) node[op amp] (comp) {};
% Collegamenti Comparatore
\node (G1) at ([shift=({-1.3cm,0cm})]comp.-) {};
\draw (G1) -- (comp.-);
\node (G2) at ([shift=({-1.3cm,0cm})]comp.+) {};
\draw (G2) -- (comp.+);
\draw (C) -- (G1); % Collegamento Rettificatore - Comparatore
\end{circuitikz}
\end{document}
谢谢你的帮助!
答案1
抱歉。我迷失在你的代码中,所以我写了一个新的,它重现了所需的结果。我保留了coordinate (C)
它,尽管绘制此图不需要它。
\documentclass[margin=3mm]{standalone}
\usepackage[siunitx,RPvoltages]{circuitikz} %Circuit Schematics/Diagram
\usetikzlibrary{arrows,shapes,calc,positioning}
\begin{document}
\begin{circuitikz}
% Collegamenti Comparatore
\node (comp) [op amp, right, anchor=-] {};
\draw (comp.-) -- ++ (-1,0) coordinate (C)
-- ++ ( 0,1)
(comp.+) -- (C |- comp.+)
;
\end{circuitikz}
\end{document}
答案2
虽然Zarko 的回答是正确的,你的代码中的问题(除了一些奇怪的路径构建)是这一行:
\node (G1) at ([shift=({-1.3cm,0cm})]comp.-) {};
如果你用以下代码替换你的代码,你就会看到它:
\node [draw=red](G1) at ([shift=({-1.3cm,0cm})]comp.-) {};
这使:
节点具有最小尺寸,当它们连接时,连接将转到“最近”边界。这就是为什么在这种情况下您应该使用\coordinate
没有尺寸的。
如果你坚持使用节点,那么你应该连接到center
锚点:
\draw (G1.center) -- (comp.-);
\draw (C) -- (G1.center); % Collegamento Rettificatore - Comparatore
尽管这仍然不是最优的:
这就是为什么公认的解决方案更好。
作为额外的奖励,您可以使用我的\coord()
宏来显示您的路径去往何处...
\documentclass{book}
\usepackage[siunitx,RPvoltages]{circuitikz} %Circuit Schematics/Diagram
\usetikzlibrary{arrows,shapes,calc,positioning}
\def\coord(#1){node[circle, red, draw, inner sep=1pt,pin={[red, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.1cm, pin edge={red, overlay,}]45:#1}](#1){}}
% \def\coord(#1){coordinate(#1)}
\begin{document}
\begin{circuitikz}
\path (0,0) \coord (C);
% Comparatore
\path (C) + (0,-1) \coord(1) + (1,0) \coord (com) node[above]{};
\path (com) + (1.5,-1) \coord(3) node[op amp] (comp) {};
% Collegamenti Comparatore
\node [draw=red](G1) at ([shift=({-1.3cm,0cm})]comp.-) {};
\path (G1) \coord(g1 center) (comp.-) \coord(-) (G1.north) \coord(g1 north);
\draw (G1) -- (comp.-);
\node (G2) at ([shift=({-1.3cm,0cm})]comp.+) {};
\draw (G2) -- (comp.+);
\path (G2) \coord(g2 center) (comp.+) \coord(+);
\draw (C) -- (G1); % Collegamento Rettificatore - Comparatore
\end{circuitikz}
\end{document}