A property is a name/value pair associated with another symbol, traditionally called an atom. Both atom and property names are control sequence names.
Eplain provides two macros for dealing with property lists:
\setproperty
and \getproperty
.
\setproperty atom propname value
\setproperty
defines the property property on the atom
atom to be value. atom and propname can be
anything acceptable to \csname
. value can be anything.
\getproperty atom propname
\getproperty
expands to the value stored for propname on
atom. If propname is undefined, it expands to nothing
(i.e., \empty
).
The idea of properties originated in Lisp (I believe). There, the implementation truly does associate properties with atoms. In TeX, where we have no builtin support for properties, the association is only conceptual.
The following example typesets `xyz'.
\setproperty{a}{pr}{xyz} \getproperty{a}{pr}