Re: [NTG-context] Random selection of a word in a set with lua and mkiv
On 8-6-2011 10:12, Otared Kavian wrote: Thank you very much for your quick thoughts and solutions! It is amazing how fast one gets a solution to one's problem on this list… well, this was an easy one -) Just a note for Mathieu: I think that \enableregime[il1] depends on the input encoding ... regimes are still supported but indeed all ends up in utf internally Hans - 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 - ___ 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 ___
Re: [NTG-context] Random selection of a word in a set with lua and mkiv
Dear Hans, dear Mathieu, Thank you very much for your quick thoughts and solutions! It is amazing how fast one gets a solution to one's problem on this list… Just a note for Mathieu: I think that \enableregime[il1] is not needed in mkiv, since a unicode regime is the default there (however with mkii I use \enableregime[utf] but in the case we are discussing, one has to use lua, so mkiv is mandatory). Best regards: OK On 8 juin 2011, at 19:00, Mathieu Dupont wrote: > > This following code works, except that the first random is always the same > (Analysis) for some reason. > > Anyone knows why ? > > \enableregime[il1] > \starttext > \startluacode > userdata = userdata or {} > math.randomseed( os.time() ) > function userdata.random(...) > context(arg[math.random(1, #arg)]) > end > \stopluacode > \def\CHOOSERANDOM#1{\ctxlua{userdata.random(#1)}} > \dorecurse{10}{\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", > "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}\par} > \stoptext > > > > Mathieu > > > > > > From: ota...@gmail.com > > Date: Wed, 8 Jun 2011 18:52:36 +0200 > > To: ntg-context@ntg.nl > > Subject: [NTG-context] Random selection of a word in a set with lua and mkiv > > > > Hi all, > > > > Assuming that we have a set of words or expressions, say > > {Maths, Physics, Algebra, Analysis, Chemistry, Geometry, Wave equation, > > Schrödinger equation} > > is it possible to write a lua function, named for instance > > randomselectword > > which returns one of the words or expressions selected at random in the > > above set? > > Indeed this is intended to be used in a TeX file processed with mkiv. > > > > Thanks in advance for any idea and help. > > > > Best regards: OK > > ___ > > 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 > ___ %% Otared Kavian Département de Mathématiques Université de Versailles Saint-Quentin Bâtiment Fermat 45 avenue des Etats Unis 78035 Versailles cedex Téléphone: +33 1 39 25 46 42 Secrétariat: +33 1 39 25 46 44 Secrétariat: +33 1 39 25 46 46 e-mail: otared.kav...@math.uvsq.fr ___ 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 ___
Re: [NTG-context] Random selection of a word in a set with lua and mkiv
I see.So it can be fixed by simply adding the first line before the second :\CHOOSERANDOM{""}\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}Thanks, that fixes one of my problems ! Mathieu > Date: Wed, 8 Jun 2011 19:07:50 +0200 > From: pra...@wxs.nl > To: ntg-context@ntg.nl > CC: mathieudup...@hotmail.com > Subject: Re: [NTG-context] Random selection of a word in a set with lua and > mkiv > > On 8-6-2011 7:00, Mathieu Dupont wrote: > > > > > > This following code works, except that the first random is always the same > > (Analysis) for some reason. > > Anyone knows why ? > > \enableregime[il1]\starttext\startluacode userdata = userdata or {} > > math.randomseed( os.time() )function userdata.random(...) > > context(arg[math.random(1, #arg)]) > > end\stopluacode\def\CHOOSERANDOM#1{\ctxlua{userdata.random(#1)}}\dorecurse{10}{\CHOOSERANDOM{"Maths", > > "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave > > equation", "Schrödinger equation"}\par}\stoptext > > Because context remembers the seed (is reported in the log). Delete the > tuc file and you will get another value. We could get oscillation > otherwise. > > > - >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 > - ___ 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 ___
Re: [NTG-context] Random selection of a word in a set with lua and mkiv
On 8-6-2011 7:00, Mathieu Dupont wrote: This following code works, except that the first random is always the same (Analysis) for some reason. Anyone knows why ? \enableregime[il1]\starttext\startluacode userdata = userdata or {} math.randomseed( os.time() )function userdata.random(...) context(arg[math.random(1, #arg)]) end\stopluacode\def\CHOOSERANDOM#1{\ctxlua{userdata.random(#1)}}\dorecurse{10}{\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}\par}\stoptext Because context remembers the seed (is reported in the log). Delete the tuc file and you will get another value. We could get oscillation otherwise. - 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 - ___ 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 ___
Re: [NTG-context] Random selection of a word in a set with lua and mkiv
This following code works, except that the first random is always the same (Analysis) for some reason. Anyone knows why ? \enableregime[il1]\starttext\startluacode userdata = userdata or {} math.randomseed( os.time() )function userdata.random(...) context(arg[math.random(1, #arg)]) end\stopluacode\def\CHOOSERANDOM#1{\ctxlua{userdata.random(#1)}}\dorecurse{10}{\CHOOSERANDOM{"Maths", "Physics", "Algebra", "Analysis", "Chemistry", "Geometry", "Wave equation", "Schrödinger equation"}\par}\stoptext Mathieu > From: ota...@gmail.com > Date: Wed, 8 Jun 2011 18:52:36 +0200 > To: ntg-context@ntg.nl > Subject: [NTG-context] Random selection of a word in a set with lua and mkiv > > Hi all, > > Assuming that we have a set of words or expressions, say > {Maths, Physics, Algebra, Analysis, Chemistry, Geometry, Wave equation, > Schrödinger equation} > is it possible to write a lua function, named for instance > randomselectword > which returns one of the words or expressions selected at random in the above > set? > Indeed this is intended to be used in a TeX file processed with mkiv. > > Thanks in advance for any idea and help. > > Best regards: OK > ___ > 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 ___
Re: [NTG-context] Random selection of a word in a set with lua and mkiv
On 8-6-2011 6:52, Otared Kavian wrote: Hi all, Assuming that we have a set of words or expressions, say {Maths, Physics, Algebra, Analysis, Chemistry, Geometry, Wave equation, Schrödinger equation} is it possible to write a lua function, named for instance randomselectword which returns one of the words or expressions selected at random in the above set? Indeed this is intended to be used in a TeX file processed with mkiv. something function document.r(str) local set = utilities.parsers.settings_to_array(str) context(set[math.round(math.random(1,#set))]) end \ctxlua{document.r("math physics")} (untested) - 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 - ___ 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 ___
[NTG-context] Random selection of a word in a set with lua and mkiv
Hi all, Assuming that we have a set of words or expressions, say {Maths, Physics, Algebra, Analysis, Chemistry, Geometry, Wave equation, Schrödinger equation} is it possible to write a lua function, named for instance randomselectword which returns one of the words or expressions selected at random in the above set? Indeed this is intended to be used in a TeX file processed with mkiv. Thanks in advance for any idea and help. Best regards: OK ___ 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 ___