答案1
如果你想要的结果类似于Thruston 的回答是,钛钾Z,你能做的就是改变Zarko 的回答首先描边两个圆圈,然后填充内部,为交叉部分着色。我还添加了一些 TeX 宏以避免重复路径。
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\newcommand\twocircles{%
% notice that the "circle(1)" syntax is deprecated
(-0.5, 0) circle[radius=1] ( 0.5, 0) circle[radius=1]%
}
\draw[orange!80, thick] \twocircles;
\fill[yellow!30] \twocircles;
\end{tikzpicture}
\end{document}
请注意,此解决方案中的边框宽度减半,因为第二fill
条指令也擦除了一半。
答案2
- 您的问题没有完全清楚您想要做什么。
- 我想,您可能正在寻找以下内容:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[fill=yellow!30]
(-0.5, 0) circle (1)
( 0.5, 0) circle (1);
\draw[orange!80, thick]
(-0.5, 0) circle (1)
( 0.5, 0) circle (1);
\end{tikzpicture}
\end{document}
附录: 正如@Qrrbrbirlbel 在他的评论中所建议的那样(非常感谢您的提示),提出的解决方案不需要两条单独的路径:
\documentclass[margin=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path[draw=orange!80, fill=yellow!30, thick, radius=1]
(-0.5, 0) circle[] (0.5, 0) circle[];
\end{tikzpicture}
\end{document}
结果和以前一样!
答案3
答案4
或许像这样?
我已经做过了元帖子包裹在内luamplib
,所以您需要用 来编译它lualatex
。
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\begin{mplibcode}
beginfig(1);
path a, b, c;
a = fullcircle scaled 200 shifted 60 left;
b = fullcircle scaled 200 rotated 180 shifted 60 right;
c = buildcycle(a, b);
color orange, yellow;
orange = (1, 0.546, 0);
yellow = (1, 1, 0.7);
fill c withcolor yellow;
draw c withpen pencircle scaled 2 withcolor orange;
endfig;
\end{mplibcode}
\end{document}
我使用了方便的buildcycle
宏将两个圆圈连接成一条封闭的路径。