下面的代码显示了key的值constant
随宏的变化\aaa
。
constant
我的问题是:一旦第一次获取值,如何修复键的值\aaa
,以便两个\rule
键都给出相同的规则宽度(此处为 1 英寸)。
梅威瑟:
\documentclass[a4paper]{article}
\usepackage{pgf}
\usepackage{geometry}
\geometry{showframe}
\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
\parindent0pt
\begin{document}
\def\aaa{1in}
\pgfkeys{constant/.initial}
\pgfkeys{constant=\aaa}
\rule{\pgfkeysvalueof{/constant}}{5pt}\\
\def\aaa{2in}
\rule{\pgfkeysvalueof{/constant}}{5pt}
\end{document}
答案1
从评论转换而来:
\pgfkeys{constant/.expand once=\aaa}
。
其中\def\aaa{1in}
,上式等同于\pgfkeys{constant/.expand once=1in}
。