如何在 tikz 中反转交点

如何在 tikz 中反转交点

当我在 circuitikz 中缩放运算放大器时,相交节点会上移。我该如何否定相交点。

\begin{tikzpicture}
    \def\Ba{0,0.5}
    \draw
        (\Ba)node[ground]{}to[R,l=$R_{2}$,-*]++(0,2)node(vx){}--++(0,1)node[op amp,yscale=-1, anchor=-](a1){}
        (vx-|a1.out)node(vo){}
        (vx)to[R,l=$R_{1}$]++(vo)--(a1.out)to[short,-*](a1.out)
        (a1.+)to[short,-o]++(-0.5,0)node[left]{$v_{in}$}
        (a1.out)to[short,-o]++(0.5,0)node[right]{$v_{out}$}
        ;
\end{tikzpicture}

我最终得到了一个看起来像这样的电路。

在此处输入图片描述

所以我使用let命令来获取坐标并得到以下电路。

在此处输入图片描述

有什么方法可以让我不使用 let 命令来否定坐标,从而将交点镜像到相反的方向

\begin{tikzpicture}
    \def\Ba{0,0.5}
    \draw
        (\Ba)node[ground]{}to[R,l=$R_{2}$,-*]++(0,2)node(vx){}--++(0,1)node[op amp,yscale=-1, anchor=-](a1){}
        %(vx-|a1.out)node[scale=-1](vo){}
        let \p1=(vx),\p2=(a1.out) in 
        (vx)to[R,l=$R_{1}$]++(\x2,\x1)--(a1.out)to[short,-*](a1.out)
        (a1.+)to[short,-o]++(-0.5,0)node[left]{$v_{in}$}
        (a1.out)to[short,-o]++(0.5,0)node[right]{$v_{out}$}
        ;
\end{tikzpicture}

答案1

我仅将您的 MWE 重写为我更合乎逻辑的连接点定义坐标:

\documentclass[tikz, border=3mm]{standalone}
\usepackage{circuitikz}

\begin{document}
    \begin{tikzpicture}
\coordinate (Ba) at (0,0.5);
\draw
    (Ba)    node[ground]{}      to[R,l=$R_{2}$,-*] ++ (0,2)
            coordinate (vx)     -- ++ (0,1)
            node[op amp,yscale=-1, anchor=-] (a1) {}
    (a1.out)    -- ++ (0.5,0) coordinate (vo)
                to[short,-o] ++ (0.5,0) node[right] {$v_{\mathit{out}}$}
    (vx)    to[R,l=$R_{1}$]     (vx -| vo) 
            to[short,-*] (vo)
    (a1.+) to[short,-o] ++ (-0.5,0) node[left] {$v_{\mathit{in}}$}
    (a1.out) 
    ;
    \end{tikzpicture}
\end{document}

在此处输入图片描述

请看一下,使用此代码是否可以重现您的问题。

相关内容