BEARBEITEN

BEARBEITEN
\documentclass[border=2mm, tikz]{standalone}    
\usetikzlibrary{shapes.geometric}    
\begin{document}
\begin{tikzpicture}[    
   x=7.5mm,y=4.34mm,    
   box/.style={    
      regular polygon,  
      regular polygon sides=6,         
      minimum size=10mm,           
      inner sep=0mm, outer sep=0mm,    
      draw}
 ]
\node [box] (innerbox) {};    
\foreach \x [evaluate=\x as \y using {int(ifthenelse(\x+2>6,\x-4,\x+2))}] in {1,...,6}     
 \node [box,anchor=corner \y] at (innerbox.corner \x) {};    
\end{tikzpicture}    
\end{document}

Ich möchte beispielsweise die Sechsecke wie in der folgenden Abbildung benennen: Bildbeschreibung hier eingeben

Antwort1

Ihr Code kann so nicht kompiliert werden. Bitte überprüfen Sie, ob der Code kompiliert wird, bevor Sie ein Beispiel posten, es sei denn, die Frage lautet, dass er nicht kompiliert wird. Stellen Sie in diesem Fall sicher, dass der Fehler auftritt, nach dem Sie gefragt haben.

Dieser Code kann bei Ihnen unmöglich funktionieren. Er kann die angezeigte Ausgabe unmöglich fehlerfrei erzeugen, da er an allen möglichen zufälligen, seltsamen Stellen Absatzumbrüche enthält, was zu einem Fehler nach dem anderen führt.

Zur Frage: Warum können Sie nicht einfach eine zweite Variable in der Schleife verwenden?

\documentclass[border=5pt, tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
  x=7.5mm,y=4.34mm,
  box/.style={
    regular polygon,
    regular polygon sides=6,
    minimum size=10mm,
    inner sep=0mm, outer sep=0mm,
    draw}
  ]
  \node [box] (innerbox) {g};
  \foreach \i/\j [evaluate=\i as \k using {int(ifthenelse(\i+2>6,\i-4,\i+2))}] in {1/a,2/b,3/c,4/d,5/e,6/f}
  \node [box,anchor=corner \k] at (innerbox.corner \i) {\j};
\end{tikzpicture}
\end{document}

Bienenwabe

BEARBEITEN

Sie können die Dinge auch vereinfachen, sodass Sie nur die Namen für die Knoten angeben müssen. Beispiel:

\documentclass[border=5pt, tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
  box/.style={
    regular polygon,
    regular polygon sides=6,
    minimum size=10mm,
    inner sep=0mm,
    outer sep=0mm,
    inner color=orange!75!red!50!yellow,
    outer color=orange!75!red!75!yellow,
    draw=orange,
    text=red,
  },
  ]
  \node [box] (innerbox) {7};
  \foreach \i [count=\k from 0, evaluate=\k as \j using {int(60*\k+30)}, evaluate=\j as \l using {(int(\j+180))} ] in {10,6,4,3,1,9}
  \node (h\k) [box,  anchor=\l] at (innerbox.\j) {\i};
\end{tikzpicture}
\end{document}

ergibt (für die Bienen) folgendes:

Waben für Bienen

verwandte Informationen