Zeichnen des Untergruppengitters von G in Tikz

Zeichnen des Untergruppengitters von G in Tikz

Da ich neu bei Tikz bin, habe ich versucht, das Untergruppengitter in G zu zeichnen, aber es funktioniert nicht. Was ich versucht habe

\begin{figure}
\begin{tikzpicture}[node distance=2cm]
\title{Untergruppenverband der $A_4$}
\node(G)                            {$G$};
\node(81)       [below left of=G]  {$\langle\sigma^2,\tau\rangle$};
\node(82)       [below of=G]        {$\langle\sigma\rangle$};
\node(83)       [below right of=G]   {$\langle\sigma^2,\tau\sigma\rangle$};
\node(41)       [below left of=81] {$\langle\tau\sigma^2,\sigma^4\rangle$};
\node(42)       [below of=81]       {$\langle\tau,\sigma^4\rangle$};
\node(43)       [below of=82] {$\langle\sigma^2\rangle$};
\node(44)       [below of=83]       {$\langle\tau\sigma\rangle$};
\node(45)       [below right of=83]      {$\langle\tau\sigma^3$};
\node(21)       [below right of=41]     {$\langle\tau\sigma^6\rangle$}
\node(22)       [below of=41]       {$\langle\tau\sigma^2\rangle$}      
\node(23)       [below of=42]  {$\langle\tau\sigma^4\rangle$}
\node(24)       [below right of=42]   {$\tau$}
\node(25)       [below of=43]  {$\sigma^4$}
\node(1)        [below of=25]   {$1$}

\draw(G)       -- (81);
\draw(G)       -- (82);
\draw(G)       -- (83);
\draw(81)       -- (41);
\draw(81)       -- (42);
\draw(81)      -- (43);
\draw(82)      --  (43);
\draw(83)      --  (43);
\draw(83)      --  (44);
\draw(83)      --  (45);
\draw(41)      --  (21);
\draw(41)      --  (22);
\draw(41)       -- (25);
\draw(42)       -- (23);
\draw(42)       -- (24);
\draw(42)      -- (25);
\draw(21)      -- (1);
\draw(22)      --  (1);
\draw(23)      --  (1);
\draw(24)      --  (1);
\draw(24)      --  (1);
\end{tikzpicture}
\caption{Lattice of subgroups of G}
\end{figure}

Während die Knoten 81-83 den Knoten von links nach rechts unterhalb von G entsprechen, entspricht 41 in ähnlicher Weise dem ersten Knoten unterhalb von 81 von links. Das gewünschte Ergebnis Bildbeschreibung hier eingeben

Antwort1

Sie sind ziemlich nah dran. Verwenden Sie die positioningBibliothek. Dann ist die korrekte Syntax below=of G, nicht below of=G. Der Knotenabstand wird entlang der Diagonalen gemessen, was verhindert, dass die Zeilen ausgerichtet werden, positionieren Sie Ihre Knoten also nur mit left, rightund below. Dies erfordert eine gewisse Neuordnung.

Schließlich möchten Sie vielleicht einen einzigen Zeichenbefehl verwenden, sodass Sie beispielsweise die Darstellung aller Linien nur einmal ändern müssen \draw[thick].

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[node distance=1cm]
\node(G)                {$G$};
\node(82)[below=of G]   {$\langle\sigma\rangle$};
\node(81)[left=of 82]   {$\langle\sigma^2,\tau\rangle$};
\node(83)[right=of 82]  {$\langle\sigma^2,\tau\sigma\rangle$};
\node(42)[below=of 81]  {$\langle\tau,\sigma^4\rangle$};
\node(41)[left=of 42]   {$\langle\tau\sigma^2,\sigma^4\rangle$};
\node(43)[below=of 82]  {$\langle\sigma^2\rangle$};
\node(44)[below=of 83]  {$\langle\tau\sigma\rangle$};
\node(45)[right=of 44]  {$\langle\tau\sigma^3\rangle$};
\node(25)[below=of 43]  {$\langle\sigma^4\rangle$};
\node(24)[left=of 25]   {$\langle\tau\rangle$};
\node(23)[left=of 24]   {$\langle\tau\sigma^4\rangle$};
\node(22)[left=of 23]   {$\langle\tau\sigma^2\rangle$}; 
\node(21)[left=of 22]   {$\langle\tau\sigma^6\rangle$};
\node(1)[below=of 25]   {$\{1\}$};

\draw(G)--(81)
    (G)--(82)
    (G)--(83)
    (81)--(41)
    (81)--(42)
    (81)--(43)
    (82)--(43)
    (83)--(43)
    (83)--(44)
    (83)--(45)
    (41)--(21)
    (41)--(22)
    (41)--(25)
    (42)--(23)
    (42)--(24)
    (42)--(25)
    (43)--(25)
    (21)--(1)
    (22)--(1)
    (23)--(1)
    (24)--(1)
    (24)--(1)
    (25)--(1);
\end{tikzpicture}

\end{document}

verwandte Informationen