通过 pgfkeys 设置 tikz 选项

通过 pgfkeys 设置 tikz 选项

我正在使用tcolorbox和使用pgfkeys来设置一些 tikz 选项。但它们似乎不起作用。考虑下面给出的 MWE。如果我使用设置绘制颜色,则\pgfkeys{/tikz/.cd, fill=red, draw=green, color=blue}颜色未设置,并且覆盖层为黑色,好像没有设置颜色。\tikzset和似乎\pgfkeys都不起作用。如果我在\draw命令中设置颜色,它就可以正常工作。缺少什么?

\documentclass{book}
\usepackage{tcolorbox}
\usepackage{lipsum}
\usepackage{hyperref}

\tcbuselibrary{breakable}
\tcbuselibrary{skins}
\tcbuselibrary{listings}

\begin{document}
\tikzset{fill=red, draw=brown}
\begin{tcolorbox}[enhanced,
  overlay={%
    \begin{tcbclipinterior}%
      \pgfkeys{/tikz/.cd, fill=red, draw=green, color=blue}
      \draw[line width=0.5cm] (interior.north west) -- (interior.south east);%
      \draw[line width=0.5cm] (interior.south west) -- (interior.north east);%
    \end{tcbclipinterior}%
}]
\lipsum[1]
\end{tcolorbox}

\end{document}

答案1

我不确定确切的问题,但我认为定义style可以在以后内部使用的没有任何问题overlay

\documentclass{book}
\usepackage{tcolorbox}
\usepackage{lipsum}
\usepackage{hyperref}

\tcbuselibrary{breakable}
\tcbuselibrary{skins}
\tcbuselibrary{listings}

\begin{document}

\tikzset{mystyle/.style={fill=red, draw=brown}}

\begin{tcolorbox}[enhanced,
  overlay={%
    \begin{tcbclipinterior}%
%      \pgfkeys{/tikz/.cd, fill=red, draw=green, color=blue}
      \draw[mystyle,line width=0.5cm] (interior.north west) -- (interior.south east);%
      \draw[mystyle,line width=0.5cm] (interior.south west) -- (interior.north east);%
    \end{tcbclipinterior}%
}]
\lipsum[1]
\end{tcolorbox}

\end{document}

在此处输入图片描述

相关内容