%20entre%20s%C3%AD.%20Usar%20nombres%20de%20partes%20de%20circuitos%20para%20colocar%20flechas%20de%20malla%20%22intuitivamente%22%20con%20%22controles%22.png)
Esta pregunta es continua miotro. Debido a mi reputación, no puedo agregar comentarios a las respuestas. Así que aprovecho la oportunidad para agradecerJohn Kormylopor su respuesta a mi pregunta inicial. También lo siento por mi inglés incorrecto.
A la pregunta:
Para circuitos uso la circuitikz
sintaxis, ejemplo.
\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}
Esto es muy fácil e intuitivo. Pero cuando quiero agregar una flecha de malla al circuito, uso (además del código anterior; malla uno como ejemplo):
\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 conocer el resultado de ambos códigos, consulte el enlace de arriba (mi pregunta inicial).
Esta cantidad de código para "sólo" una flecha me parece demasiado, complicada y poco intuitiva.
Lo que quiero:
1.Colocar partes del circuito (como nodos con nombres) entre sí, como en el ejemplo de "Petri-Net" en el PGF
manual en la página 51 (subsección 3.8):
Combinado con la circuitikz
sintaxis (consulte el primer ejemplo de código).
2.Usar los nombres de las partes del circuito para colocar flechas de malla de manera intuitiva con la controls
macro (página 748, PGF
manual), como hizo John Kormylo en su respuesta a mi pregunta 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)
es posible? Si es así, ¿cómo puedo hacer esto? Espero que entiendas mi intención.
¡Gracias por sus respuestas y ayuda de antemano!
Respuesta1
En lugar de colocar el nodo en el centro del arco, coloqué el arco alrededor del nodo. Mismo resultado, menos pulsaciones de teclas. También existen varias formas de evitar repetir las mismas opciones una y otra vez. Utilicé un alcance ya que los cambios solo duran mientras dure el alcance.
La mayor parte de la simplificación se debe a la eliminación de los comentarios.
\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}