TikZ: usando la biblioteca de ángulos

TikZ: usando la biblioteca de ángulos

Estoy intentando utilizar la anglesbiblioteca, 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 drawcomando que emite el anglescomando.

\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 quotesbiblioteca y pongo comillas dobles \thetacomo 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 quotesla biblioteca para usar quotesla 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}

ingrese la descripción de la imagen aquí

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 quotela 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 babella biblioteca en el preámbulo del MWE anterior, desaparece y da el siguiente resultado:

ingrese la descripción de la imagen aquí

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í).

información relacionada