嵌套的 TikZ 图片(双角符号)

嵌套的 TikZ 图片(双角符号)

编辑:@js bibra 指出我如何用多个圆弧标记一个角度?

看起来我的问题有点重复,但仍然存在它是否有意义以及如何嵌套图片的问题,以及如何angle实现调用语法?


我想定义自己的图片来创建这样的双角度:

双角度

理想情况下,新的双角度图dangle应该像正常图一样工作angle。我的尝试是创建一个新的图,其中绘制了两次角度:

\documentclass[tikz, border = 0.5 cm]{standalone}
\usetikzlibrary {angles}
\tikzset{
    pics/dangle/.style args={#1--#2--#3}{
        code={
        \coordinate (AA) at #1;
        \coordinate (BB) at #2;
        \coordinate (CC) at #3;
 %       \draw pic [draw, angle radius=6 mm] {angle = AA--BB--CC};  %not ok
 %       \draw pic [draw, angle radius=7 mm] {angle = AA--BB--CC};  %not ok
       \draw[red] (AA)--(CC); %just for testing
        }
    }
}
 \begin{document}
  \begin{tikzpicture}
    \coordinate (A) at (5,0);
    \coordinate (B) at (0,0);
    \coordinate (C) at (2,3);
    \draw pic [draw, green] {angle = A--B--C};   
    \draw pic {dangle={(A)--(B)--(C)}} ;
    \draw[thick] (A) node[right]{A} -- (B) node[left]{B} -- (C) node[right]{C};  
 \end{tikzpicture}
 \end{document}

带绿色角的三角形

我无法angle在自己的图片中使用。可以嵌套图片吗?怎么​​做?我创建了临时坐标(AA)(BB)因为(CC)手册中写道:

⟨A⟩、⟨B⟩、⟨C⟩三个点必须是节点或坐标的名称,不能使用“(1,1)”这样的直接坐标。

-但我仍然无法让它工作!

另一件事是调用语法angle = A--B--C与不同dangle={(A)--(B)--(C)}。有人能解释一下为什么会这样或如何纠正它吗?

答案1

尝试

\documentclass[tikz, border =3mm]{standalone}
\usetikzlibrary {angles}

\begin{document}
    \begin{tikzpicture}
\coordinate[label=right:A] (A) at (5,0);
\coordinate[label= left:B] (B) at (0,0);
\coordinate[label=above:C] (C) at (2,3);
%
\pic [draw=green, double] {angle = A--B--C};
%   
\draw[thick]    (A) -- (B) -- (C);
\draw[red]      (C) -- (A);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

这是您要找的吗?您可以使用 调整弧线之间的距离double distance=dimension,例如double distance=5pt,将其添加到\pic选项中。

附录1: 现在我意识到,你的问题实际上与你提供链接的问题重复。如果你想嵌套更多pic,只需用不同的方式编写更多内容angle radius

\documentclass[tikz, border =3mm]{standalone}
\usetikzlibrary {angles}

\begin{document}
    \begin{tikzpicture}
\coordinate[label=right:A] (A) at (5,0);
\coordinate[label= left:B] (B) at (0,0);
\coordinate[label=above:C] (C) at (2,3);
% see different angle radius
\pic [draw=green, angle radius=7mm] {angle = A--B--C}; 
\pic [draw=green, angle radius=8mm] {angle = A--B--C};
\pic [draw=green, angle radius=9mm] {angle = A--B--C};
%   
\draw[thick]    (A) -- (B) -- (C);
\draw[red]      (C) -- (A);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

附录2: 看来您的问题在于纠正样式\dangle定义。您尝试过,但无法在途中定义。相反,您可以定义新命令,它将绘制两个圆弧作为角度标记:

\documentclass[tikz, border = 0.5 cm]{standalone}
\usetikzlibrary {angles}
\newcommand\dangle[3]{ % <---
        \pic [draw, angle radius=6 mm] {angle = #1--#2--#3};
        \pic [draw, angle radius=7 mm] {angle = #1--#2--#3};
                     }

 \begin{document}
  \begin{tikzpicture}
\coordinate[label=right:A] (A) at (5,0);
\coordinate[label= left:B] (B) at (0,0);
\coordinate[label=above:C] (C) at (2,3);
%
\dangle{A}{B}{C};
\draw[thick]    (A) -- (B) -- (C); 
\end{tikzpicture}
 \end{document}

您将获得:

在此处输入图片描述

如果您喜欢有颜色的弧,那么您只需要为角度定义添加颜色。例如

\pic [draw=green, angle radius=6 mm] {angle = #1--#2--#3}
\pic [draw=red,   angle radius=7 mm] {angle = #1--#2--#3}

结果是:

在此处输入图片描述

用类似的方法,您可以为特定角度定义更多弧的标记命令。

答案2

https://tex.stackexchange.com/a/457830/197451

在此处输入图片描述

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{angles}
\begin{document}
    \begin{tikzpicture}[double arc/.style={double,double distance=2pt},
%                       triple arc/.style={double distance=4pt,
%                       pic actions/.append code=\tikzset{postaction={draw}}}
]
    \coordinate (A) at (5,0);
    \coordinate (B) at (0,0);
    \coordinate (C) at (2,3);
 \draw[thick] (A) node[right]{A} -- (B) node[left]{B} -- (C) node[right]{C};  
\draw   pic [draw,double arc,angle radius=1cm] {angle=A--B--C};

    \end{tikzpicture}
\end{document}

相关内容