![如何在 tikz 中反转交点](https://linux22.com/image/350458/%E5%A6%82%E4%BD%95%E5%9C%A8%20tikz%20%E4%B8%AD%E5%8F%8D%E8%BD%AC%E4%BA%A4%E7%82%B9.png)
当我在 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}
请看一下,使用此代码是否可以重现您的问题。