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 '18, 18:00

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 02 Mär '18, 18: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 '18, 14:00

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 04 Mär '18, 22:19

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

(05 Mär '18, 02: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 ;-)

(05 Mär '18, 02: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 03 Mär '18, 02:01

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 03 Mär '18, 02:01

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730

gestellte Frage: 02 Mär '18, 18:00

Frage wurde gesehen: 4,451 Mal

zuletzt geändert: 05 Mär '18, 02:44