如何修改箭头位置的原点?

如何修改箭头位置的原点?

这是代码。

\documentclass[12pt,letterpaper]{article}    
\usepackage[left=20mm,top=30mm,bottom=30mm,right=20mm]{geometry}
\usepackage[siunitx]{circuitikz} % circuit package and  include electrical units in our labels

\begin{document}

\begin{center}
\begin{circuitikz} [american voltages] \draw
   (0,6) rectangle (2,7) node[pos=.5] (m) {$K_M$} (m.4) to[short,-, i>=$$] ++(0,-1.5) (m.2) to[short,-, i<=$$] ++(0,2);
   \draw(0,4) rectangle (2,5) node[pos=.5] {$\mbox{\huge$\times$}$};
   \draw(0,2) rectangle (2,3) node[pos=.5] (m) {$K$} (m.1) to[short,-, i<=$$] ++(-3,0);
   \draw(0,0) rectangle (2,1) node[pos=.5] {$N()$} (0,0.5) -- (-1,0.5) -- (-1,4.5) -- (0,4.5);
   \draw(5,2.5) node[mixer] (m) {}
   (m.1) to[short,-, i<=$$] ++(-2.5,0)
   (m.2) to[short,-, i<=$$] ++(0,-1.5)  --(2,0.5)
   (m.3) to[short,-] ++(1,0)
   (m.4) to[short,-, i<=$$] ++(0,1.5) --(2,4.5);



\end{circuitikz}
\end{center}

\end{document}

这张图片展示了我从上面的代码中得到的结果。

在此处输入图片描述

这就是我在这里想要实现的目标。

在此处输入图片描述

答案1

举个例子,这就是你可以用 做的事情。块元素大多是正方形的(你可以扩展通用元素,但评论中指出的circuitikz选项可能更好)。我只实现了图表的一部分。@js bibra

\documentclass[border=10pt]{standalone}
\usepackage[siunitx, RPvoltages]{circuitikz}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}[]
    % \node (modtext) {Modifying $I_M$};
    \draw (0,0) coordinate(in up)
        to[twoport, name=blX, t={\Huge$\times$}, >] ++(2,0)
        -- node[midway, above] {$K_M I_M$} ++(1,0) coordinate(kmim);
    \draw (0,-2) coordinate(in)
        to[twoport, t=$K$, >, name=blK] ++(2,0)
        -- node[midway, above] {$K I$} ++(1,0)
        node[mixer, anchor=west](M){};
    % input join
    \draw (in up) -- (in) node[circ]{} -- ++(-1,0) node[inputarrow, midway]{};
    % mixer arrow
    \path (M.west) node[inputarrow]{}
        (M.north) node[inputarrow,rotate=-90]{};
    % upper link
    \draw (kmim) -| (M.north);
    % output
    \draw (M.east) -- node[inputarrow]{} ++(2,0) node[right]{$O$};
    % block above
    \draw ([yshift=3cm]blX.north)
        -- node[inputarrow, rotate=-90](IA){} ++(0,-1)
        to[twoport, name=blKm, t=$K_M$] (blX.north)
        node[inputarrow, rotate=-90]{};
    % text above
    \path(IA) node[anchor=base east]{Modifying}
        node[anchor=base west]{$I_M$};
    % dashed box
    \node[draw, dashed, fit=(blKm) (blK) (M) (in)]{};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容