Hallo,

ich probiere die Position einer node mit Hilfe der Position der vorherigen Node und einer vorher festgelegten Variablen zu berechnen.

Zunächst wird ein Kreis mit dem Durchmesser diameter erstellt. Neben diesem Kreis möchte ich im Abstand diameter*0,5+1 eine node erstellen.

Hier der Code:

Öffne in Overleaf
    \begin{tikzpicture}
   \def\diameter{3cm};
\def\length{($ \diameter*0.5+1$)};
\coordinate (t) at (3.5,9);
\node at ($(t) -(0,\ength) $){\fontsize{24}{22.4}\selectfont $A$};

Problem ist die letzte Zeile length es kommen nur Fehlermeldung Unkown operator...

Leider sehe ich den Fehler nicht...

Danke

gefragt 22 Jun '17, 17:31

HWsler's gravatar image

HWsler
1111
Akzeptiert-Rate: 0%

Könntest Du bitte ein Minimalbeispiel einfügen? Also ein möglichst kurzes, aber komplettes Dokument, von \documentclass{...} bis zu \end{document}, was das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist eine Garantie für eine Lösung. Ohne das Minimalbeispiel kann ich nur darauf hinweisen, dass man Berechnungen für TikZ am besten mit pgfmath (siehe das pgf-Manual) macht und dass in der letzten Zeile statt \length, \ength steht. Außerdem ist die Verwendung von \def in LaTeX natürlich mit Gefahren verbunden.

(22 Jun '17, 19:50) saputello

Öffne in Overleaf
\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  \def\diameter{3cm}

  \draw (0,0) circle[radius=.5*\diameter];

  % .5*\diameter+1 vom Kreismittelpunkt
  \path (0,0) +(.5*\diameter+1cm,0) node[font=\Large] {$A$};

  % .5*\diameter+1 vom Kreisbogen
  \path (.5*\diameter,0) +(.5*\diameter+1cm,0) node[font=\Large] {$B$};
\end{tikzpicture}

\end{document}

alt text

Man kann auch die calc-Bibliothek verwenden, aber da gefällt mir persönlich die Syntax nicht so.

Öffne in Overleaf
\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
  \def\diameter{3cm}

  \draw (0,0) circle[radius=.5*\diameter];

  % .5*\diameter+1 vom Kreismittelpunkt
  \node[font=\Large] at ($(0,0)+(.5*\diameter+1cm,0)$) {$A$};

  % .5*\diameter+1 vom Kreisbogen
  \node[font=\Large] at ($(.5*\diameter,0)+(.5*\diameter+1cm,0)$) {$B$};
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 23 Jun '17, 01:12

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 23 Jun '17, 01:14

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:

×728
×16

gestellte Frage: 22 Jun '17, 17:31

Frage wurde gesehen: 11,278 Mal

zuletzt geändert: 23 Jun '17, 01:14