Bearbeiten

Bearbeiten

Ich bin neu im Zeichnen in Latex. Wie zeichne ich diese Form (mit dem Text darin)? Bildbeschreibung hier eingeben

In einem Kreis befinden sich Kreise, jeder Kreis hat einen Pfeil (vorzugsweise gebogen) zum nächsten Kreis. Und in jedem kleinen Kreis haben wir $h^*$. Und ich brauche $H$ in der Nähe des „vorderen“ Kreises, $g_1 H g_1^{-1}$ in der Nähe des zweiten und so weiter.
Nach dem fünften Kreis ( $g_4 H g_4^{-1}$) brauche ich einen gebogenen Pfeil zu 3 Punkten, dann einen weiteren gebogenen Pfeil zum ersten Kreis. Es wäre toll, wenn die Zeichnung die Abmessungen eines Drittels eines A4-Blatts hätte. Danke!

Bearbeiten

Die Leute haben nach meinem Probetraining gefragt, also hier ist es:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} 
\draw[fill=none](0,0) circle (3.0);
\draw[fill=none](1,2) circle (0.5);
\draw[fill=none](1,-2) circle (0.5);
\draw[fill=none](2,0) circle (0.5);
\draw[fill=none](-1,2) circle (0.5);
\draw[fill=none](-1,-2) circle (0.5);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Nun weiß ich nicht, wie ich diese gebogenen Pfeile und die Punkte zeichnen und wie ich die $h$s und $g_i H g_i^{-1}$s manuell schreiben soll.

Bearbeiten(2)

Leute haben mir beim Design geholfen, aber als ich den Code in ein neues Dokument hochgeladen habe, wurde mir Folgendes angezeigt. Bildbeschreibung hier eingeben

Und ich habe zwei Fragen: Die erste ist, warum mir keine richtige Zeichnung des Codes angezeigt wird. Die zweite ist, warum mein „xcolor“-Paket jetzt einen LaTeX-Fehler hat?

Antwort1

Hier ist ein einfacher Versuch. Die Werte bend left=30und looseness=0.75wurden durch Experimente ermittelt (ich habe einen Kreis mit Radius überlagert 2und ein paar Werte ausprobiert). Sie können dies einfach skalieren, indem Sie [scale=...]als optionales Argument hinzufügen tikzpicture, also direkt hinter \begin{tikzpicture}. Ich hoffe, Sie möchten die drei Punkte auf den letzten Pfeilen nicht genau so, wie Sie es beschrieben haben; ich habe einfach einen gestrichelten verwendet.

\documentclass[convert]{standalone}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \draw (0,0) circle[radius=4];
    \node[draw, circle, label=above:\(H\)] (0) at (90:2) {\(h^*\)};
    \foreach \i [remember=\i as \j (initally 0)] in {1,...,4} {
        \node[draw, circle, label=90-72*\i:\(g_\i H g_\i^{-1}\)] (\i) at (90-72*\i:2) {\(h^*\)};
        \draw[->] (\j) edge [bend left=30, looseness=0.75] (\i);
    }
    \draw[->] (4) edge [bend left=30, looseness=0.75] (0);

    % added three dots
    \draw[white, thick] (116:2) arc[start angle=116, end angle=136, radius=2];
    \foreach \i in {0,1,2}
        \filldraw (121+5*\i:2) circle[radius=0.4pt];
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben


Aktualisieren:Obwohl es sich um eine ziemlich pfuschige Lösung handelt, habe ich einfach einen Teil des letzten Pfeils weiß überzeichnet und drei Punkte auf einen imaginären Kreis gesetzt. Der mittlere Punkt liegt auf halbem Weg zwischen den beiden Knoten, und jeder Punkt ist fünf Grad voneinander entfernt.

Antwort2

Eine Variation vonGargantuars nette AntwortVerwenden eines anderen Knotens mit \vdotsanstelle einer gestrichelten Linie:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \draw (0,0) circle[radius=4];
    \node[draw, circle, label={above:\(H\)}] (n0) at (90:2) {\(h^*\)};
    \foreach \i [count=\j from 0] in {1,...,4} {
        \node[draw, circle, label={90-60*\i:\(g_\i H g_\i^{-1}\)}] (n\i) 
            at (90-60*\i:2) {\(h^*\)};
        \draw[->] (n\j) edge [bend left=30, looseness=0.66] (n\i);
    }
    \node[circle, rotate=-30, text depth=0.5em] (n5) at (150:2) {\(\vdots\)}; 
    \draw[->] (n4) edge [bend left=30, looseness=0.66] (n5);
    \draw[->] (n5) edge [bend left=30, looseness=0.66] (n0);
\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Antwort3

Hier ist eine Option mit chains.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary {chains}

\begin{document}

\begin{tikzpicture}[start chain=placed {at=(150-\tikzchaincount*60:2)}, every join/.style={->, thick, bend left=15}, chain node/.style={on chain, circle, thick, minimum size=8mm, join}]
    \draw[thick] circle[radius=4];
    \node[chain node, draw, label={90:$H$}] {$h^*$};
    \foreach \i in {1,...,4}
        \node[chain node, draw, label={90-60*\i:$g_{\i}Hg_{\i}^{-1}$}] {$h^*$};
    \node[chain node]{}; \node[chain node]{};
    \foreach \j in {-1,0,1} \fill (150+5*\j:1.93)circle[radius=.8pt];
\end{tikzpicture}

\end{document}

Antwort4

Eine Alternative inMetapostmit den Beschriftungen darin wie in der OP-Skizze. Ich habe ein nice_labelMakro definiert, das versucht, die Beschriftungen automatisch zu platzieren.

\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path outer_circle, inner_circle;
outer_circle = reverse fullcircle   % so it runs clockwise
               rotated 90           % ... from 12 o'clock
               scaled 100mm;        % .. and takes up 1/3 of an A4 page.
inner_circle = outer_circle scaled 3/4;

numeric n; n = 6;
path c[]; 
for t=0 upto n: 
  c[t] = fullcircle scaled 36 shifted point 8/n*t of inner_circle;
endfor

vardef nice_label(expr s, z, p) = 
  save r, t, a, b; 
  picture t; t = thelabel(s, z);
  interim bboxmargin := 4;
  path a; a = z--center p cutafter bbox t;
  path b; b = z--center p cutafter p;
  numeric r; r = 1 - arclength a / arclength b;
  draw t shifted point r of b
enddef;
                 
for t=0 upto n-1:
  if t < n - 1: 
    draw c[t];
    label("$h^{\rlap{*}}$", center c[t] + 2 up);
    nice_label(
      if t=0: 
        "$H$" 
      else: 
        "$g_{" & decimal t & "}Hg_{"&decimal t&"}^{-1}$" 
      fi, origin, c[t]);
  else:
    for dt=-1/16, 0, 1/16:
      draw point 8/n*t + dt of inner_circle withpen pencircle scaled 1;
    endfor
  fi

  drawarrow subpath 8/n*(t, t+1) of inner_circle
    cutbefore c[t] cutafter c[t+1];
endfor

draw outer_circle;

endfig;
\end{mplibcode}
\end{document}

Sie können dies in Overleaf kompilieren, wenn Sie die LaTeX-Engine auf einstellen lualatex. Sie sollten ein PDF erhalten, das so aussieht:

Bildbeschreibung hier eingeben

Wenn Sie n=6;oben ändern n=7, erhalten Sie diese Version ...

Bildbeschreibung hier eingeben

verwandte Informationen