निरंजन
In continuation to the [older post](https://topanswers.xyz/tex?q=2114), this post is targeted to the review of key-value interface of package `linguistix`. I am now pretty convinced that `expkv` family is brilliant at handling key-values for different purposes and hence I have shifted from `xkeyval` to `expkv` completely. The old `expex` package uses `xkeyval`. Though the git repository and the complete .sty is shared in the previous post, the following is the code I have used for developing keys for `linguistix`. There are MANY more from `expex` yet to appear in linguistix, but I think the mechanism will remain the same. Any comments regarding developing the following code are welcomed.
```
\ekvdefinekeys{lingset}{%
skip aboveexskip = {\lng@aboveexskip},
skip belowexskip = {\lng@belowexskip},
skip numoffset = {\lng@numoffset},
skip textoffset = {\lng@textoffset},
skip labeloffset = {\lng@labeloffset},
skip belowglpreambleskip = {\lng@belowglpreambleskip},
skip aboveglpreambleskip = {\lng@aboveglpreambleskip},
skip aboveglftskip = {\lng@aboveglftskip},
store everygla = {\lng@gla@font},
new code exnoformat = {%
\def\lng@exnoformat{%
{%
\lng@replace{X}{#1}%
}%
}%
},
new code labelformat = {%
\def\lng@labelformat{%
{%
\lng@replace{A}{#1}%
}%
}%
},
choice style = {%
wrap = {\def\lng@begingl@style{wrap}},%
nlevel = {\def\lng@begingl@style{nlevel}}%
}
}
\ekvoProcessLocalOptions{lingset}
\NewDocumentCommand{ \lingset }{ m }{%
\ekvset{lingset}{#1}%
}
\lingset{%
aboveexskip = {2.7ex plus 0.8ex minus 0.8ex},%
belowexskip = {2.7ex plus 0.8ex minus 0.8ex},%
exnoformat = {(X)},%
everygla = {\normalfont},%
labelformat = {A.},%
numoffset = {0pt},%
textoffset = {1em},%
labeloffset = {1em},%
belowglpreambleskip = {1ex},%
aboveglpreambleskip = {1ex},%
aboveglftskip = {1ex}%
}
```