在下面的例子中,我尝试了四种方法来通过由 组成的键传递具有参数的宏\pgfkeys
。 但所有方法都不起作用。
我该怎么办?
代码:
\documentclass[a4paper]{article}
\usepackage{xcolor,pgf}
\usepackage{geometry}
\geometry{showframe}
\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
\parindent0pt
\begin{document}
\pgfkeys{
% a/.code=#1,
a/.ecode=\noexpand#1,
% a/.expand once=\noexpand#1,
%a/.initial=#1,
}
\pgfkeys{a=\color}{red} some red-colored text\par
\pgfkeys{a=\makebox}[s]{1in} {some text in a box}
\end{document}
答案1
似乎您想将其存储\color
在宏中,以便稍后重新插入标记。因此,我会选择
\documentclass{article}
\usepackage{pgf}
\pgfkeys{a/.store in = \mycolorfn}
\begin{document}
\pgfkeys{a=\color}\mycolorfn{red} some red-colored text\par
\end{document}
您不能依赖于密钥设置结束时出现的内容:插入了很多标记\pgfkeys
(一般来说,其他密钥处理器也是如此)。