红色角标的尖端较大。如何修复此问题。
\begin{tikzpicture}[thick, scale = 1.5, transform shape]
\coordinate (origo) at (0,0);
\draw (0,0) ellipse (2cm and 1cm);
\draw [->] (0,0) -- (-0.9,-0.9);
\node (a) {};
\node (A)[below left = 0.7cm and 0.7cm of a] {$x$};
\draw [->, color = blue] (0,0) -- (0.5,-0.98);
\node (B)[below right = 0.8cm and 0.15cm of a] {$x_1,x_2$};
\pic [draw = red, text = blue, ->, "$\Phi$", angle eccentricity = 1.5] {angle = A--origo--B};
\end{tikzpicture}
答案1
坐标定义存在一些不匹配的情况。请尝试以下操作:
\documentclass[border=3mm,tikz]{standalone}
\usetikzlibrary{angles, quotes, positioning}
\begin{document}
\begin{tikzpicture}[thick, scale = 1.5, transform shape]
\coordinate (O) at (0,0);
\coordinate[label=below left:$x$] (A) at (-0.9,-0.9);
\coordinate[label=below right:{$x_1,x_2$}] (B) at (0.5,-0.98);
\draw (O) ellipse (2cm and 1cm);
\draw [->] (O) -- (A);
\draw [->] (O) -- (B);
\pic [draw=red, text=blue,->, "$\Phi$", angle eccentricity=1.5] {angle = A--O--B};\end{tikzpicture}
\end{document}
导致您出现问题的原因是,您考虑的节点 (a) 和 (b) 的中心pic
与您的箭头不对齐。节点“b”较宽,因此坐标略微向右移动。为了消除此偏移,我选择真实坐标(即大小为零的节点),对于坐标标签,使用label
坐标中的选项。
答案2
Aluamplib替代方案,仅用于比较。使用 进行编译lualatex
。
\documentclass[border=5mm]{standalone}
\usepackage{unicode-math}
\setmathfont{Tex Gyre Termes Math}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path ellipse, arc, arrow[];
ellipse = fullcircle xscaled 4cm yscaled 2cm;
arrow1 = origin -- point 5.2 of ellipse;
arrow2 = origin -- point 6.3 of ellipse;
arc = ellipse scaled 1/2 cutbefore arrow1 cutafter arrow2;
draw ellipse;
drawarrow arrow1;
drawarrow arrow2 withcolor .67 blue;
drawarrow arc withcolor .53 red;
label.llft("$x$", point 1 of arrow1);
label.lrt ("$x_1, x_2$", point 1 of arrow2);
label.bot ("$Φ$", point 1/2 of arc) withcolor .67 blue;
endfig;
\end{mplibcode}
\end{document}