我想要 tikz 中的特定节点类型具有特定的文本颜色。目前,我已经为文本颜色定义了一个宏。但我需要在每个节点上继续使用该宏。
有没有更好的解决办法?那么,就像定义节点的背景颜色一样,我们也可以在\tikzstyle
语句中定义文本颜色?
以下是 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}
答案1
您可以使用text=LemonChiffon
选项来指定文本颜色以及font=
要应用的选项。下面,我用应用这两个的选项\bfseries
替换了\whttxt
宏:whttxt
笔记:
- 你应该使用
\tikzset
而\tikzstyle
不是按照应该使用 \tikzset 还是 \tikzstyle 来定义 TikZ 样式?。
代码:
\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}