更改 tkz-base 中的默认颜色

更改 tkz-base 中的默认颜色

我正在寻找一种使用包时将黑色改为白色的方法tkz,我最常用的是tkz-fcttkz-euclide

有没有办法可以随意改变文本、背景、填充等的颜色?

\documentclass[tikz,border=1cm]{standalone}

\usepackage{tkz-fct}
\usepackage{mismath}
\usepackage{tikz-layers}

\begin{document}
    \begin{tikzpicture}
            
        \tkzInit[xmin=-5, xmax=5, ymin=-5, ymax=5]
        \tkzDrawX[noticks, label=\(\Re\left(z\right)\),below right,thick]
        \tkzDrawY[noticks, label=\(\Im\left(z\right)\),thick]
        \tkzDefPoints{0/0/O}\tkzLabelPoints[below left](O)
        
        \begin{scope}[on background layer]
            \fill[black,opacity=.2,inner sep=2mm](current bounding box.north west) rectangle (current bounding box.south east);
        \end{scope}
        
    \end{tikzpicture}
\end{document}

答案1

我查看了文档并发现其中有tkz-base.cfg以下几行:

%<------   colors  ---------------------------------------–>
\def\tkz@backgroundcolor{white}
\def\tkz@textcolor{black}
%<---------------------------------------------------------
\def\tkz@fillcolor{\tkz@backgroundcolor}
\def\tkz@mainlinecolor{\tkz@textcolor}
\def\tkz@otherlinecolor{\tkz@mainlinecolor!50}

我们可以通过覆盖文档中的定义来更改这些颜色。因为颜色名称包含@我们需要的符号\makeatletter\makeatother,如下所示:

解决方案 根据 Marijn 的评论

\documentclass[tikz,border=1cm]{standalone}

\usepackage{tkz-fct}
\usepackage{mismath}
\usepackage{tikz-layers}

\makeatletter
   \def\tkz@textcolor{white}
\makeatother

\begin{document}
    \begin{tikzpicture}
        \tkzInit[xmin=-5, xmax=5, ymin=-5, ymax=5]
        \tkzDrawX[noticks, label=\(\Re\left(z\right)\),below right,thick]
        \tkzDrawY[noticks, label=\(\Im\left(z\right)\),thick]
        \tkzDefPoints{0/0/O}\tkzLabelPoints[below left](O)
        
        \begin{scope}[on background layer]
            \fill[black,opacity=.2,inner sep=2mm](current bounding box.north west) rectangle (current bounding box.south east);
        \end{scope}
    \end{tikzpicture}
\end{document}

相关内容