[NTG-context] vertical spacing and makeups

Wolfgang Schuster schuster.wolfgang at gmail.com
Sat Apr 18 19:15:05 CEST 2015


> Am 18.04.2015 um 18:43 schrieb Pablo Rodriguez <oinos at gmx.es>:
> 
> Dear list,
> 
> I have the following sample:
> 
>    \showgrid
>    \setupinteraction[option=max]
>    \setuppapersize[S6]
>    \setuppagenumbering[location=]
>    \setupbodyfont[100pt]
>    \setupwhitespace[big]
>    \startsetups[setups:slides]
>        \setupwhitespace[big]
>    \stopsetups
>    \setupmakeup[pagestate=start]
>    \definemakeup[slides][setups=setups:slides]
>    \definemakeup[slide]
>    \starttext
>    \startmakeup[slides]\ConTeXt\stopmakeup
>    \startmakeup[slide]\ConTeXt\stopmakeup
>    \page\ConTeXt
>    \startmakeup[slides]program\stopmakeup
>    \startmakeup[slides]descender\stopmakeup
>    \startmakeup[slide]program\stopmakeup
>    \startmakeup[slide]descender\stopmakeup
>    \page program
>    \page descender
>    \stoptext
> 
> The first page shows that \setupwhitespace[big] affects to a single line
> in a makeup. Shouldn’t white space be added only between paragraphs? The
> second page is right vertically centered. And the third page shows that
> the white space isn’t added before the first paragraph in a normal page
> (no makeup).
> 
> This is the first issue, isn’t it a bug? Or what am I missing?

TeX inserts the \parskip value which is set by \setupwhitespace
before your text in the makeup environment. Note that this happens
only when you have skip before the text (e.g. with the default top=\vss
setting) at the begin of the environment.

The following low level example demonstrates this:

\setuppapersize[A6]

\starttext

\dontleavehmode
\ruledvbox to 3cm{\hsize=4cm text}
\ruledvbox to 3cm{\hsize=4cm\parskip=2ex\relax text}

\dontleavehmode
\ruledvbox to 3cm{\hsize=4cm\vss text\vss}
\ruledvbox to 3cm{\hsize=4cm\parskip=2ex\relax\vss text\vss}

\stoptext

> The second issue is about the line height. If I didn’t get it wrong from
> Hans some days ago, line height is the x-height, plus ascender and
> descender heights.

TeX has only a concept for the distance between the baseline of two lines,
to get a certain line height and depth at the begin and end of your text
you have to the \strut or \begstrut and \endstrut commands.

> In vertical centering for makeups, why does ascender or descender height
> affect to basline position? Sorry, but this is a problem for
> readability. And it think it is better to center the line instead than a
> group of glyphs.

\def\startSlide
  {\grabbufferdata[SlideContent][startSlide][stopSlide]}

\def\stopSlide
  {\startmakeup[standard][align=middle]
   \begstrut\getbufferdata[SlideContent]\endstrut
   \stopmakeup}

\setuppapersize[S8]
\setupbodyfont[100pt]

\showgrid

\starttext

\startSlide
program
\stopSlide

\startSlide
descender
\stopSlide

\stoptext

Wolfgang


More information about the ntg-context mailing list