Nachdem ich jetzt einen Stil für Mathe-Nodes habe, und in der Antwort las, man kann Stile vererben, frage ich mich, wie das geht.

Beispielsweise hätte ich gern ausgehend von einem math-Stil dann boldmath- und smallmath-Stile, ohne jedes Mal alle Definitionen zu wiederholen.

Wie geht das, Stile aufeinander aufbauen zu lassen?

gefragt 20 Aug '13, 15:59

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%


Man kann einen bereits definierten Stil einfach in die nächste Definition aufnehmen:

\tikzset{math/.style={execute at begin node=$, execute at end node=$}}
\tikzset{boldmath/.style={math,font=\boldmath}}

Oder etwas feiner, und in einem \tikzset zusammengefasst:

\tikzset{%
  math/.style={execute at begin node=$, execute at end node=$},
  bold/.style={font=\boldmath},
  boldmath/.style={bold,math}
}

Weitergetrieben für kleine, rote und mathematische Knoten und als Komplettbeispiel zum Probieren, basierend auf dem Code Deiner oben verlinkten Frage:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\newcommand*{\mal}{\mathbin{\raisebox{0.4ex}{\scriptsize$\otimes$}}}
\tikzset{%
  red/.style={color=red},
  math/.style={execute at begin node=$, execute at end node=$},
  boldmath/.style={math,font=\boldmath},
  small/.style={font=\small},
  smallmath/.style={math,small},
  redsmallmath/.style={red,small,math}
}
\begin{document}
\begin{tikzpicture}[node distance=3em]
  \node[math] (A) {A^2};
  \node[boldmath] [base right = of A] (AxA) {A\mal A};
  \draw (A.east |- AxA) edge [->] node [above,redsmallmath] {\scriptstyle\varphi} (AxA);
\end{tikzpicture}
\end{document}

Ausgabe mit kombinierten TikZ-Stilen

Das hat dann eher in sehr komplexen Diagrammen mit verschiedenen Beschriftungstypen Vorteile.

Permanenter link

beantwortet 20 Aug '13, 16:11

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

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

gestellte Frage: 20 Aug '13, 15:59

Frage wurde gesehen: 6,824 Mal

zuletzt geändert: 20 Aug '13, 16:11