How can I apply a default set of keys at the start of each environment ?
Code: Select all
\documentclass[a4paper,10pt]{article}
\usepackage{xcolor}
\usepackage{enumitem}
\ExplSyntaxOn
\makeatletter
\setlistdepth{13}
\newlist{wvTlaps}{enumerate}{13}
\setlist[wvTlaps]
{
label=$\langle$\the\enit@depth$\rangle$\arabic*.,
left=0pt, parsep=0pt, itemindent=8pt,
}
\makeatother
\tl_new:N \tlapis_kl_tl
\tl_new:N \tlapis_lv_tl
\keys_define:nn { tlapis_keys }
%% Define Key-Value Interface within namespace tlapis_keys.
{
kl .tl_set:N = \tlapis_kl_tl,
kl .default:n = {red},
kl .initial:n = {red},
lv .tl_set:N = \tlapis_lv_tl,
lv .default:n = {},
lv .initial:n = {},
}
\NewDocumentEnvironment {wvTlapis} { O{} }
{
\keys_set:nn {tlapis_keys} {#1}
\tl_if_empty:NTF {\tlapis_lv_tl}
{
\begin{wvTlaps}[format=\color{\tlapis_kl_tl}]
}
{
\begin{wvTlaps}
[format=\color{\tlapis_kl_tl},
label=$\langle$\tlapis_lv_tl$\rangle$\arabic*.]
}
}
{ \end{wvTlaps} }
\ExplSyntaxOff
\begin{document}
\begin{wvTlapis}
\item First level
\begin{wvTlapis}[kl=green]
\item Second level
\begin{wvTlapis}
\item Third level
\end{wvTlapis}
\end{wvTlapis}
\end{wvTlapis}
\end{document}