我想在 Latex 中画一个圆圈,我已经画出了它应该的样子,但实际上我希望上半部分是虚线。我该怎么做?
\begin{adjustwidth*}{}{}
\begin{tikzpicture}[scale=5.3,cap=round,>=latex]
\def\Radius{.3cm}
;
\draw (1.25cm,0cm) circle[radius=\Radius];
\begin{scope}[
-{Stealth[round, length=8pt, width=8pt, bend]},
shorten >=4pt,
very thin,
]
\draw (0.2298+1.25, -0.1928) arc(312:314:\Radius);
\draw (-0.05+1.325, 0.3) arc(275:277:\Radius);
\draw (-0.212132+1.25, -0.212132) arc(224:226:\Radius);
\end{scope}
% draw the points
\fill[radius=0.5pt]
(1.25, -\Radius) circle[] node[above left] {}
(0.95, 0) circle[] node[above left] {}
(1.55, 0) circle[] node[above left] {}
;
\path
(-45:\Radius+1.2) node[below right] {}
(-135:\Radius+1.25) node[above left] {}
(1.21, -\Radius-0.39) node[below right] {}
(0.2298+1.25, -0.1928) node[above] {$\gamma_2\;\;\,$}
(-0.05+1.27, 0.32) node[above] {$\gamma_2\gamma_1\;$}
(-0.212132+1.25, -0.212132) node[above] {$\;\;\;\;\;\gamma_1\;$}
;
\end{tikzpicture}
\end{adjustwidth*}
答案1
您觉得这种方法如何?
\documentclass[tikz, border=20mm]{standalone}
\usepackage{amsmath,amssymb}
\usetikzlibrary{positioning, decorations.markings, decorations.pathreplacing}
\tikzstyle{directed}=[postaction={decorate,decoration={markings,mark=at position .5 with{\arrow{stealth}}}}]
\begin{document}
\begin{tikzpicture}
%A simple for loop to draw the circles :
\foreach \i in {0, 180, 270}{
\filldraw (\i:1)circle(0.05);
}
%The top dashed part :
\draw[dashed, directed] (180:1)arc[start angle=180, end angle=0, x radius=1cm, y radius=1cm] node[midway, above] {$\gamma_1\gamma_2$};
%The path gamma 1
\draw[directed] (180:1)arc[start angle=180, end angle=270, x radius=1cm, y radius=1cm] node[midway, left] {$\gamma_1$};
%The path gamma 2
\draw[directed] (270:1)arc[start angle=270, end angle=360, x radius=1cm, y radius=1cm] node[midway, right] {$\gamma_2$};
\end{tikzpicture}
\end{document}
答案2
您可以使用\clip
来仅绘制圆的一部分。这样,您就可以使用不同的线条样式分别绘制圆的上半部分和下半部分:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,bending}
\begin{document}
%\begin{adjustwidth*}{}{}
\begin{tikzpicture}[scale=5.3,cap=round,>=latex]
\def\Radius{.3cm}
;
\begin{scope}
\clip (0.9,0.35) rectangle (1.6,0);
\draw[dashed] (1.25cm,0cm) circle[radius=\Radius];
\end{scope}
\begin{scope}
\clip (0.9,-0.35) rectangle (1.6,0);
\draw (1.25cm,0cm) circle[radius=\Radius];
\end{scope}
\begin{scope}[
-{Stealth[round, length=8pt, width=8pt, bend]},
shorten >=4pt,
very thin,
]
\draw (0.2298+1.25, -0.1928) arc(312:314:\Radius);
\draw (-0.05+1.325, 0.3) arc(275:277:\Radius);
\draw (-0.212132+1.25, -0.212132) arc(224:226:\Radius);
\end{scope}
% draw the points
\fill[radius=0.5pt]
(1.25, -\Radius) circle[] node[above left] {}
(0.95, 0) circle[] node[above left] {}
(1.55, 0) circle[] node[above left] {}
;
\path
(-45:\Radius+1.2) node[below right] {}
(-135:\Radius+1.25) node[above left] {}
(1.21, -\Radius-0.39) node[below right] {}
(0.2298+1.25, -0.1928) node[above] {$\gamma_2\;\;\,$}
(-0.05+1.27, 0.32) node[above] {$\gamma_2\gamma_1\;$}
(-0.212132+1.25, -0.212132) node[above] {$\;\;\;\;\;\gamma_1\;$}
;
\end{tikzpicture}
%\end{adjustwidth*}
%
\end{document}