In meinen TikZ-Grafiken sind die meisten Beschriftungen Symbole, Formeln oder allgemein mathematische Ausdrücke.

Hier ein kleines früheres Beispiel von mir:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\newcommand*{\mal}{\mathbin{\raisebox{0.4ex}{\scriptsize$\otimes$}}}
\begin{document}
\begin{tikzpicture}[node distance=3em]
  \node (A) {$A^2$};
  \node [base right = of A] (AxA) {$A\mal A$};
  \draw (A.east |- AxA) edge [->] node [above] {$\scriptstyle\varphi$} (AxA);
\end{tikzpicture}
\end{document}

Insbesondere bei sehr großen Diagrammen will ich nicht überall die $...$ stehen haben. Ist ja auch fehleranfällig, man könnte die $ mal vergessen.

Kann ich für eine Grafik bzw. einen scope vorgeben, dass die enthaltenen Node-Texte alle im Mathematik-Modus stehen sollen? Oder einen Stil in dieser Weise?

\tikzset{math/.style={...}}
...
\node[math] (A) {A^2};

gefragt 20 Aug '13, 14:58

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%


Man kann am Beginn und Ende einer Knoten-Definition bestimmten Code ausführen lassen:

\tikzset{math/.style={execute at begin node=$, execute at end node=$}}
...
\node[math] (A) {A^2};

Wenn man sowieso Stile für die Knoten hat, kann man den selbst definierten math-Stil auch vererben.

Oder man gibt es für das ganze Bild vor, dann braucht man nicht die Option math:

\begin{tikzpicture}[execute at begin node=$, execute at end node=$]

Wenn man Text- und Mathe-Nodes hat, kann man es auch für einen scope definieren, in dem man dann die Mathe-Nodes schreibt:

\begin{scope}[execute at begin node=$, execute at end node=$]
Permanenter link

beantwortet 20 Aug '13, 15:17

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

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
×76
×76

gestellte Frage: 20 Aug '13, 14:58

Frage wurde gesehen: 10,668 Mal

zuletzt geändert: 20 Aug '13, 15:17