\NeedsTeXFormat{LaTeX2e}[1999/01/01] \ProvidesPackage{tzbondgraph}[2008/02/29] \RequirePackage{tikz} \RequirePackage{xargs} \usetikzlibrary{shapes,arrows} \usetikzlibrary{positioning} \tikzset{point/.style={coordinate},>=stealth,thick,draw=black!50} \tikzstyle{bgLine}=[>=latex',line width=1pt,] \tikzstyle{bgLineArrow}=[->=latex',line width=0.5pt,] \newcommand{\bgLine}[1]{ \tikzstyle{bgLine}+=[#1] } \newcommand{\bgInput}[1]{ \node [coordinate, name=#1] {}; \node (#1r) at (#1.east){}; } \newcommand{\bgInputN}[4]{ \node [coordinate, name=#3,#4 of = #2,node distance=#1] {}; \node (#3r) at (#3.east){}; } \newcommandx{\bgJn}[4][1=1,4=1]{ \node (#3) [right of = #2,node distance=#1em] {\LARGE $#4$}; \node (#3east) [point,right of=#3,node distance=0.2cm] {}; \node (#3west) [point,left of=#3,node distance=0.2cm] {}; } % Connector with effort causality \newcommandx{\bgCex}[7][1=0,6=right,7=1]{ \node (#3) [point,#6 of = #2,node distance=#7em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(2cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1.0cm,0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3) [point,right of = #2,node distance=2cm+#7em] {}; } % Connector with flow causality \newcommandx{\bgCfx}[7][1=0,6=right,7=1]{ \node (#3) [point,#6 of = #2,node distance=#7em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(2cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.5,-0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3) [point,right of = #2,node distance=2cm+#7em] {}; } % Reversed Connector bond with effort causality \newcommandx{\bgCexr}[7][1=0,6=left,7=1]{ \node (#3) [point,#6 of = #2,node distance=#7em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(-2cm,0cm) -- ++(0.5cm,0.25cm) ++(-0.55cm,0cm) -- ++(0,-0.5cm) ++(1.05,0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3) [point,right of = #2,node distance=-2cm-#7em] {}; } % Reversed 1-port bond with flow causality \newcommandx{\bgCfxr}[7][1=0,6=left,7=1]{ \node (#3) [point,#6 of = #2,node distance=#7em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(-2cm,0cm) -- ++(0.5cm,0.25cm) ++(0.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3) [point,right of = #2,node distance=-2cm-#7em] {}; } % 1-port bond with no causality \newcommandx{\bgRnx}[9][1=0,8=right,9=1]{ \node (#3) [point,#8 of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) node [left,rotate=#1] {$#4$} -- ++(2cm,0cm) node[right,rotate=#1] {$#5$} -- ++(-0.5cm,0.25cm) ++(-1,-0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=3.4cm+#9em] {}; } % 1-port bond with effort causality \newcommandx{\bgRex}[9][1=0,8=right,9=1]{ \node (#3) [point,#8 of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(2cm,0cm) node[right,rotate=#1] {$#4:#5$} -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1.05cm,0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=3.4cm+#9em] {}; } % 1-port bond with flow causality \newcommandx{\bgRfx}[9][1=0,8=right,9=1]{ \node (#3) [point,#8 of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(2cm,0cm) node[right,rotate=#1] {$#4:#5$} -- ++(-0.5cm,0.25cm) ++(-0.5,-0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=3.4cm+#9em] {}; } % Reversed 1-port bond with effort causality \newcommandx{\bgRexr}[9][1=0,8=left,9=1]{ \node (#3) [point,#8 of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(-2cm,0cm) -- ++(0.5cm,0.25cm) ++(-0.55cm,0cm) -- ++(0,-0.5cm) ++(0,0.25cm) node[left,rotate=#1] {$#4:#5$} ++(1.05cm,0) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=-3.2cm-#9em] {}; } % Reversed 1-port bond with flow causality \newcommandx{\bgRfxr}[9][1=0,8=left,9=1]{ \node (#3) [point,#8 of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(-2cm,0cm) -- ++(0.5cm,0.25cm) ++(-0.5cm,-0.25cm) node[left,rotate=#1] {$#4:#5$} ++(1.0cm,0) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=-3.2cm-#9em] {}; } % Effort source \newcommandx{\bgEx}[8][1=0,7=left,8=1]{ \node (#3) [point,#7 of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) ++(-2cm,0cm) node[left,rotate=#1] {$S_e:#4$} -- ++(2cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,-0.25cm) -- ++(0,-0.25cm) -- ++(0,0.5) ++(-1.55cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$}; \node (#3) [point,right of = #2,node distance=0cm] {}; } % Modulated Effort source \newcommandx{\bgMEx}[8][1=0,6=left,7=left,8=1]{ \node (#3) [point,#7 of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) ++(-2cm,0cm) node (#3lbl) [left,rotate=#1] {$mS_e$} -- ++(2cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,-0.25cm) -- ++(0,-0.25cm) -- ++(0,0.5) ++(-1.55cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3in) [point,#6 of = #3lbl,node distance=1cm] {}; \draw [bgLineArrow,rotate=#1] (#3in) -- (#3lbl); \node (#3in) [point,#6 of = #3in,node distance=0.3cm] {}; \node (#3) [point,right of = #2,node distance=0cm] {}; } % Reversed Effort source \newcommandx{\bgExr}[8][1=0,7=right,8=1]{ \node (#3) [point,#7 of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) ++(0.5cm,0.25cm) -- ++(-0.5cm,-0.25cm) -- ++(0,+0.25cm) -- ++(0,-0.5cm) ++(0,0.25cm) -- ++(2cm,0cm) node[right,rotate=#1] {$S_e:#4$} ++(-0.55cm,0cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$}; \node (#3) [point,right of = #2,node distance=0cm] {}; } % Reversed Modulated Effort source \newcommandx{\bgMExr}[8][1=0,6=right,7=right,8=1]{ \node (#3) [point,#7 of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) ++(0.5cm,0.25cm) -- ++(-0.5cm,-0.25cm) -- ++(0,+0.25cm) -- ++(0,-0.5cm) ++(0,0.25cm) -- ++(2cm,0cm) node (#3lbl) [right,rotate=#1] {$mS_e$} ++(-0.55cm,0cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$}; \node (#3in) [point,#6 of = #3lbl,node distance=1cm] {}; \draw [bgLineArrow,rotate=#1] (#3in) -- (#3lbl); \node (#3in) [point,#6 of = #3in,node distance=0.3cm] {}; \node (#3) [point,right of = #2,node distance=0cm] {}; } % Flow source \newcommandx{\bgFx}[8][1=0,7=left,8=1]{ \node (#3) [point,#7 of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) ++(-2cm,0cm) node[left,rotate=#1] {$S_f:#4$} -- ++(2cm,0cm) -- ++(-0.5cm,0.25cm) ++(-1.5cm,0cm) -- ++(0,-0.5) ++(0.5,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$}; \node (#3) [point,right of = #2,node distance=0cm] {}; } % 2-port element with no causality \newcommandx{\bgEnx}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$#4$} -- ++(-0.5cm,0.25cm) ++(0.6cm,0) node[right,rotate=#1] {$\circ\circ$} ++(0cm,0.25cm) node[right,rotate=#1] {\tiny$M$} ++(-0.05cm,-0.25cm) ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.7cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.4cm+#9em] {}; } % 2-port transformer with effort causality \newcommandx{\bgTex}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$TF$} -- ++(-0.5cm,0.25cm) ++(0.6cm,0) node[right,rotate=#1] {$\circ\circ$} ++(0.1cm,0.25cm) node[right,rotate=#1] {\tiny$#4$} ++(-0.15cm,-0.25cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.7cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.4cm+#9em] {}; } % 2-port transformer with flow causality \newcommandx{\bgTfx}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$TF$} -- ++(-0.5cm,0.25cm) ++(0.6cm,0) node[right,rotate=#1] {$\circ\circ$} ++(0.1,0.25cm) node[right,rotate=#1] {\tiny$#4$} ++(-1.1cm,-0.45cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.7cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.4cm+#9em] {}; } % 2-port gyrator with flow causality \newcommandx{\bgGfx}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$GY$} -- ++(-0.5cm,0.25cm) ++(0.6cm,0) node[right,rotate=#1] {$\circ\circ$} ++(0.1,0.25cm) node[right,rotate=#1] {\tiny$#4$} ++(-1.1cm,-0.50cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.7cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1.0,0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.4cm+#9em] {}; } % 2-port gyrator with effort causality \newcommandx{\bgGex}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$GY$} -- ++(-0.5cm,0.25cm) ++(0.6cm,0) node[right,rotate=#1] {$\circ\circ$} ++(0.1,0.25cm) node[right,rotate=#1] {#4} ++(-0.15cm,-0.25cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.7cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.3cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.0cm+#9em] {}; } % 2-port modulated gyrator with flow causality \newcommandx{\bgMGfx}[8][1=0,8=2]{ \node (#3) [point,right of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$MGY$} -- ++(-0.5cm,0.25cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-1.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$} ++(1.9cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1.0,0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=4.8cm+#8em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port modulated gyrator with effort causality \newcommandx{\bgMGex}[8][1=0,8=2]{ \node (#3) [point,right of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$MGY$} -- ++(-0.5cm,0.25cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-0.55cm,0cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$} ++(2.0cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=4.8cm+#8em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port modulated transformer with flow causality \newcommandx{\bgMTfx}[8][1=0,8=2]{ \node (#3) [point,right of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$MTF$} -- ++(-0.5cm,0.25cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-1.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$} ++(2.0cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=4.5cm+#8em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port modulated transformer with effort causality \newcommandx{\bgMTex}[8][1=0,8=2]{ \node (#3) [point,right of = #2,node distance=#8em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$MTF$} -- ++(-0.5cm,0.25cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-0.55cm,-0cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#4$} node[below,rotate=#1] {\footnotesize $#5$} ++(2cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#6$} node[below,rotate=#1] {\footnotesize $#7$}; \node (#3) [point,right of = #2,node distance=4.0cm+#8em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port rotary gyrator with flow causality \newcommandx{\bgMRfx}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$RGY$} -- ++(-0.5cm,0.25cm) ++(0.6cm,-0.5) node[right,rotate=#1] {$\circ\circ$} ++(0.2,-0.25cm) node[right,rotate=#1] {#4} ++(-0.8cm,0.75cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-1.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.8cm,0) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(0.55cm,0cm) -- ++(0,-0.5cm) ++(-1.0,0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.0cm+#9em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port rotary gyrator with effort causality \newcommandx{\bgMRex}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$RGY$} -- ++(-0.5cm,0.25cm) ++(0.6cm,-0.5) node[right,rotate=#1] {$\circ\circ$} ++(0.0,-0.25cm) node[right,rotate=#1] {#4} ++(-0.6cm,0.75cm) ++(1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-0.45cm,0cm) -- ++(0,-0.5cm) ++(-1cm,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.9cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) -- ++(1.5cm,0cm) -- ++(-0.5cm,0.25cm) ++(-0.5cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.0cm+#9em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port rotary gyrator reversed and with effort causality \newcommandx{\bgMRexr}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) ++(0.5,0.25) -- ++(-0.5,-0.25) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$RGY$} ++(0.1cm,-0.3) node[right,rotate=#1] {$\circ\circ$} ++(0,-0.25cm) node[right,rotate=#1] {#4} ++(-0.8cm,0.75cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-0.4cm,0cm) -- ++(0,-0.5cm) ++(-0.6cm,0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(1.5cm,0) -- ++(0,0.25cm) -- ++(0,-0.5cm) -- ++(0,0.25cm) ++(0.5cm,0.25cm) -- ++(-0.45cm,-0.25cm) -- ++(1.5cm,0cm) ++(-0.5cm,0cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.2cm+#9em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); } % 2-port rotary gyrator reversed and with effort causality \newcommandx{\bgMRfxr}[9][1=0,9=2]{ \node (#3) [point,right of = #2,node distance=#9em] {}; \draw [bgLine,rotate=#1] (#3) ++(0,0.25cm) -- ++(0,-0.5cm) ++(0.55,0.5) -- ++(-0.5,-0.25) -- ++(1.5cm,0cm) node (#3lbl) [right,rotate=#1] {$RGY$} ++(0.1cm,-0.3) node[right,rotate=#1] {$\circ\circ$} ++(0,-0.25cm) node[right,rotate=#1] {#4} ++(-0.8cm,0.75cm) ++(1.1cm,0.75cm) node(#3top)[point]{} ++(0cm,-0.75cm) node(#3mid){} ++(-1cm,-0.25cm) node[above,rotate=#1] {\footnotesize $#5$} node[below,rotate=#1] {\footnotesize $#6$} ++(2cm,0.25cm) -- ++(-0.45cm,-0.25cm) -- ++(1.5cm,0cm) ++(0,0.25cm) -- ++(0,-0.5cm) ++(0,0.25cm) ++(-0.5cm,0cm) node[above,rotate=#1] {\footnotesize $#7$} node[below,rotate=#1] {\footnotesize $#8$}; \node (#3) [point,right of = #2,node distance=4.2cm+#9em] {}; \draw [bgLineArrow,rotate=#1] (#3top) -- ++(#3mid); }