* combination with lua @ 2021-10-11 11:38 Adam Reviczky via ntg-context 2021-10-12 12:12 ` Hans Hagen via ntg-context 0 siblings, 1 reply; 4+ messages in thread From: Adam Reviczky via ntg-context @ 2021-10-11 11:38 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Adam Reviczky [-- Attachment #1.1: Type: text/plain, Size: 1490 bytes --] Hi, I am trying to use a combination figure with luacode (both with latest MKIV and LMTX). However, the figures do not line up in the grid of the combination. I get the correct result with examples 1 and 2 below, but example 3 using lua functions for combination and externalfigure is what I wanted to use in the first place. MWE: \starttext \startluacode -- Combination 1 context.startplacefigure({title = "Figure"}) context.startcombination({nx = "2", ny = "2"}, "\\externalfigure[cow][width=50mm]","Caption 1", "\\externalfigure[cow][width=50mm]","Caption 2", "\\externalfigure[cow][width=50mm]","Caption 3", "\\externalfigure[cow][width=50mm]","Caption 4" ) context.stopcombination() context.stopplacefigure() -- Combination 2 context.startplacefigure({title = "Figure"}) context.startcombination({nx = "2", ny = "2"}, "Picture 1","Caption 1", "Picture 2","Caption 2", "Picture 3","Caption 3", "Picture 4","Caption 4" ) context.stopcombination() context.stopplacefigure() -- Combination 3 context.startplacefigure({title = "Figure"}) context.startcombination({nx = "2", ny = "2"}, context.externalfigure({"cow"},{width = "50mm"}),"Caption 1", context.externalfigure({"cow"},{width = "50mm"}),"Caption 2", context.externalfigure({"cow"},{width = "50mm"}),"Caption 3", context.externalfigure({"cow"},{width = "50mm"}),"Caption 4" ) context.stopcombination() context.stopplacefigure() \stopluacode \stoptext Any hints on what I am doing wrong in example 3? Thanks, Adam [-- Attachment #1.2: Type: text/html, Size: 2222 bytes --] [-- Attachment #2: Type: text/plain, Size: 493 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: combination with lua 2021-10-11 11:38 combination with lua Adam Reviczky via ntg-context @ 2021-10-12 12:12 ` Hans Hagen via ntg-context 2021-10-12 15:22 ` Wolfgang Schuster via ntg-context 0 siblings, 1 reply; 4+ messages in thread From: Hans Hagen via ntg-context @ 2021-10-12 12:12 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Hans Hagen, Adam Reviczky On 10/11/2021 1:38 PM, Adam Reviczky via ntg-context wrote: > Hi, > > I am trying to use a combination figure with luacode (both with latest > MKIV and LMTX). > However, the figures do not line up in the grid of the combination. > > I get the correct result with examples 1 and 2 below, but example 3 > using lua functions for combination and externalfigure is what I wanted > to use in the first place. > > MWE: > > \starttext > > \startluacode > > -- Combination 1 > context.startplacefigure({title = "Figure"}) > context.startcombination({nx = "2", ny = "2"}, > > "\\externalfigure[cow][width=50mm]","Caption 1", > "\\externalfigure[cow][width=50mm]","Caption 2", > "\\externalfigure[cow][width=50mm]","Caption 3", > "\\externalfigure[cow][width=50mm]","Caption 4" > ) > > context.stopcombination() > context.stopplacefigure() > > -- Combination 2 > > context.startplacefigure({title = "Figure"}) > context.startcombination({nx = "2", ny = "2"}, > > "Picture 1","Caption 1", > "Picture 2","Caption 2", > "Picture 3","Caption 3", > "Picture 4","Caption 4" > ) > > context.stopcombination() > context.stopplacefigure() > > -- Combination 3 > > context.startplacefigure({title = "Figure"}) > context.startcombination({nx = "2", ny = "2"}, > > context.externalfigure({"cow"},{width = "50mm"}),"Caption 1", > context.externalfigure({"cow"},{width = "50mm"}),"Caption 2", > context.externalfigure({"cow"},{width = "50mm"}),"Caption 3", > context.externalfigure({"cow"},{width = "50mm"}),"Caption 4" > ) > > context.stopcombination() > context.stopplacefigure() > > \stopluacode > \stoptext > > Any hints on what I am doing wrong in example 3? as in any prodedural language a function as argument gets immediately executed so you need to delay: context.startplacefigure({title = "Figure"}) context.startcombination({nx = "2", ny = "2"}, context.delayed.externalfigure({"cow"},{width = "50mm"}), "Caption 1", context.delayed.externalfigure({"cow"},{width = "50mm"}), "Caption 2", context.delayed.externalfigure({"cow"},{width = "50mm"}), "Caption 3", context.delayed.externalfigure({"cow"},{width = "50mm"}), "Caption 4" ) context.stopcombination() context.stopplacefigure() (this is why encoding complex documents completely in a scrtipt language is non trivial and why for instance these template systems are there because these accumulate) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: combination with lua 2021-10-12 12:12 ` Hans Hagen via ntg-context @ 2021-10-12 15:22 ` Wolfgang Schuster via ntg-context 2021-10-12 16:18 ` Adam Reviczky via ntg-context 0 siblings, 1 reply; 4+ messages in thread From: Wolfgang Schuster via ntg-context @ 2021-10-12 15:22 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Wolfgang Schuster, Adam Reviczky Hans Hagen via ntg-context schrieb am 12.10.2021 um 14:12: > On 10/11/2021 1:38 PM, Adam Reviczky via ntg-context wrote: >> Hi, >> >> I am trying to use a combination figure with luacode (both with >> latest MKIV and LMTX). >> However, the figures do not line up in the grid of the combination. >> >> I get the correct result with examples 1 and 2 below, but example 3 >> using lua functions for combination and externalfigure is what I >> wanted to use in the first place. >> >> MWE: >> >> \starttext >> >> \startluacode >> >> -- Combination 1 >> context.startplacefigure({title = "Figure"}) >> context.startcombination({nx = "2", ny = "2"}, >> >> "\\externalfigure[cow][width=50mm]","Caption 1", >> "\\externalfigure[cow][width=50mm]","Caption 2", >> "\\externalfigure[cow][width=50mm]","Caption 3", >> "\\externalfigure[cow][width=50mm]","Caption 4" >> ) >> >> context.stopcombination() >> context.stopplacefigure() >> >> -- Combination 2 >> >> context.startplacefigure({title = "Figure"}) >> context.startcombination({nx = "2", ny = "2"}, >> >> "Picture 1","Caption 1", >> "Picture 2","Caption 2", >> "Picture 3","Caption 3", >> "Picture 4","Caption 4" >> ) >> >> context.stopcombination() >> context.stopplacefigure() >> >> -- Combination 3 >> >> context.startplacefigure({title = "Figure"}) >> context.startcombination({nx = "2", ny = "2"}, >> >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 1", >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 2", >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 3", >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 4" >> ) >> >> context.stopcombination() >> context.stopplacefigure() >> >> \stopluacode >> \stoptext >> >> Any hints on what I am doing wrong in example 3? > as in any prodedural language a function as argument gets immediately > executed so you need to delay: > > context.startplacefigure({title = "Figure"}) > context.startcombination({nx = "2", ny = "2"}, > context.delayed.externalfigure({"cow"},{width = "50mm"}), > "Caption 1", > context.delayed.externalfigure({"cow"},{width = "50mm"}), > "Caption 2", > context.delayed.externalfigure({"cow"},{width = "50mm"}), > "Caption 3", > context.delayed.externalfigure({"cow"},{width = "50mm"}), > "Caption 4" > ) > context.stopcombination() > context.stopplacefigure() > > (this is why encoding complex documents completely in a scrtipt > language is non trivial and why for instance these template systems > are there because these accumulate) Another solution is to use the content and caption blocks for each combination entry. \starttext \startluacode context.startplacefigure({title = "Figure"}) context.startcombination({nx = 1, ny = 1}) context.startcontent() context.externalfigure({"cow"},{width = "50mm"}) context.stopcontent() context.startcaption() context("Caption 1") context.stopcaption() context.stopcombination() context.stopplacefigure() \stopluacode \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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: combination with lua 2021-10-12 15:22 ` Wolfgang Schuster via ntg-context @ 2021-10-12 16:18 ` Adam Reviczky via ntg-context 0 siblings, 0 replies; 4+ messages in thread From: Adam Reviczky via ntg-context @ 2021-10-12 16:18 UTC (permalink / raw) To: Wolfgang Schuster; +Cc: Adam Reviczky, mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 3428 bytes --] Thank you Hans and Wolfgang for the explanation! Adam On Tue, Oct 12, 2021 at 4:22 PM Wolfgang Schuster < wolfgang.schuster.lists@gmail.com> wrote: > Hans Hagen via ntg-context schrieb am 12.10.2021 um 14:12: > > On 10/11/2021 1:38 PM, Adam Reviczky via ntg-context wrote: > >> Hi, > >> > >> I am trying to use a combination figure with luacode (both with > >> latest MKIV and LMTX). > >> However, the figures do not line up in the grid of the combination. > >> > >> I get the correct result with examples 1 and 2 below, but example 3 > >> using lua functions for combination and externalfigure is what I > >> wanted to use in the first place. > >> > >> MWE: > >> > >> \starttext > >> > >> \startluacode > >> > >> -- Combination 1 > >> context.startplacefigure({title = "Figure"}) > >> context.startcombination({nx = "2", ny = "2"}, > >> > >> "\\externalfigure[cow][width=50mm]","Caption 1", > >> "\\externalfigure[cow][width=50mm]","Caption 2", > >> "\\externalfigure[cow][width=50mm]","Caption 3", > >> "\\externalfigure[cow][width=50mm]","Caption 4" > >> ) > >> > >> context.stopcombination() > >> context.stopplacefigure() > >> > >> -- Combination 2 > >> > >> context.startplacefigure({title = "Figure"}) > >> context.startcombination({nx = "2", ny = "2"}, > >> > >> "Picture 1","Caption 1", > >> "Picture 2","Caption 2", > >> "Picture 3","Caption 3", > >> "Picture 4","Caption 4" > >> ) > >> > >> context.stopcombination() > >> context.stopplacefigure() > >> > >> -- Combination 3 > >> > >> context.startplacefigure({title = "Figure"}) > >> context.startcombination({nx = "2", ny = "2"}, > >> > >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 1", > >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 2", > >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 3", > >> context.externalfigure({"cow"},{width = "50mm"}),"Caption 4" > >> ) > >> > >> context.stopcombination() > >> context.stopplacefigure() > >> > >> \stopluacode > >> \stoptext > >> > >> Any hints on what I am doing wrong in example 3? > > as in any prodedural language a function as argument gets immediately > > executed so you need to delay: > > > > context.startplacefigure({title = "Figure"}) > > context.startcombination({nx = "2", ny = "2"}, > > context.delayed.externalfigure({"cow"},{width = "50mm"}), > > "Caption 1", > > context.delayed.externalfigure({"cow"},{width = "50mm"}), > > "Caption 2", > > context.delayed.externalfigure({"cow"},{width = "50mm"}), > > "Caption 3", > > context.delayed.externalfigure({"cow"},{width = "50mm"}), > > "Caption 4" > > ) > > context.stopcombination() > > context.stopplacefigure() > > > > (this is why encoding complex documents completely in a scrtipt > > language is non trivial and why for instance these template systems > > are there because these accumulate) > > Another solution is to use the content and caption blocks for each > combination entry. > > \starttext > > \startluacode > > context.startplacefigure({title = "Figure"}) > context.startcombination({nx = 1, ny = 1}) > context.startcontent() > context.externalfigure({"cow"},{width = "50mm"}) > context.stopcontent() > context.startcaption() > context("Caption 1") > context.stopcaption() > context.stopcombination() > context.stopplacefigure() > > \stopluacode > > \stoptext > > Wolfgang > > [-- Attachment #1.2: Type: text/html, Size: 5190 bytes --] [-- Attachment #2: Type: text/plain, Size: 493 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-10-12 16:18 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-10-11 11:38 combination with lua Adam Reviczky via ntg-context 2021-10-12 12:12 ` Hans Hagen via ntg-context 2021-10-12 15:22 ` Wolfgang Schuster via ntg-context 2021-10-12 16:18 ` Adam Reviczky via ntg-context
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).