我正在尝试使用该angles
库,但我不确定当通过其他方法指定节点时如何应用它。
在示例中,向量的绘制和节点的命名发生在draw
发出angles
命令的同一命令上。
\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}
它告诉我 theta 不是一种颜色。
即使我加载库并像 Harish Kumar 回答的那样quotes
加上双引号,我仍然收到以下消息:\theta
! 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 $'''.
对于那些不相信双引号会导致同样问题的人,我为你讲述了一个视频来证明这种情况。
https://www.dropbox.com/s/44zhedz2psg1vrk/2014-05-08%2018.08.46.mp4
答案1
您需要加载quotes
库才能使用quotes
语法。这将启用标签、引脚、边缘节点和图片文本的引号语法。
另外,它是双引号,如"$\theta$"
(not ''$\theta$''
)。某些编辑器(例如 Emacs)会自动转换"
为``
或''
(取决于它们是插入在单词的开头还是结尾),因为这会在编译文档后产生正确的输出。但是,在这种情况下,我们希望实际的双引号。要在 Emacs 中输入这些内容,只需按双引号键两次依次。第二个将把先前插入的两个单引号转换为单个双引号,这正是这里所需要的。
\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}
答案2
如果包含 quotes 库仍然不起作用,我建议按照建议加载 babel 库这里。我遇到了完全相同的问题,并且它帮我解决了问题。
\usetikzlibrary{angles,quotes}
\usetikzlibrary{babel}
答案3
在一些非英语语言的文档中使用quote
库时,babel 重新定义会出现问题''
。例如(略微修改用户11232回答):
\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}
给出错误:
! Argument of \language@active@arg" has an extra }.
<inserted text>
\par
l.26 pic[my angle,"$\theta$"]
{angle = P1--O--P2};
? x
在这种情况下,如果我babel
在上面的 MWE 序言中启用库,它就会消失并产生以下结果:
我要指出的是,这个问题已经在这里的许多问题/答案中讨论过了。此外,OP MWE 的计算要求非常高,需要一段时间才能给出结果。对于它的问题,存在更好的方法(但这不是这里的问题)。