On Fri, 21 Jun 2024, Hans Hagen via ntg-context wrote:

> Hi,
> 
> -- support for stacking at the tex end (maybe for presentations)
> 
> \starttext
> 
> \definestacking[one]
> \definestacking[two]
> 
> \startstackingsteps[one,two,{one,two}]
>     \startTEXpage[offset=1ts]
>         \getbuffer
>     \stopTEXpage
> \stopstackingsteps

I have crude macros which provide this features (save stuff in boxes and then 
unbox) for showing stuff stepwise in presentation (without relying on fancy PDF 
features which are viewer dependent). So, this new feature is very interesting. 
Thanks!

I use stackers in the following ways:

Case 1: Show stuff step by step

\startstackingsteps[1,{1,2},{1,2,3},{1,2,3,4}]

\startstacking[1]
...
\stopstacking

\startstacking[2]
...
\stopstacking

\startstacking[3]
...
\stopstacking

\startstacking[4]
...
\stopstacking

\stopstackingsteps


Case 2: Show stuff step by step but some things are only shown once

\startstackingsteps[1,{1,2,2only},{1,2,3},{1,2,3,4}]

....

\startstacking[2] % Show always after 2nd step
...
\stopstacking

\startstacking[2only] % Show only during step 2
...
\stopstacking

...

\stopstackingsetps

Case 3: Show stuff step by step but some things are only for specific slides

\startstacking[2only,3only] % Show only during step 2 and 3:
...
\stopstacking

So, I have a few requests:

1. Can we add support for \startstacking[one,two]? 

2. For case 1, could we have a shortcut to easily write 
\startstackingsteps[1,{1,2},{1,2,3}...]. This gets really tedious when there 
are say 6 or 7 steps. 

   One option is:

   \startstackingsteps[criterium={1,2,3}, alternative=normal] % or sequential
    
    for the current implementation

    and 

   \startstackingsteps[criterium={1,2,3}, alternative=cumulative]

   for the cumulative option (1,{1,2},{1,2,3}...)

3. It will be nice to have a syntax to easily handle case 2 and 3. 

As a bonus, I found that tex stacking plays nicely with metapost stacking!

\starttext

\definestacking[1]
\definestacking[2]
\definestacking[3]

\startbuffer
\subject{How to draw a circle}
\startitemize
    \startstacking[2] \startitem Pick a point \stopitem \stopstacking
    \startstacking[3] \startitem Draw the circle \stopitem \stopstacking
\stopitemize

\startplacefigure[location={here,none}]
  \startMPcode[stacking={\namedstackingparameter\empty{criterium}}]
    newpair A; A := origin;
    newpath p; p := fullcircle scaled 3cm shifted A;

    fill fullcircle scaled 3bp shifted A withstacking 2;

    draw p withstacking 3;

    setbounds currentpicture to bbox p ;
  \stopMPcode
\stopplacefigure
\stopbuffer

\startstackingsteps[1,{1,2},{1,2,3}]
     \startTEXpage[offset=1ts]
         \getbuffer
     \stopTEXpage
\stopstackingsteps
\stoptext

Thanks,
Aditya

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to