
Estou tentando usar a angles
biblioteca, mas não tenho certeza de como aplicá-la quando os nós foram especificados por outros métodos.
Nos exemplos, o desenho dos vetores e a nomeação dos nós acontecem no mesmo draw
comando que emite o 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}
Está me dizendo que theta não é uma cor.
Mesmo se eu carregar a quotes
biblioteca e colocar aspas duplas \theta
como Harish Kumar respondeu, ainda recebo a mensagem:
! 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 quem não acredita que aspas duplas estão causando o mesmo problema, narrei um vídeo para vocês mostrando que é esse o caso.
https://www.dropbox.com/s/44zhedz2psg1vrk/2014-05-08%2018.08.46.mp4
Responder1
Você precisa carregar quotes
a biblioteca para usar quotes
a sintaxe. Isso ativa a sintaxe de aspas para rótulos, pinos, nós de borda e textos de imagem.
Além disso, são aspas duplas como "$\theta$"
(não ''$\theta$''
). Alguns editores (como o Emacs) convertem automaticamente "
para ``
ou ''
(dependendo se são inseridos no início ou no final de uma palavra), pois isso produz a saída correta após a compilação do documento. Neste caso, porém, queremosrealaspas duplas. Para digitá-los no Emacs, basta pressionar a tecla de aspas duplasduas vezesem sucessão. O segundo converterá as duas aspas simples inseridas anteriormente em uma única aspa dupla, que é o que é necessário aqui.
\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}
Responder2
Se incluir a biblioteca de citações ainda não funcionou, sugiro carregar a biblioteca babel conforme propostoaqui. Eu tive exatamente o mesmo problema e funcionou para mim.
\usetikzlibrary{angles,quotes}
\usetikzlibrary{babel}
Responder3
O uso quote
da biblioteca em documentos com alguns idiomas que não sejam o inglês apresenta problemas com a redefinição dos babels ''
. Por exemplo (ligeiramente modificadousuário11232responder):
\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}
dá erro:
! Argument of \language@active@arg" has an extra }.
<inserted text>
\par
l.26 pic[my angle,"$\theta$"]
{angle = P1--O--P2};
? x
que no caso, se eu habilitar babel
a biblioteca no preâmbulo do MWE acima, desaparece e dá o seguinte resultado:
Deixe-me observar que esse problema foi discutido em muitas perguntas/respostas aqui. Além disso, o OP MWE é um cálculo muito exigente e demora um pouco para dar resultado. Para o seu problema existem abordagens melhores (mas isto não é uma questão aqui).