diff options
Diffstat (limited to 'macros/generic/expkv-bundle/impatient.tex')
-rw-r--r-- | macros/generic/expkv-bundle/impatient.tex | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/macros/generic/expkv-bundle/impatient.tex b/macros/generic/expkv-bundle/impatient.tex new file mode 100644 index 0000000000..b3d62b07fa --- /dev/null +++ b/macros/generic/expkv-bundle/impatient.tex @@ -0,0 +1,56 @@ +\addsec{\expkvbundle\ for the Impatient} + +This section gives a very brief and non-exhaustive overview over the contents of +the \expkvbundle. For more information (and more functionality) you'll have to +read the sections of the packages you're interested in. + +\expkvbundle\ supports expansion control in \kv\ lists. The corresponding +syntax and features are documented in \autoref{sec:expkv:expansion}. + +The following user interface macros (and more) are available in the different +packages of the bundle: +\paragraph{Defining keys} +\begin{itemize} + \item \cs[no-index]{ekvdefinekeys}\marg{set}\texttt{\kvarg} + defines the keys in the \kv\ list, many common key types are available + (\autoref{sec:d:macros} and for the types \autoref{sec:d:types}). + \item \cs[no-index]{ekvdef}\marg{set}\marg{key}\marg{code} + defines the behaviour of a \Vkey\ (\autoref{sec:expkv:setup}). + \item \cs[no-index]{ekvdefNoVal}\marg{set}\marg{key}\marg{code} + defines the behaviour of a \Nkey\ (\autoref{sec:expkv:setup}). +\end{itemize} +\paragraph{Parsing \kv\ lists} +\begin{itemize} + \item \cs[no-index]{ekvset}\marg{set}\texttt{\kvarg} + sets defined keys (\autoref{sec:expkv:set}). + \item \cs[no-index]{ekvparse}\marg{k-code}\marg{kv-code}\texttt{\kvarg} + parses the \kv\ list and runs \meta{k-code} or \meta{kv-code} on the + elements (\autoref{sec:expkv:parse}). +\end{itemize} +\paragraph{Defining expandable \kv\ macros} +\begin{itemize} + \item \cs[no-index]{ekvcSplit}\meta{cs}\texttt{\kvarg}\marg{code} + defines a fully expandable macro with the keys in the \kv\ list, + values are accessed by |#1| to |#9| (\autoref{sec:c:split}). + \item \cs[no-index]{ekvcHash}\meta{cs}\texttt{\kvarg}\marg{code} + defines a fully expandable macro with the keys in the \kv\ list, + values are accessed using \cs[no-index]{ekvcValue}\hskip0pt\marg{key}|{#1}| + (\autoref{sec:c:hash}). + \item \cs[no-index]{ekvcSecondaryKeys}\meta{cs}\texttt{\kvarg} + defines additional keys of predefined types for a \meta{cs} defined with + \cs[no-index]{ekvcSplit} or \cs[no-index]{ekvcHash} + (\autoref{sec:c:secondary} and for the types + \autoref{sec:c:secondarytypes}). +\end{itemize} +\paragraph{Parsing options} (\autoref{sec:o:macros}) +\begin{itemize} + \item \cs[no-index]{ekvoProcessOptions}\marg{set} + processes the global options, and the options given to the current and + all future calls of the package. + \item \cs[no-index]{ekvoProcessGlobalOptions}\marg{set} + processes the global options. + \item \cs[no-index]{ekvoProcessLocalOptions}\marg{set} + processes the local options of a package or class. + \item \cs[no-index]{ekvoProcessFutureOptions}\marg{set} + processes the options of future calls of the package. +\end{itemize} |