Code: Select all
\documentclass{article}
\ExplSyntaxOn
\str_new:N \cake_lp
\keys_define:nn { cake_keys }
{
lp .str_set:N = \cake_lp,
lp .default:n = {apple},
lp .initial:n = {apple},
}
\NewDocumentCommand {\cake} { O{apple} }
{
\noindent
\group_begin:
\str_case:nn {#1}
{
{apple} { An~apple~cake }
{carrot} { A~carrot~cake}
}
\group_end:
}
\NewDocumentCommand {\goodie} { O{} }
{
\keys_set:nn {cake_keys} {#1}
\cake [\str_use:N \cake_lp]
}
\ExplSyntaxOff
\begin{document}
\goodie[lp=apple]
\end{document}