summaryrefslogtreecommitdiff
path: root/macros/generic/expkv-bundle/impatient.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/expkv-bundle/impatient.tex')
-rw-r--r--macros/generic/expkv-bundle/impatient.tex56
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}