Expandable \doifelse tests
Dear list, Motivated by this question on TeX.SX https://tex.stackexchange.com/questions/370868 I was fiddling around with the \doifelse conditionals. I noticed that most of them are not expandable, which makes it very difficult to concatenate them. Here a simple example \starttext \doifelse{a}{% \doifelse{x}{x}{a}{b}% <- evaluates to "a" but not expandable }{yes}{no} \stoptext This outputs "no" even though "a" is equal to "a". Would it be possible to substitute these conditionals by expandable ones? I would volunteer to help make them expandable. Cheers, Henri
\starttext \expdoifelse{a}{\expdoifelse{x}{x}{a}{b}} {yes} {no} \stoptext Wolfgang
Henri Menke mailto:henrimenke@gmail.com 21. Mai 2017 um 10:14 Dear list,
Motivated by this question on TeX.SX https://tex.stackexchange.com/questions/370868 I was fiddling around with the \doifelse conditionals. I noticed that most of them are not expandable, which makes it very difficult to concatenate them. Here a simple example
\starttext
\doifelse{a}{% \doifelse{x}{x}{a}{b}% <- evaluates to "a" but not expandable }{yes}{no}
\stoptext
This outputs "no" even though "a" is equal to "a".
Would it be possible to substitute these conditionals by expandable ones? I would volunteer to help make them expandable.
Cheers, Henri ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
While going through the posts I had stowed away because I found them interesting, I came along this one.
There is not a problem here, just a tiny observation.
In order to work
\doifelse{a}{\doifelse{x}{x}{a}{b}}{yes}{no}
properly it is sufficient that the inner \doifelse is of the expandable kind.
Thus
\doifelse{a}{\expdoifelse{x}{x}{a}{b}}{yes}{no}
yields the same as
\expdoifelse{a}{\expdoifelse{x}{x}{a}{b}}{yes}{no}
Hans van der Meer
On 21 May 2017, at 10:21, Wolfgang Schuster
participants (3)
-
Henri Menke
-
Meer, Hans van der
-
Wolfgang Schuster