Wofür verwendet man \romannumeral-Expansion?
Immer wieder stößt man auf _den `\romannumeral`-Trick_: man nützt die Tatsache aus, dass `\romannumeral` auf der Suche nach einer Zahl alles expandiert, bis es auf einen nicht-expandierbaren Token stößt, eber aber selbst zu nichts expandiert, wenn die sich ergebende Zahl negativ ist:
\documentclass{article}
\begin{document}
\def\a{\b}\def\b{\c}\def\c{\d}\def\d{1}
\expandafter\show\romannumeral-`\0\a
\end{document}
zeigt im Log:
> the character 1.
<recently read> 1
l.4 \expandafter\show\romannumeral-`\0\a
Das funktioniert, weil `\romannumeral` nach ``-`\0`` noch keine -- obwohl eigentlich eine komplette Zahl ist (benötigte ein -- weiter nach einem Leerzeichen nach `\0` um den negativen Charakter-Code von `0` zu geben). Diese schaut. (Diese Art der Expansion heißt bei `expl3` (der LaTeX3-Programmierumgebung) _f-type_-Expansion.
_f-type_-Expansion.)
Soweit so gut. Was mir allerdings nicht klar ist: wozu oder wann braucht man diese Art der Expansion? Was sind praktische Beispiele, wo sie eingesetzt wird oder sogar eingesetzt werden muss? (Es scheint ja eine Art „expandierbarer Expansion“ zu sein?)