
Solo quiero cambiar la etiqueta de $v_m\pahse{j-45}$ debajo de la flecha, ¿alguna idea de cómo puedo hacer eso?
\documentclass[12pt, margin=3mm]{standalone}
\usepackage{tikz}
\usepackage{steinmetz}
\usetikzlibrary{angles, arrows.meta, % new
quotes} % new
\definecolor{lava}{rgb}{0.81, 0.06, 0.13}
\definecolor{myblue}{rgb}{0.0, 0.30, 0.60}
%\usepackage{gensymb} % better is to use siunitx
\begin{document}
\begin{tikzpicture}[
ang/.style = {draw, Straight Barb-Straight Barb, anchor=west,
angle radius = 8mm, angle eccentricity=1},
arr/.style = {cap=round,-Straight Barb},
dot/.style = {circle, fill, minimum size=3pt,inner sep=0pt},
every edge quotes/.style = {auto, font=\footnotesize, sloped},
every label/.style = {inner sep=1pt},
]
% axis
\draw[arr] (-2.7,0)--(3.6,0) node[below] {$\Re$}; % x axis
\draw[arr] (0,-2.7)--(0,3.6) node[left] {$\Im$}; % y axis
% circle
\draw (0,0) circle (3.25cm);
% defining radius points
\node (n1) [dot,] at (-45:3.25) {};
\node (n2) [dot,] at (45:3.25) {};
\node (n3) [dot,] at ( 0:3.25) {};
% vector
\coordinate (O) at (0,0);
\path[draw=black, ultra thick, arr]
(O) to ["$\,\,\quad \quad V_m\mathrm{e}^{j(45^{\circ})}$"] (n2.center);
\path[draw=lava, ultra thick, arr]
(O) to ["$\,\,\quad \quad V_m\mathrm{e}^{j(-45^{\circ})}$"] (n1.center);
\path[draw=myblue, ultra thick, arr]
(O) to ["$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\quad V_m\mathrm{e}^{j(0^{\circ})}$"] (n3.center);
% angle
\pic [ang, "$45^{\circ}$"] {angle = n3--O--n2};
\pic [ang, "$-45^{\circ}$"] {angle = n1--O--n3};
\end{tikzpicture}
\end{document}
Respuesta1
Estas usando elTiKZ quotes
biblioteca. Mirando la página 254 delTiKZmanual vemos:
Una vez cargado, dentro de las opciones de un comando de nodo también puede proporcionar cadenas de la siguiente forma: "⟨text⟩"⟨options⟩
Entonces, todo lo que necesita hacer es agregar la palabra "a continuación" a las especificaciones del nodo. Esto produce:
También me he tomado la libertad de sustituirlo \,\,\,\,\,\,\,\,\,\,\,\,\,\,\quad
en el MWE por above right
. Aquí está el código actualizado:
\documentclass[12pt, margin=3mm]{standalone}
\usepackage{tikz}
\usepackage{steinmetz}
\usetikzlibrary{angles, arrows.meta, % new
quotes} % new
\definecolor{lava}{rgb}{0.81, 0.06, 0.13}
\definecolor{myblue}{rgb}{0.0, 0.30, 0.60}
\begin{document}
\begin{tikzpicture}[
ang/.style = {draw, Straight Barb-Straight Barb, anchor=west,
angle radius = 8mm, angle eccentricity=1},
arr/.style = {cap=round,-Straight Barb},
dot/.style = {circle, fill, minimum size=3pt,inner sep=0pt},
every edge quotes/.style = {auto, font=\footnotesize, sloped},
every label/.style = {inner sep=1pt},
]
% axis
\draw[arr] (-2.7,0)--(3.6,0) node[below] {$\Re$}; % x axis
\draw[arr] (0,-2.7)--(0,3.6) node[left] {$\Im$}; % y axis
% circle
\draw (0,0) circle (3.25cm);
% defining radius points
\node (n1) [dot,] at (-45:3.25) {};
\node (n2) [dot,] at (45:3.25) {};
\node (n3) [dot,] at ( 0:3.25) {};
% vector
\coordinate (O) at (0,0);
\path[draw=black, ultra thick, arr]
(O) to ["$\,\,\quad \quad V_m\mathrm{e}^{j(45^{\circ})}$"] (n2.center);
\path[draw=lava, ultra thick, arr]
(O) to ["$\,\,\quad \quad V_m\mathrm{e}^{j(-45^{\circ})}$" below] (n1.center);
\path[draw=myblue, ultra thick, arr]
(O) to ["$V_m\mathrm{e}^{j(0^{\circ})}$" above right] (n3.center);
% angle
\pic [ang, "$45^{\circ}$"] {angle = n3--O--n2};
\pic [ang, "$-45^{\circ}$"] {angle = n1--O--n3};
\end{tikzpicture}
\end{document}
Respuesta2
Respuesta3
Una solución más, que utiliza quote
la sintaxis para colocar etiquetas en el lado deseado del camino (vector en su caso) y siunitx
para escribir los valores de los ángulos:
\documentclass[12pt, margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{angles, arrows.meta,
quotes}
\definecolor{lava}{rgb}{0.81, 0.06, 0.13}
\definecolor{myblue}{rgb}{0.0, 0.30, 0.60}
\usepackage{steinmetz}
\usepackage{siunitx} % new
\begin{document}
\begin{tikzpicture}[
ang/.style = {draw, Straight Barb-Straight Barb, anchor=west,
angle radius = 8mm, angle eccentricity=1,
font=\footnotesize}, % <--- added
arr/.style = {cap=round,-Straight Barb},
dot/.style = {circle, fill, minimum size=3pt,inner sep=0pt},
every edge quotes/.style = {auto, font=\footnotesize, sloped},
every label/.style = {inner sep=1pt},
]
% axis
\draw[arr] (-3.4,0)--(3.6,0) node[below] {$\Re$}; % changed
\draw[arr] (0,-3.4)--(0,3.6) node[left] {$\Im$}; % changed
% circle
\draw (0,0) circle (3.25cm);
% defining radius points
\node (n1) [dot,] at (-45:3.25) {};
\node (n2) [dot,] at ( 45:3.25) {};
\node (n3) [dot,] at ( 0:3.25) {};
% vector
\coordinate (O) at (0,0);
\path[draw=black, ultra thick, arr]
(O) to ["$V_m\mathrm{e}^{j(\SI{45}{\degree})}$"] (n2.center);
\path[draw=lava, ultra thick, arr]
(O) to ["$V_m\mathrm{e}^{j(\SI{-45}{\degree})}$" '] (n1.center); % <--- observe added '
\path[draw=myblue, ultra thick, arr]
(O) to [pos=0.7,"$ V_m\mathrm{e}^{j(\SI{0}{\degree})}$" ] (n3.center);
% angle
\pic [ang, "\SI{45}{\degree}"] {angle = n3--O--n2};
\pic [ang, "\SI{-45}{\degree}"] {angle = n1--O--n3};
\end{tikzpicture}
\end{document}
Editar: En comparación con su MWE, se realizan los siguientes cambios en el MWE anterior:
- para el posicionamiento de la etiqueta se utiliza
'
la opción acortadaswap
, que empuja la etiqueta en el lado opuesto del vector:
(O) to ["$V_m\mathrm{e}^{j(\SI{-45}{\degree})}$" swap]
o un poco más corto
(O) to ["$V_m\mathrm{e}^{j(\SI{-45}{\degree})}$" ']
- Los ejes son prolongados y pueden cruzar el círculo.
- para el posicionamiento de la etiqueta se utiliza la opción
pos=...
que puede mover la posición de la etiqueta desde el medio del camino hasta el punto deseado en el camino - Para una mejor legibilidad, las etiquetas de ángulo se reducen a
\footnotesize