Ich möchte, dass ein bestimmter Knotentyp in Tikz eine bestimmte Textfarbe hat. Derzeit habe ich ein Makro für die Textfarbe definiert. Aber ich muss dieses Makro weiterhin bei jedem Knoten verwenden.
Gibt es nicht eine bessere Lösung? So wie wir die Hintergrundfarbe für einen Knoten definieren, können wir auch die Textfarbe in \tikzstyle
der Anweisung definieren?
Hier ist das MWE:
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\newcommand{\whttxt}[1]{\textbf{\textcolor{LemonChiffon}{#1}}}
\begin{document}
\pagestyle{empty}
% Define block styles
\tikzstyle{block} = [rectangle, draw, fill=black, text width=5em, text centered, rounded corners, minimum height=4em]
\begin{tikzpicture}[node distance=1in]
\node [block] (nodea) {\whttxt{Node A}};
\node [block, below of=nodea] (nodeb) {\whttxt{Node B}};
\end{tikzpicture}
\end{document}
Antwort1
Sie können text=LemonChiffon
die Option zum Festlegen der Textfarbe zusammen mit der font=
Option zum Anwenden verwenden \bfseries
. Unten habe ich das \whttxt
Makro durch die whttxt
Option zum Anwenden dieser beiden ersetzt:
Anmerkungen:
- Sie sollten
\tikzset
anstelle von\tikzstyle
gemäß verwendenSollten \tikzset oder \tikzstyle zum Definieren von TikZ-Stilen verwendet werden?.
Code:
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
%\newcommand{\whttxt}[1]{\textbf{\textcolor{LemonChiffon}{#1}}}
\begin{document}
\pagestyle{empty}
% Define block styles
%\tikzstyle{block} = [rectangle, draw, fill=black, text width=5em, text centered, rounded corners, minimum height=4em]
\tikzset{block/.style={rectangle, draw, fill=black, text width=5em, text centered, rounded corners, minimum height=4em}}
\tikzset{whttxt/.style={text=LemonChiffon, font=\bfseries}}
\begin{tikzpicture}[node distance=1in]
\node [block, whttxt] (nodea) {Node A};
\node [block, below of=nodea, whttxt] (nodeb) {Node B};
\end{tikzpicture}
\end{document}