CTAN Comprehensive TeX Archive Network

Directory macros/generic/expkv


# expkv – an expandable key=val implementation

Version 2020-07-04 v1.4

Released under the Project Public License v1.3c or later See http://www.latex-project.org/lppl.txt

Hosted at https://github.com/Skillmon/texexpkv

Copyright (C) 2020 Jonathan P. Spratte

This work may be distributed and/or modified under the conditions of the Project Public License (LPPL), either version 1.3c of this license or (at your option) any later version. The latest version of this license is in the file:


This work is "maintained" (as per LPPL maintenance status) by Jonathan P. Spratte.

This provides an expandable key=val implementation that is somewhat fast, but not the fastest key=val implementation available. It is generic code and completely self-contained. There is a package expkv.sty included to play nice on 's package loading system, but that package is not needed and does not provide more functionality than the generic code in expkv.tex.

A key-defining interface that is not as rudimentary as the macros provided in this package is contained in expkv-def: https://github.com/Skillmon/texexpkv-def

Download the contents of this package in one zip archive (399.5k).

expkv – An expandable key=val implementation

expkv is a minimalistic but fast and expandable <key>=<val> implementation.

It provides two parsing macros:

  • \ekvset{<set>}{<key=val list>} which is comparable to keyval’s \setkeys.
  • \ekvparse<cs1><cs2>{<key=val list>} which can be used inside \expanded and expands to <cs1>{key} and <cs2>{key}{val} for the entries in the <key=val list>.

expkv has predictable brace-stripping behaviour and handles commas and equal signs with category codes 12 and 13 correctly.

A key-defining interface that is not as rudimentary as the macros provided in this package is contained in expkv-def.

Version1.4 2020-07-04
LicensesThe Project Public License 1.3c
Copyright2020 Jonathan P. Spratte
MaintainerJonathan P. Spratte
TDS archiveexpkv.tds.zip
Contained inTeX Live as expkv
MiKTeX as expkv
See alsoexpkv-def
Guest Book Sitemap Contact Contact Author