You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, while \ekvparse is alignment safe, \ekvset isn't.
A fix would be possible by putting \ekv@alignsafe at the start of \ekvset and using \ekv@endalignsafe before and another \ekv@alignsafe after every executed user code. This has an estimated performance hit of more than 10%. (This would also require changes in \ekvchangeset, and maybe a few other places)
Unlike with some other key=val parsers (that have some sort of brace bug), category 4 tokens (&) can be parsed without a problem by putting braces around them, so with a slight user adjustment this can be fixed with ease without affecting every other usage of \ekvset. Also, it is possible to use \ekvset in an alignment safe way (see expkv-cs, which does exactly that). And if the code is fully expandable, and \ekvset is the first thing to appear in an alignment cell, & aren't a problem as well (because TeX then scans for \omit during which it doesn't replace &).
Currently I tend to not make \ekvset alignment safe, but am open for discussion.
The text was updated successfully, but these errors were encountered:
Currently, while
\ekvparse
is alignment safe,\ekvset
isn't.A fix would be possible by putting
\ekv@alignsafe
at the start of\ekvset
and using\ekv@endalignsafe
before and another\ekv@alignsafe
after every executed user code. This has an estimated performance hit of more than 10%. (This would also require changes in\ekvchangeset
, and maybe a few other places)Unlike with some other key=val parsers (that have some sort of brace bug), category 4 tokens (
&
) can be parsed without a problem by putting braces around them, so with a slight user adjustment this can be fixed with ease without affecting every other usage of\ekvset
. Also, it is possible to use\ekvset
in an alignment safe way (seeexpkv-cs
, which does exactly that). And if the code is fully expandable, and\ekvset
is the first thing to appear in an alignment cell,&
aren't a problem as well (because TeX then scans for\omit
during which it doesn't replace&
).Currently I tend to not make
\ekvset
alignment safe, but am open for discussion.The text was updated successfully, but these errors were encountered: