The big difference is that l3keys first grabs an argument and then
sanitizes "=" and "," inside that argument. Here at some point the
command you define must grab an argument delimited by ">". Given how
TeX works, we need to know what category code this ">" will have. In
principle it could be conceivable to do that depending on the category
code of the "<" that started the argument, or depending on the current
category code of ">", but that adds quite a lot of complexity to xparse,
so I'm not keen on it if there are other ways.
What happens if you do your definition \AtBeginDocument? Does babel
turn on shorthands too late for that?
On 04/22/2017 11:37 AM, Benedikt Vitecek wrote:
> I fear moving the definition is not as easy as I am defining this construction inside a package (sorry for not mentioning this).
> Is there a way to do something like the l3keys package which (as far as I understand it) sanitizes the comma and the = sign
> (just for < and >)?
>> Am 21.04.2017 um 19:14 schrieb Frank Mittelbach <[log in to unmask]>:
>> it is more or less what babel does (only after begin document), the point is not that it is difficult to solve his particular problem, for which is is enough to move the definition or to make < active before it or ... the problem I was pointing out is the difficulty of a general interface solution that works out of the box.
>> Again as such that is not impossible at all, but is much more than an adhoc fix, as I said, there are reasons why babel delays making things active and those reasons need to be taken into account for a general solution.