pgfkeys:将参数转发给其他命令

pgfkeys:将参数转发给其他命令

在以下 MWE 中,我想将键值对列表转发给\node命令。我尝试将列表存储在中\nodeparam,但这似乎不起作用:

\documentclass{article}

\usepackage{tikz,pgfkeys}

\pgfkeys{
    /absolutenode/.is family, /absolutenode,
    default/.style = {},
    node/.store in = \nodeparam,
}

\newcommand\absolutenode[2][]{%
    \pgfkeys{/absolutenode, default, #1}%
    \tikz[]{%
        \node[\nodeparams] {#2};
    }
}

\begin{document}
    \absolutenode[node={draw=black, fill=green}]{Test}
\end{document}

我怎样才能将列表“转发”{draw=black, fill=green}\node[]

答案1

这可能不是您想要的,但至少这可以让您做您想做的事情,并希望让其他人更好地理解您的问题。(我不了解全貌,即我很难看出这最终应该有什么好处。)

\documentclass{article}

\usepackage{tikz,pgfkeys}

\pgfkeys{
    /absolutenode/.is family, /absolutenode/.cd,
    default/.style = {},
    node/.code=\tikzset{mynodestyle/.style={#1}},
}

\newcommand\absolutenode[2][]{%
    \pgfkeys{/absolutenode, default, #1}%
    \tikz[]{%
        \node[mynodestyle] {#2};
    }
}

\begin{document}
    \absolutenode[node={draw=black, fill=green}]{Test}
\end{document}

相关内容