tkzFillAngle 在填充角度时犯了一个小错误,我不知道为什么。
这是我的最小工作示例:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
\centering
\begin{tikzpicture}[scale=5]
\node at (0:1) (point) {};
\node at (30:1) (otherpoint) {};
\node at (0:0) (O) {};
\tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint)
% tkz code no ;
\draw [dashed] (O.center)--(point);
\draw (O.center)--(otherpoint);
\end{tikzpicture}
\caption{asdf}
\end{figure*}
\end{document}
这是我得到的。请注意,填充物没有完全到达角的角落。知道我做错了什么吗?
答案1
您需要使用\coordinate
而不是\node
。
看这里:TikZ:\node 和 \coordinate 之间的区别?。
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
\centering
\begin{tikzpicture}[scale=5]
\coordinate (point) at (0:1);
\coordinate (otherpoint) at (30:1);
\coordinate (O) at (0:0);
\tkzFillAngle[fill=orange, size=0.3,
opacity=0.4](point,O,otherpoint)% no ; here
\draw [dashed] (O)--(point);
\draw (O)--(otherpoint);
\end{tikzpicture}
\caption{asdf}
\end{figure*}
\end{document}
答案2
可以像@CarlaTex 一样定义点,但也可以使用宏来定义它们tkzDefPoint[< options >](x,y){name}
tkzFillAngle
手册中没有记录该宏,但引用了该宏。手册中包含了\tkzMarkAngle
以相同方式使用的宏,但也没有记录。
手册中记录了两个宏,一个允许绘制角扇区
\tkzDrawSector
,tkzFillSector
另一个允许绘制角扇区。为了理解这两个宏之间的区别,我分别绘制了角扇区,但没有绘制边。
\tkzDrawSector
绘制角落的轮廓:
当然,可以同时绘制和着色角扇区。在你给出的例子中,由于放大倍数为 5,所以我将半径设置为 5 倍小(2 毫米)
tkz-euclide
宏不需要分号。
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
\centering
\begin{tikzpicture}[scale=5]
\tkzDefPoint(0:1){point}
\tkzDefPoint(30:1){otherpoint}
\tkzDefPoint(0:0){O}
% \tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint);
% \tkzMarkAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint);
% \tkzFillSector[R with nodes,fill=orange, opacity=0.4](O,2mm)(point,otherpoint)
\tkzDrawSector[R with nodes,fill=orange, opacity=0.4](O,2mm)(point,otherpoint)
\draw [dashed] (O.center)--(point.center);
\draw (O.center)--(otherpoint.center);
\tkzDrawPoints(O,point,otherpoint)
\end{tikzpicture}
\caption{asdf}
\end{figure*}
\end{document}
输出\tkzDrawSector
:
输出\tkzFillSector
:
答案3
仅需tkz-euclide
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{figure*}
\centering
\begin{tikzpicture}[scale=5]
% \node at (0:1) (point) {};
% \node at (30:1) (otherpoint) {};
% \node at (0:0) (O) {};
\tkzDefPoint(0:1){point}
\tkzDefPoint(30:1){otherpoint}
\tkzDefPoint(0:0){O}
\tkzFillAngle[fill=orange, size=0.3, opacity=0.4](point,O,otherpoint)
% tkz code no ;
\tkzDrawSegment[dashed](O,point)
\tkzDrawSegment(O,otherpoint)
% \draw [dashed] (O.center)--(point);
% \draw (O.center)--(otherpoint);
\end{tikzpicture}
\caption{asdf}
\end{figure*}
\end{document}
仅使用 tikz 就可以填充角度。pgfmanual 中的几何课程提供了精美的示例。现在,您可以使用pic
最新版本。