如何及时正确地在 Tikz 中创建图形(例如坐标系)?

如何及时正确地在 Tikz 中创建图形(例如坐标系)?

我是 LaTex 和 Tikz 软件包的新手。我正在尝试使用 Tikz 创建图形(这是我在上一个问题中推荐给我的)。这是我经过几天的修修补补后制作的。但是,我花了两天时间制作这个图形,这很耗时。我想知道是否有更好的方法?制作图形时需要记住哪些基本事项?我似乎不明白发生了什么事。我非常感谢给予我的任何指导。

代码:

\begin{figure}[H]
\begin{center}
\begin{tikzpicture} [scale=0.7]

%Coordinate System
\draw[-{Latex[width'=5pt 0, length=5pt]}] (-5,0) -- (5,0); 
\draw[-{Latex[width'=5pt 0, length=5pt]}] (0,-5) -- (0,5);

%Angle
\coordinate (A) at (5,0);
\coordinate (B) at (0,0);
\coordinate (C) at (176:5) ;
\draw [-{Latex[width'=5pt 0, length=5pt]}] (0,0) -- (176:5);

%Arrow
\draw (A) -- (B) -- (C)
pic [draw=black, angle radius=30mm] {angle = A--B--C};


%Angle
\coordinate (A) at (176:5);
\coordinate (B) at (0,0);
\coordinate (C) at (180:5);

\draw (A) -- (B) -- (C)
pic [fill=green!25, draw=black, angle radius=30mm] {angle = A--B--C};
%Label
\draw (-3,-0.3) node [fill=white!100!black, scale=1]
{$4^{\circ}$};

\draw (0,3) node [fill=white!100!black, scale=1]
{$176 ^{\circ}$};

\end{tikzpicture}
\end{center}
\caption{Illustration of $176 ^{\circ}$ with its reference angle}
\label{fig:176}
\end{figure}

输出:

我自己的身影

这是我真正想要创建的图形。它来自一篇论文King 等人(2020)题为“三角学:简短对话”。

我想要的

King, C.、Evelyn, T.、Ye, F. 和 Carvajal, B. (2020)。三角学:简短对话。开放教育资源。https://academicworks.cuny.edu/qb_oers/167/

先感谢您。

答案1

用(通常方式)写的角度值quotes不会产生非常令人满意的结果。在这种特殊情况下,将它们单独添加到宏之外似乎更合适pic。例如,如以下 MWE 中所做的那样:

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{angles, arrows.meta,
                quotes}
\usepackage{siunitx}

\begin{document}
    \begin{tikzpicture}[
               > = {Straight Barb[scale=0.8]},
every pin/.style = {pin edge={<-,black}, font=\footnotesize},
 my angle/.style = {draw, <->,
                    angle radius = 30mm,
                    angle eccentricity=0.6,
                    font=\scriptsize}
                       ]
% coordinate system
\draw[-Stealth] (-4,0) coordinate (A')
                 -- (4,0) coordinate (A);
\draw[-Stealth] (0,-4) -- (0,4);
% coordinates
\coordinate (B) at (0,0);
\coordinate (C) at (176:4) ;
% vector
\draw[->, semithick]   (B) -- (C);
% Angle 4 degree
\pic [my angle, fill=green!25] {angle = C--B--A'};
\coordinate[pin=300:\qty{4}{\degree}] (aux)   at (178:2.8);
% Angle 176 degree
\pic [my angle] {angle = A--B--C};
\node   at (135:2.4) {\qty{176}{\degree}};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

对于 MWE 中的第二幅图像,角度值通过使用quotes包写入,给出了很好的结果:

\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{angles, arrows.meta,
                quotes}
\usepackage{siunitx}

\begin{document}
    \begin{tikzpicture}[
               > = {Straight Barb[scale=0.8]},
every pin/.style = {pin edge={<-,black}, font=\footnotesize},
 my angle/.style = {draw, <->,
                    angle radius = 30mm,
                    angle eccentricity=1.1,
                    font=\scriptsize}
                       ]
% coordinate system
\draw[-Stealth] (-4,0) -- (4,0) coordinate (A);
\draw[-Stealth] (0,-4) -- (0,4);
% coordinates
\coordinate (B) at (0,0);
\coordinate (C) at (240:4) ;
% vector
\draw[->, semithick]   (B) -- (C);
% Angle 240 degree
\pic [my angle, "\qty{240}{\degree}"] {angle = A--B--C};
% Angle 120 degree
\pic [my angle, "\qty{120}{\degree}"] {angle = C--B--A};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容