Circuitikz 中的电线未连接

Circuitikz 中的电线未连接

我一直在尝试使用相对坐标来使我的绘图更精确,但似乎我不知道命令是如何\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.-) {};

这使:

节点 G1 的详细信息

节点具有最小尺寸,当它们连接时,连接将转到“最近”边界。这就是为什么在这种情况下您应该使用\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}

显示坐标

相关内容