Code Review
add tag
निरंजन
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}%
}
```

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.