* conTeXt Mkiv: the number of parameters can not be more than 9?
@ 2015-07-05 1:55 土卜皿
2015-07-05 3:40 ` Zhichu Chen
2015-07-05 4:36 ` Jaroslav Hajtmar
0 siblings, 2 replies; 4+ messages in thread
From: 土卜皿 @ 2015-07-05 1:55 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1: Type: text/plain, Size: 507 bytes --]
hi, all
For testing, I have a definition:
\define[9]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9}
context test can work fine, when I modify the above into:
\define[10]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9,#10}
I got a error:
test.tex: ! Illegal parameter number in definition of \DEFINETEST
From StackExchange, I got a answer:
Since ConTeXt is based on TeX, the maximum number of 9 parameters is
inherited
So, in Context mkiv, what should I do for more than 9 parameters?
Thanks!
Best Regards
Dillon
[-- Attachment #1.2: Type: text/html, Size: 6977 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: conTeXt Mkiv: the number of parameters can not be more than 9?
2015-07-05 1:55 conTeXt Mkiv: the number of parameters can not be more than 9? 土卜皿
@ 2015-07-05 3:40 ` Zhichu Chen
2015-07-05 4:06 ` 土卜皿
2015-07-05 4:36 ` Jaroslav Hajtmar
1 sibling, 1 reply; 4+ messages in thread
From: Zhichu Chen @ 2015-07-05 3:40 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1: Type: text/plain, Size: 2099 bytes --]
Hi Dillon,
First of all, I'm against defining such a complex macro, since that can
be very
confusing when you use it. I personal prefer the key-value definition:
\def\DEFINETEST[#1]{%
\getXXXparameters
[paraA=defaultValueForParameterA%
,paraB=% or just empty
,#1]%
\doSomethingWith[\XXXparameter\paraA]%
\doSomethingElse...
}
You might want to refer to the following link and other valuable
materials on the
wiki for more information:
http://wiki.contextgarden.net/System_Macros/Key_Value_Assignments
If you insist on that, I guess you can define a temporary macro inside
your macro.
That's very dirty, but can be a little more efficient? I'm not sure.
I was given to understand that the ConTeXt MKVI now accepts parameters
such as
#position#color rather than meaningless #1#2. I GUESS that's lua-based,
so maybe
it'll break the TeX limitation.
On 07/05/2015 09:55 AM, 土卜皿 wrote:
>
> hi, all
>
> For testing, I have a definition:
>
> |\define[9]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9}|
>
> |context test| can work fine, when I modify the above into:
>
> |\define[10]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9,#10}|
>
> I got a error:
>
> |test.tex: ! Illegal parameter number in definition of\DEFINETEST|
>
> From StackExchange, I got a answer:
>
> Since ConTeXt is based on TeX, the maximum number of 9 parameters is
> inherited
>
> So, in Context mkiv, what should I do for more than 9 parameters?
>
> Thanks!
>
> Best Regards
>
> Dillon
>
>
>
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
--
Best regards,
ℤh𝕚chu ℂh𝕖n
[-- Attachment #1.2: Type: text/html, Size: 9968 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: conTeXt Mkiv: the number of parameters can not be more than 9?
2015-07-05 3:40 ` Zhichu Chen
@ 2015-07-05 4:06 ` 土卜皿
0 siblings, 0 replies; 4+ messages in thread
From: 土卜皿 @ 2015-07-05 4:06 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1: Type: text/plain, Size: 2834 bytes --]
hi,ℤh𝕚chu ℂh𝕖n
Thanks! I will check it later!
Best Regards
Dillon
2015-07-05 11:40 GMT+08:00 Zhichu Chen <chenzhichu@sinap.ac.cn>:
> Hi Dillon,
>
> First of all, I'm against defining such a complex macro, since that can be
> very
> confusing when you use it. I personal prefer the key-value definition:
> \def\DEFINETEST[#1]{%
> \getXXXparameters
> [paraA=defaultValueForParameterA%
> ,paraB=% or just empty
> ,#1]%
> \doSomethingWith[\XXXparameter\paraA]%
> \doSomethingElse...
> }
> You might want to refer to the following link and other valuable materials
> on the
> wiki for more information:
> http://wiki.contextgarden.net/System_Macros/Key_Value_Assignments
>
> If you insist on that, I guess you can define a temporary macro inside
> your macro.
> That's very dirty, but can be a little more efficient? I'm not sure.
>
> I was given to understand that the ConTeXt MKVI now accepts parameters
> such as
> #position#color rather than meaningless #1#2. I GUESS that's lua-based, so
> maybe
> it'll break the TeX limitation.
>
>
> On 07/05/2015 09:55 AM, 土卜皿 wrote:
>
> hi, all
>
> For testing, I have a definition:
>
> \define[9]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9}
>
> context test can work fine, when I modify the above into:
>
> \define[10]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9,#10}
>
> I got a error:
>
> test.tex: ! Illegal parameter number in definition of \DEFINETEST
>
> From StackExchange, I got a answer:
>
> Since ConTeXt is based on TeX, the maximum number of 9 parameters is
> inherited
>
> So, in Context mkiv, what should I do for more than 9 parameters?
>
> Thanks!
>
> Best Regards
>
> Dillon
>
>
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
>
>
>
> --
> Best regards,
> ℤh𝕚chu ℂh𝕖n
>
>
>
> ___________________________________________________________________________________
> 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
>
> ___________________________________________________________________________________
>
[-- Attachment #1.2: Type: text/html, Size: 8949 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: conTeXt Mkiv: the number of parameters can not be more than 9?
2015-07-05 1:55 conTeXt Mkiv: the number of parameters can not be more than 9? 土卜皿
2015-07-05 3:40 ` Zhichu Chen
@ 2015-07-05 4:36 ` Jaroslav Hajtmar
1 sibling, 0 replies; 4+ messages in thread
From: Jaroslav Hajtmar @ 2015-07-05 4:36 UTC (permalink / raw)
To: ntg-context
Hi Dillon
There is also a purely plaintex solutions for example:
% Here is Peter Olsak solution (see TBN:
ftp://math.feld.cvut.cz/olsak/tbn/tbn.pdf - czech only)
\def\terminator{*}
\def\usethereadvalues{}
\newcount\tempnum
\def\readparameters{\tempnum=0\let\next=\readonlyone \next}
\def\readonlyone #1, {\advance\tempnum by 1 \def\param{#1}%
% \the\tempnum - \param\par%
\ifx\param\terminator \let\next=\usethereadvalues
\else\expandafter\def \csname param\the\tempnum\endcsname{#1}%
\fi\next}
\def\var#1{\csname #1\endcsname}
\starttext
% Read any number of parameters, terminator is * now
\readparameters 471-44/2007, 474-44/2007, 464-44/2007, 465-44/2007,
461-44/2007, 472-44/2007, 473-44/2007, 475-44/2007, 469-44/2007,
455-44/2007, AA, BBB, 124, *, %
Parameters are now in macros \type{\var{param1}}, \type{\var{param2}},
\type{\var{param3}}, \dots :
\blank[big]
\dorecurse{16}{parameter \recurselevel is : \var{param\recurselevel}\crlf}
\blank[big]
% OR
% put parameters into macro:
\def\parameters{A, B, XXL, QWE, 123, Hello, End, TeX, Solution, XSE,
Flag, Prague, Paris, New York, last value, *, }
% and now read parameters:
\expandafter\readparameters\parameters
\dorecurse{16}{parameter \recurselevel is : \var{param\recurselevel}\crlf}
\stoptext
Jaroslav Hajtmar
Dne 5. 7. 2015 v 3:55 土卜皿 napsal(a):
>
> hi, all
>
> For testing, I have a definition:
>
> |\define[9]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9}|
>
> |context test| can work fine, when I modify the above into:
>
> |\define[10]\DEFINETEST{#1,#2,#3,#4,#5,#6,#7,#8,#9,#10}|
>
> I got a error:
>
> |test.tex: ! Illegal parameter number in definition of\DEFINETEST|
>
> From StackExchange, I got a answer:
>
> Since ConTeXt is based on TeX, the maximum number of 9 parameters is
> inherited
>
> So, in Context mkiv, what should I do for more than 9 parameters?
>
> Thanks!
>
> Best Regards
>
> Dillon
>
>
>
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-05 4:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-05 1:55 conTeXt Mkiv: the number of parameters can not be more than 9? 土卜皿
2015-07-05 3:40 ` Zhichu Chen
2015-07-05 4:06 ` 土卜皿
2015-07-05 4:36 ` Jaroslav Hajtmar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).