%20umas%20em%20rela%C3%A7%C3%A3o%20%C3%A0s%20outras.%20Usando%20nomes%20de%20pe%C3%A7as%20de%20circuitos%20para%20colocar%20setas%20de%20malha%20%22intuitivamente%22%20com%20%22controles%22.png)
Esta questão é contínua minhaoutro. Devido à minha reputação, não posso adicionar comentários às respostas. Então aproveito a oportunidade para agradecerJohn Kormylopela sua resposta à minha pergunta inicial. Também sinto muito pelo meu inglês incorreto.
Para a pergunta:
Para circuitos eu uso a circuitikz
sintaxe, exemplo
\begin{circuitikz}
\draw
(0,0) to [V = $U$] (0,3)
to [short, i = $I$, -*] (3,3) -- (6,3)
to [R = $R_2$, v = $U_2$, i = $I_2$] (6,0) -- (0,0)
(3,3) to [R = $R_1$, v = $U_1$, i = $I_1$, -*] (3,0);
\end{circuitikz}
Isso é muito fácil e intuitivo. Mas quando quero adicionar uma seta de malha ao circuito, eu uso (além do código acima; uma malha como exemplo):
\draw
%
% mesh one (detailed explanation of the implementation)
%
[<-,% direction of the arrow
> = triangle 45,% kind of the arrow end
path picture =% allows ''to paint a picture'' inside of an other ''picture''
{\node[anchor = center]% position of the inner ''picture''
at (path picture bounding box.center)% bordering rectangle,
% centered inside the arrow (arrow is the outer ''picture'')
{$M_1$};}]% text of the inner ''picture''
(1.75,1)% coordinates of the arrow end
arc% arc-shaped arrow
(-60:% angle of the arrow start
170:% angle of the arrow end
.5);% radius of the arc
Para o resultado de ambos os trechos de código, veja o link acima (minha pergunta inicial).
Essa quantidade de código para "apenas" uma seta me parece um pouco demais, complicada e pouco intuitiva.
O que eu quero:
1.Colocando partes do circuito (como nós com nomes) umas em relação às outras, como o exemplo "Petri-Net" no PGF
manual na página 51 (subseção 3.8):
Combinado com a circuitikz
sintaxe (veja o primeiro exemplo de código).
2.Usando os nomes das partes do circuito para colocar setas de malha de forma intuitiva com a controls
macro (página 748, PGF
manual), como John Kormylo fez em sua resposta à minha pergunta inicial:
\node (M 3) [below] at (0,0) {\phantom{$M_3$}};% reserving space for M 3 under the circuit
\draw
[->, > = triangle 45] (current bounding box.east) .. controls
(current bounding box.south east) ..
(M 3.south) node[above, pos = .95] {$M_3$};% see below
% above: location of the inscription ''M_3'' relative to the arrow end
% pos=: location of the inscription ''M_3'' on the ''x''-axis (arrow beginning is zero,
% arrow end is one)
Isso é possível? Se sim, como posso fazer isso? Espero que você entenda minha intenção.
Obrigado por suas respostas e ajuda antecipadamente!
Responder1
Em vez de colocar o nó no centro do arco, coloquei o arco ao redor do nó. Mesmo resultado, menos pressionamentos de tecla. Existem também várias maneiras de evitar repetir as mesmas opções indefinidamente. Usei um escopo, pois as alterações duram apenas enquanto o escopo durar.
A maior parte da simplificação se deve à remoção dos comentários.
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage{amsmath}
\usepackage[european]{circuitikz}
\usepackage{showframe}
\begin{document}
\noindent
\begin{minipage}[t]{.5\linewidth}
\begin{circuitikz}[baseline=(current bounding box.north)]
%
% circuit
%
\draw
(0,0) to [V = $U$] (0,3)
to [short, i = $I$, -*] (3,3) -- (6,3)
to [R = $R_2$, v = $U_2$, i = $I_2$] (6,0) -- (0,0)
(3,3) to [R = $R_1$, v = $U_1$, i = $I_1$, -*] (3,0);
%
% mesh arrows
%
\begin{scope}[>=triangle 45]
\draw[<-] (1.5,1.5) node{$M_1$} +(.25,-.433) arc(-60:170:.5);
\draw[<-] (4.5,1.5) node{$M_2$} +(.25,-.433) arc(-60:170:.5);
\node (mesh3) [below] at (0,0) {\phantom{$M_3$}};% reserve space below circuit for M_3
\draw[->, thick] (current bounding box.east)% not the only way, just easy
.. controls (current bounding box.south east) ..
(mesh3.south) node[above,pos=.9] {$M_3$};
\end{scope}
\end{circuitikz}
\end{minipage}
\hfill
\begin{minipage}[t]{.45\linewidth}
%
% equations for mesh and knot
%
\begin{align*}
&K : \quad I = I_1 + I_2\\
&M_1: \quad -U = -U_1\Leftrightarrow U = U_1 = R_1I_1\\
&M_2: \quad U_1 = -U_2\\
&M_3: \quad -U = -U_2\Leftrightarrow U = U_2 = R_2I_2
\end{align*}
\end{minipage}
\end{document}