
Estoy intentando utilizar la angles
biblioteca, pero no estoy seguro de cómo aplicarla cuando los nodos se especificaron mediante otros métodos.
En los ejemplos, el dibujo de los vectores y el nombre de los nodos ocurre con el mismo draw
comando que emite el angles
comando.
\documentclass[tikz]{standalone}%
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\usetikzlibrary{angles}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0, 0);
\path[name path = para] (-1, -2.5) parabola bend (2, 2) (4, 0);
\draw (O) -- (5, 0) coordinate (P1);
\path[name path = circ] (O) circle[radius = .75bp];
\path[name intersections = {of = para and circ}];
\coordinate (A) at (intersection-1);
\coordinate (B) at (intersection-2);
\draw[-latex, red] (A) -- ($(B)!1cm!(A)$) coordinate (P2);
\path (P1) -- (O) -- (P2)
pic[''$\theta$'', draw, -latex, red, angle radius = .5cm,
angle eccentricity = 1.2] {angle = P1--O--P2};
\end{tikzpicture}
\end{document}
Me dice que theta no es un color.
Incluso si cargo la quotes
biblioteca y pongo comillas dobles \theta
como respondió Harish Kumar, sigo recibiendo el mensaje:
! Missing \endcsname inserted.
<to be read again>
\theta
l.41 angle eccentricity = 1.2, font = \tiny]
{angle = P1--O--P2};
! Missing \endcsname inserted.
...
l.41 ...y = 1.2, font = \tiny] {angle = P1--O--P2}
;
! Package xcolor Error: Undefined color ```$\theta $'''.
Para aquellos que no me creen que las comillas dobles están causando el mismo problema, les narré un video que muestra que este es el caso.
https://www.dropbox.com/s/44zhedz2psg1vrk/2014-05-08%2018.08.46.mp4
Respuesta1
Necesita cargar quotes
la biblioteca para usar quotes
la sintaxis. Esto habilita la sintaxis de comillas para etiquetas, pines, nodos de borde y textos de imágenes.
Además, son comillas dobles como "$\theta$"
(no ''$\theta$''
). Algunos editores (como Emacs) convierten automáticamente "
a ``
o ''
(dependiendo de si se insertan al principio o al final de una palabra), ya que eso produce el resultado correcto después de compilar el documento. En este caso, sin embargo, queremosactualdoble comillas. Para escribirlos en Emacs, simplemente presione la tecla de comillas doblesdos vecesen sucesión. El segundo convertirá las dos comillas simples previamente insertadas en una comilla doble simple, que es lo que se necesita aquí.
\documentclass[tikz,varwidth]{standalone}%
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\usetikzlibrary{angles}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0, 0);
\path[name path = para] (-1, -2.5) parabola bend (2, 2) (4, 0);
\draw (O) -- (5, 0) coordinate (P1);
\path[name path = circ] (O) circle[radius = .75bp];
\path[name intersections = {of = para and circ}];
\coordinate (A) at (intersection-1);
\coordinate (B) at (intersection-2);
\draw[-latex, red] (A) -- ($(B)!1cm!(A)$) coordinate (P2);
\path (P1) -- (O) -- (P2) pic["$\theta$", draw,-latex, red, angle radius = 0.5cm, angle eccentricity = 1.2] {angle = P1--O--P2};
\end{tikzpicture}
\end{document}
Respuesta2
Si incluir la biblioteca de citas aún no funciona, sugiero cargar la biblioteca de Babel como se propone.aquí. Tuve exactamente el mismo problema y me funcionó.
\usetikzlibrary{angles,quotes}
\usetikzlibrary{babel}
Respuesta3
El uso de quote
la biblioteca en documentos con algunos idiomas distintos del inglés tiene problemas con la redefinición de babels ''
. Por ejemplo (ligeramente modificadousuario11232respuesta):
\documentclass[tikz, margin=3mm]{standalone}%
\usetikzlibrary{angles,
% babel, % <-- example works if you enable this library
calc,
intersections,
quotes}
\usepackage[slovene]{babel}
\begin{document}
\begin{tikzpicture}[
> = stealth,
angle radius = 5mm,
my angle/.style = {draw, -latex,
angle eccentricity=1.3,
font=\large} % angle label position!
]
\draw (0,0) coordinate (O) --
(4,0) coordinate (P1);
\draw[very thin, dashed, name path = para] (-1,-2.5) parabola bend (2,2) (4,0);
\draw[very thin, name path = circ] (O) circle[radius = .75bp];
%
\path[name intersections = {of = para and circ, by={A,B}}];
%
\draw[-latex, red] (A) -- ($(B)!1cm!(A)$) coordinate (P2);
%
\path (P1) -- (O) -- (P2)
pic[my angle,"$\theta$"] {angle = P1--O--P2};
\end{tikzpicture}
\end{document}
da error:
! Argument of \language@active@arg" has an extra }.
<inserted text>
\par
l.26 pic[my angle,"$\theta$"]
{angle = P1--O--P2};
? x
En caso de que habilito babel
la biblioteca en el preámbulo del MWE anterior, desaparece y da el siguiente resultado:
Permítanme señalar que este problema se ha discutido en muchas preguntas/respuestas aquí. Además, el cálculo del OP MWE es muy exigente y lleva un tiempo dar resultados. Para su problema existen mejores enfoques (pero esto no es una cuestión aquí).