[NTG-context] Vertically centered text in each page

Nicola nvitacolonna at gmail.com
Fri Feb 19 11:54:12 CET 2016


Inspired by Aditya's "make a presentation in 40 commits" example,
I have defined my own environment for slides. A part of it looks
like this:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startreusableMPgraphic{header:background}
  fill OverlayBox
    leftenlarged BackSpace
    rightenlarged CutSpace
    topenlarged TopSpace
    withcolor OverlayColor ;
  setbounds currentpicture to OverlayBox
    enlarged max(BackSpace,CutSpace) ;
\stopreusableMPgraphic

\defineoverlay[header:background][\reuseMPgraphic{header:background}]

\define[2]\MySlide{\framed[
  frame=off,
  background=header:background,
  backgroundcolor=orange,
  width=\textwidth,
  align=flushleft
]{#2}}

\definehead[slide][subject]
\setuphead[slide][
  style=\ssb,
  command=\MySlide,
  color=white,
  page=yes,
]

\starttext
\startslide[title={Slide One}]
\vfill
text
\vfill
\stopslide

\startslide[title={Slide Two}]
\vfill
text
\vfill
\stopslide
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

As you see, I am using \vfill to have the text vertically centered.
How do I setup the slide command to do that by default? I have tried
putting {before,after,beforesection,aftersection}=\vfill in various
combinations in \setuphead, but I cannot obtain the desired effect.

Related to the code above, I have another question: if I remove the
comma after page=yes, slides are not split into different pages. Is
it normal that a comma is required at the end of an argument list?

Nicola




More information about the ntg-context mailing list