Am Sonntag, 23. Juni 2024, 15:28:37 MESZ schrieb Hans Hagen: > On 6/23/2024 2:35 PM, Gerion Entrup wrote: > > Am Freitag, 21. Juni 2024, 19:00:03 MESZ schrieb Hans Hagen via ntg-context: > >> -- support for stacking at the tex end (maybe for presentations) > >> > >> \starttext > >> > >> \definestacking[one] > >> \definestacking[two] > >> > >> \startbuffer > >> This is a test \stacking [one] {and a proof} of \stacking [two] > >> {concept} indeed > >> \stacking [one] {\blackrule [width=4cm]} is it and the question is how > >> \stacking > >> [two] {\scale [s=2] {fancy}} we can go > >> > >> \startstacking[one] > >> \startformula > >> \sqrt{1+x} > >> \stopformula > >> \stopstacking > >> > >> and how useful \stacking[two]{\inframed{it}} is. > >> \stopbuffer > >> > >> \startstackingsteps[one,two,{one,two}] > >> \startTEXpage[offset=1ts] > >> \getbuffer > >> \stopTEXpage > >> \stopstackingsteps > >> > >> \startTEXpage[offset=1ts] \setupstacking[criterium={one}] \getbuffer > >> \stopTEXpage > >> \startTEXpage[offset=1ts] \setupstacking[criterium={two}] \getbuffer > >> \stopTEXpage > >> \startTEXpage[offset=1ts] \setupstacking[criterium={one,two}] \getbuffer > >> \stopTEXpage > >> > >> \stoptext > > > > Very nice, thank you! > > > > I see some similarities to the "visible on" technique [1], I posted in a previous thread. > > You mean the horrible transparency hack there? Sure, exactly that :) > > What comes there really handy are range specifiers, what seems not possible with this interface. > > For example: "visible on=<2->" renders the content on every page except the first one > > or "visible on=<1-5,13-15>" on the first page up to the fifth page and from page 13 to 15. > > > > The mechanism stems from the Beamer overlay specifications, see section 9.3 of the manual [2] > > and can be much more complicated with modes (section 9.6.2). > > I don't know beamer other than seeing presentations at meetings but I > assume that it has some accumulator. We do have steppers in mkii / mkiv > already in the presentation styles. The conceptual cleanest of them > depends on the viewer and free ones never catched up so that one is > acrobat specific. The stacker discussed now is just similar to the > metapost one but then at the tex end. (A quick hack with room for more a > bit more effiency if ther ei sneed for it.) > > > To add this to the new interface, if you want that, the stack layers above need some kind of order, > > which is implicit for numbers: > > ``` > > \definestacking{one} > > \definestacking{two} > > \definestacking{three} > > \definestackingorder{one,two, three} > > ... > > \setupstacking[criterium={one-three}] > > ``` > > The order could also be implicitly defined after the order of the \definestacking calls. > > > > Or would it be possible to have numbers always automatically (additionally) available as stacking layer? > > So that this "just" works: > > ``` > > \startbuffer > > This is a test \stacking [1] {and a proof} of \stacking [2] {concept} indeed. > > \stopbuffer > > ... > > \setupstacking[criterium={1-}] > > ``` > > > > I also wondered, if it is possible to define a lot of layers semiautomatically in Lua > > (in some graphics I needed around 20 layers). It seems that numbers in layer names currently are not allowed. > > Is code like this possible somehow? > > > > ``` > > \startluacode > > for i = 1, 20 do > > context.definestacking(string.format("l\letterpercent.d", i)) > > end > > \stopluacode > > ``` > > The next version already will have this: > > %D For Aditya Mahajan: ranges and such. > %D > %D \starttyping > %D \starttext > %D \startstackingsteps[1,{1:2,201},{1:3,301},{1,2,4},{1-5},{1-6},{1-7}] > %D \startTEXpage > %D \startstacking[1] \framed{ONE} \stopstacking > %D \startstacking[2] \framed{TWO} \stopstacking > %D \startstacking[201] \framed{MORE} \stopstacking > %D \startstacking[3] \framed{THREE} \stopstacking > %D \startstacking[301] \framed{INDEED} \stopstacking > %D \startstacking[4] \framed{FOUR} \stopstacking > %D \startstacking[5] \framed{\im {\sqrt { > %D \stacking[6] { 1 + x ^ { > %D \stacking[7] { 2 } } } } }} > %D \stopstacking > %D \stopTEXpage > %D \stopstackingsteps > %D \stoptext > %D \stoptyping > > The range interface is not different from the one we use in other places > so it was a braindead patch. Numeric stacking id's don't need to be > allocated. The example shows that it is rather general applicable > although there are some border cases (that if needed we can intercept > but I assume sane usage). Very nice, thanks again! This is also what I meant. > > No upload yet unless there is a hurry. No, no hurry. Gerion