Re: [NTG-context] expansion problem: random location
Henning Hraban Ramm schrieb am 13.09.2019 um 20:41: Am 2019-09-13 um 19:44 schrieb Wolfgang Schuster : Henning Hraban Ramm schrieb am 13.09.2019 um 18:51: Hi, in an example document I’m trying to get pictures of random size and placement. Unfortunately the expansion is over my head: Put the value of the random location in a macro. Thank you! I thought I had tried that, but probably only defining the macro outside of the other… It could have been that you used \def which doesn't work because this will always call the Lua function and you get a new random value but with \edef the result of the first random value is stored in the macro. \def\RandomA{\cldcontext{math.random(1,4)}} \edef\RandomB{\cldcontext{math.random(1,4)}} \starttext \dorecurse{10}{A: \RandomA \quad B: \RandomB\par} \stoptext 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] expansion problem: random location
> Am 2019-09-13 um 19:44 schrieb Wolfgang Schuster > : > > Henning Hraban Ramm schrieb am 13.09.2019 um 18:51: >> Hi, in an example document I’m trying to get pictures of random size and >> placement. >> Unfortunately the expansion is over my head: > Put the value of the random location in a macro. Thank you! I thought I had tried that, but probably only defining the macro outside of the other… Greetlings, Hraban --- https://www.fiee.net http://wiki.contextgarden.net https://www.dreiviertelhaus.de GPG Key ID 1C9B22FD ___ 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 ___
Re: [NTG-context] expansion problem: random location
Henning Hraban Ramm schrieb am 13.09.2019 um 18:51: Hi, in an example document I’m trying to get pictures of random size and placement. Unfortunately the expansion is over my head: % \useMPlibrary[dum] \usemodule[visual] \startluacode local locations = { 'top', 'bottom', 'left', 'right', } function RandomLocation() context(locations[math.random(1,#locations)]) end \stopluacode \newdimen\PicWidth \PicWidth=\textwidth \define[1]\Blindbild{ \getrandomnumber\imgH{1}{9} \PicWidth=\textwidth \doif{#1}{left}{\PicWidth=.4\textwidth} \doif{#1}{right}{\PicWidth=.4\textwidth} \startplacefigure[location={#1},title={#1 \fakewords{3}{20}}] \externalfigure[place #1][width=\PicWidth,height=\dimexpr\textheight * \imgH / 10 \relax] \stopplacefigure } Put the value of the random location in a macro. \define[1]\Blindbild {\edef\PicLocation{#1}% \getrandomnumber\imgH{1}{9}% \PicWidth=\textwidth \doifinset{\PicLocation}{left,right}{\PicWidth=.4\textwidth}% \startplacefigure[location={\PicLocation},title={\PicLocation\space\fakewords{3}{20}}] \externalfigure [place \PicLocation] [width=\PicWidth, height=\dimexpr\textheight * \imgH / 10 \relax] \stopplacefigure} 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
[NTG-context] expansion problem: random location
Hi, in an example document I’m trying to get pictures of random size and placement. Unfortunately the expansion is over my head: % \useMPlibrary[dum] \usemodule[visual] \startluacode local locations = { 'top', 'bottom', 'left', 'right', } function RandomLocation() context(locations[math.random(1,#locations)]) end \stopluacode \newdimen\PicWidth \PicWidth=\textwidth \define[1]\Blindbild{ \getrandomnumber\imgH{1}{9} \PicWidth=\textwidth \doif{#1}{left}{\PicWidth=.4\textwidth} \doif{#1}{right}{\PicWidth=.4\textwidth} \startplacefigure[location={#1},title={#1 \fakewords{3}{20}}] \externalfigure[place #1][width=\PicWidth,height=\dimexpr\textheight * \imgH / 10 \relax] \stopplacefigure } \starttext \dorecurse{3} {\chapter{\fakewords{5}{10}} \dorecurse{3} {\dorecurse{3}{\fakewords{50}{100}\endgraf} \Blindbild{\ctxlua{RandomLocation()}} % expansion!? \dorecurse{2}{\fakewords{50}{100}\endgraf}}} \stoptext %% So the parameter of \Blindbild should get generated at the time of calling the macro, so that #1 stays the same within the macro. In this state the Lua function gets called at every use of #1. Greetlings, Hraban --- https://www.fiee.net http://wiki.contextgarden.net https://www.dreiviertelhaus.de GPG Key ID 1C9B22FD ___ 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 ___