答案1
以下是使用的一种方式chains
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{chains, calc}
\tikzset{
dot/.style={circle, fill, inner sep=0pt, minimum size=4pt},
myarrow/.style={-latex, shorten <=1pt, shorten >=1pt},
myarrow2/.style={-latex, shorten <=1pt, shorten >=1pt, bend left},
elipsis/.style={fill=white, inner sep=1.5pt, circle}
}
\begin{document}
\begin{tikzpicture}[node distance=15mm]
\node[dot, start chain=1, on chain=1, label=above:$g$]{};
\node[dot, on chain=1, join=by myarrow, label=above:$g^2$]{};
\node[dot, on chain=1, join=by myarrow, label=above:$g^3$](g3){};
\node[dot, on chain=1, join=by myarrow, label=above:$g^{t-1}$](gk){};
\node[dot, on chain=1, join=by myarrow, label=above:{$g^t=g^{t+r}$}](A){};
\coordinate(B) at ([yshift=-1.5cm]A);
\coordinate(C) at ($(g3)!.5!(gk)$);
\node[dot, start chain=2 placed {at=($(B)+({(-1)*\tikzchaincount*72+162}:1.5)$)}, on chain=2]{};
\node[dot, on chain=2, join=by myarrow2, label=18:$g^{t+1}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-54:$g^{t+2}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-126:$g^{t+r-2}$]{};
\node[dot, on chain=2, join=by myarrow2, label=-198:$g^{t+r-1}$]{};
\node[dot, on chain=2, join=by myarrow2]{};
\foreach \t in {-82, -90, -98} \node[elipsis] at ($(B)+(\t:1.5)$){.};
\foreach \x in {-1.8,0,1.8} \node[elipsis] at ([xshift=\x mm]C){.};
\end{tikzpicture}
\end{document}