在以下 MWE 中
\documentclass{article}
\usepackage{tikz}
\begin{document}
\color{gray}
Gray point \(X\)
\[ A = B\]
\normalcolor
Black point \(Y\)
\[ C = D\]
\begin{tikzpicture}
\node at (0,0) {Test};
\end{tikzpicture}
\end{document}
我使用\color
命令将颜色更改为灰色,然后\normalcolor
改回默认颜色。这适用于文本和方程式,但由于某种原因,不适用于 tikzpicture 中的节点。我预计 tikzpictures 中的默认颜色会改回黑色。
这是预期的行为吗?如何重置 tikz 的默认颜色?
我知道我可以用 来包围该\color
语句\begingroup -- \endgroup
,但是我不想这样做,因为添加组会破坏我的特定应用程序。
答案1
作为乌尔里克·费舍尔在下面的评论中指出,这是一个错误xcolor
(它的定义\normalcolor
有缺陷,它不会更新.
颜色。)。
这是一个解决方法:
\documentclass{article}
\usepackage{tikz}
\AtBeginDocument{\colorlet{normalcolor}{.}\def\normalcolor{\color{normalcolor}}} % workaround
\begin{document}
\color{gray}
Gray point \(X\)
\[ A = B\]
\normalcolor
Black point \(Y\)
\[ C = D\]
\begin{tikzpicture}
\node at (0,0) {Test};
\end{tikzpicture}
\end{document}