当某个键(或宏)从另一个宏获取值时,如何修复该键(或宏)的值

当某个键(或宏)从另一个宏获取值时,如何修复该键(或宏)的值

下面的代码显示了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}

相关内容