test for (negative) number
Hi, I used '\doifnumberelse' to validate some macro parameters (angle). Sadly it does not work with negative numbers. Is there a similar macro, that also supports negative values? Example: \doifnumberelse {45}{yes}{no}% yes \doifnumberelse{-45}{yes}{no}% no Greetings, Peter
Hi Peter, I recommend using the following handy little idiom: \ctxlua{commands.doifelse(-45 > 0)}{big}{small} % small It lets you do all sorts of things that are tricky in TeX: \ctxlua{ commands.doifelse( string.len( "-45" ) > 5 ) }{long}{short} Cheers, Sietse
On Mon, 20 Aug 2012 20:11:32 +0200, Sietse Brouwer
Hi Peter,
I recommend using the following handy little idiom: \ctxlua{commands.doifelse(-45 > 0)}{big}{small} % small
It lets you do all sorts of things that are tricky in TeX: \ctxlua{ commands.doifelse( string.len( "-45" ) > 5 ) }{long}{short}
Cheers, Sietse
... Has been wikified - "http://wiki.contextgarden.net/Command/doif..." Lukas
Am 21.08.2012 um 08:32 schrieb Procházka Lukáš
On Mon, 20 Aug 2012 20:11:32 +0200, Sietse Brouwer
wrote: Hi Peter,
I recommend using the following handy little idiom: \ctxlua{commands.doifelse(-45 > 0)}{big}{small} % small
It lets you do all sorts of things that are tricky in TeX: \ctxlua{ commands.doifelse( string.len( "-45" ) > 5 ) }{long}{short}
Cheers, Sietse
... Has been wikified -
For functions in the commands namespace you can write e.g. \ctxcommand{doifelse(…)}{…}{…} instead of \ctxlua{commands.doifelse(…)}{…}{…}. Wolfgang
Thanks for all the answers so far. The 'doifelse' should do the trick. I was hoping for a system macro, but if there is none, I have to program it myself. :-) Peter Am 21.08.2012 08:56, schrieb Wolfgang Schuster:
Am 21.08.2012 um 08:32 schrieb Procházka Lukáš
: On Mon, 20 Aug 2012 20:11:32 +0200, Sietse Brouwer
wrote: Hi Peter,
I recommend using the following handy little idiom: \ctxlua{commands.doifelse(-45 > 0)}{big}{small} % small
It lets you do all sorts of things that are tricky in TeX: \ctxlua{ commands.doifelse( string.len( "-45" ) > 5 ) }{long}{short}
Cheers, Sietse
... Has been wikified -
For functions in the commands namespace you can write e.g. \ctxcommand{doifelse(…)}{…}{…} instead of \ctxlua{commands.doifelse(…)}{…}{…}.
Wolfgang ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
... I also found another solution reposter before:
----
\ctxlua{commands.testcase(condition)}
{ If true...}
{If false}
----
Note that both blocks (if-true and if-false) are mandatory.
Considering Wolfgang's last answer, it would be better to write:
----
\ctxcommand{testcase(condition)}
{ If true...}
{If false}
----
Lukas
On Mon, 20 Aug 2012 20:11:32 +0200, Sietse Brouwer
Hi Peter,
I recommend using the following handy little idiom: \ctxlua{commands.doifelse(-45 > 0)}{big}{small} % small
It lets you do all sorts of things that are tricky in TeX: \ctxlua{ commands.doifelse( string.len( "-45" ) > 5 ) }{long}{short}
Cheers, Sietse ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
On 21-8-2012 17:13, Procházka Lukáš wrote:
.... I also found another solution reposter before:
---- \ctxlua{commands.testcase(condition)} { If true...} {If false}
yes, but testcase is an unfortunate name and sort of obsolete (so best use doifelse) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (5)
-
Hans Hagen
-
Peter Rolf
-
Procházka Lukáš
-
Sietse Brouwer
-
Wolfgang Schuster