我是 tikz 初学者。这是我正在制作的一个图形。我无法避免“尺寸太大”错误。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[x=2cm,y=2cm,scale=0.75]
\coordinate [label=below:$O$](O) at (0,0);
\coordinate [label=below:$A$](A) at (0,-1);
\coordinate [label=below:$D$](D) at (-1.1,-1);
\coordinate [label=below:$E$] (E) at (1,-1);
\coordinate [label=0:$B$](B) at (15:1);
\coordinate [label=180:$C$](C) at (140:1);
\draw (0,0) circle (1);
\draw (C) -- (O) -- (B);
\draw (C) -- (A) -- (B);
\draw (D) -- (E);
\tkzMarkAngle[label=$124^{\circ}$,dist=0.35,arc=l,size=0.2,color=black,fill=none](B,O,C)
\tkzMarkAngle[arc=l,size=0.3,color=black](A,C,O)
\end{tikzpicture}
\end{document}
我发现如果我将“scale=0.75”改为“scale=1”,效果会更好。但我想让数字保持较小。
答案1
问题出在size
第二个中使用的值\tkzMarkAngle
;稍微增加该选项的值(使用时错误会消失0.3099999
,但我0.33
在我的示例中使用了):
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[x=2cm,y=2cm,scale=0.75]
\coordinate [label=below:$O$](O) at (0,0);
\coordinate [label=below:$A$](A) at (0,-1);
\coordinate [label=below:$D$](D) at (-1.1,-1);
\coordinate [label=below:$E$] (E) at (1,-1);
\coordinate [label=0:$B$](B) at (15:1);
\coordinate [label=180:$C$](C) at (140:1);
\draw (0,0) circle (1);
\draw (C) -- (O) -- (B);
\draw (C) -- (A) -- (B);
\draw (D) -- (E);
\tkzMarkAngle[label=$124^{\circ}$,dist=0.35,arc=l,size=0.2,color=black,fill=none](B,O,C)
\tkzMarkAngle[arc=l,size=0.33,color=black](A,C,O)
\end{tikzpicture}
\end{document}
答案2
问题出在“装饰”动作上。我在这里问了一个问题:如何做标记。如果你在文件 tkz-obj-angles.tex 中删除postaction={decorate}
下一个代码中的选项,你可以避免错误,但这不是一个好的解决方案
\path [\tkz@mkcolor,postaction={decorate},/tkzmkangle/.cd,#1]%
(#3)--++(\tkz@dirOne:\tkz@size) arc(\tkz@dirOne:\tkz@dirTwo:\tkz@size)--cycle;
我需要修改宏,但我还没有找到正确的方法。
您可以使用不同的选项来避免错误。我觉得您的选项很奇怪。为什么[x=2cm,y=2cm,scale=0.75]
又不行[x=1.75cm,y=1.75cm]
?
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[x=1.75cm,y=1.75cm]
\coordinate [label=below:$O$](O) at (0,0);
\coordinate [label=below:$A$](A) at (0,-1);
\coordinate [label=below:$D$](D) at (-1.1,-1);
\coordinate [label=below:$E$] (E) at (1,-1);
\coordinate [label=0:$B$](B) at (15:1);
\coordinate [label=180:$C$](C) at (140:1);
\draw (0,0) circle (1);
\draw (C) -- (O) -- (B);
\draw (C) -- (A) -- (B);
\draw (D) -- (E);
\tkzMarkAngle[label=$124^{\circ}$,dist=0.35,arc=l,size=0.2,color=black,fill=none](B,O,C)
\tkzMarkAngle[arc=l,size=0.3,color=black](A,C,O)
\end{tikzpicture}
\end{document}