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
TikZ 스타일을 정의하려면 \tikzset 또는 \tikzstyle을 사용해야 합니까?.
암호:
\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}