alt text

Wie muss ich die Anker setzen, damit es die Bezeichnungen immer außerhalb der Ecken und Seiten hinschreibt?

Etwa so wie bei Ecke Nr. 4.

Öffne in Overleaf
%\documentclass[]{article}
\documentclass[border=5mm, tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
point/.style={circle, radius=2pt, fill=black, inner sep=2pt},    
]
%\def\Ecken{14}
\pgfmathtruncatemacro{\Ecken}{8}
\node (pol) [
draw,  
minimum size=0.9\textwidth,
regular polygon, regular polygon sides=\Ecken,
rotate=360/(2*\Ecken),
]{};

\foreach \n in {1,..., \Ecken} {
\node[point] at (pol.corner \n) {};
\node[draw, anchor=\n*(360/\Ecken)] at (pol.corner \n) {\n};
\node[red, anchor=\n*(360/\Ecken)] at (pol.side \n) {\n};
}
\end{tikzpicture}
\end{document}

gefragt 02 Mär, 12:00

cis's gravatar image

cis
7.8k15161257
Akzeptiert: 71%

bearbeitet 02 Mär, 12:00


Wenn die Forderung nur "immer außerhalb" ist, kannst Du in Deinem Beispiel die Option auto=right verwenden. Sie sorgt dafür, dass Nodes automatisch rechts vom Pfad positioniert werden, für die kein Anker und keine Positionierungsoption angegeben wurde. Im Beispiel bedeutet das, dass die Nodes alle außerhalb des Polygons sind. Wichtig ist außerdem, dass die Nodes relativ zum Pfad positioniert werden. Bei den Nodes in Eckpunkten muss deshalb unbedingt at end oder pos=1 angegeben werden.

Andere Werte für auto wären left (links vom Pfad) und false (Aufheben der automatischen Positionierung).

Öffne in Overleaf
\documentclass[border=5mm, tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
  point/.style={circle, radius=2pt, fill=black, inner sep=2pt},
]
%\def\Ecken{14}
\pgfmathtruncatemacro{\Ecken}{8}
\node (pol) [
  draw,
  minimum size=0.9\textwidth,
  regular polygon, regular polygon sides=\Ecken,
  rotate=360/(2*\Ecken),
]{};

\foreach[remember=\n as \i(initially \Ecken)] \n in {1,...,\Ecken}
  \path[auto=right]% Nodes automatisch rechts vom Pfad positionieren
    (pol.corner \i)--(pol.corner \n)
      node[midway,red]{\i}
      node[at end,draw]{\n}% at end oder pos=1 angeben, damit noch auf dem Pfad
      node[point]{}
;
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 03 Mär, 08:00

esdd's gravatar image

esdd
16.7k83854

bearbeitet 04 Mär, 16:19

Ich hatte mich noch gefragt, was dieses swap bewirkt; mittlerweile ist es aber verschwunden.

(04 Mär, 20:00) cis

swap vertauscht die Rolle von auto=left und auto=right. Ursprünglich stand da auto,swap. Die fehlende Wertangabe bei auto entsprach hier auto=left und mit swap wurde daraus dann das Verhalten von auto=right, weshalb ich das in auto=right geändert habe ;-)

(04 Mär, 20:44) esdd

Hab was gefunden.

Geht mit der komplizierten Verschriebung

Öffne in Overleaf
\node[] at ([shift={({90+(\n-1)*360/\Ecken}:2mm)}]pol.corner \n) {\n};
Permanenter link

beantwortet 02 Mär, 20:01

cis's gravatar image

cis
7.8k15161257

bearbeitet 02 Mär, 20:01

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×608

Frage gestellt: 02 Mär, 12:00

Frage wurde angeschaut: 411 Mal

Zuletzt aktualisiert: 04 Mär, 20:44