Как выровнять заголовок «части» по вертикали в ConTeXt?

Как выровнять заголовок «части» по вертикали в ConTeXt?

До сих пор моим лучшим усилием было просто добавить большой пробел в качестве параметра перед:

\setuphead[part][placehead=yes, alternative=middle,before={\blank[12*big,force]},
    header=empty]

Конечно, это может сработать для данного размера бумаги, но в качестве решения это выглядит неэлегантно.

Может быть, я пропустил более простой способ сделать это?

решение1

Вы можете использоватьmakeupдля настройки пользовательского макета страницы. Здесь я использовал предопределенный standardмакет, который центрируется вертикально.

\setuphead
  [part]
  [placehead=yes,
   alternative=middle,
   before=\startstandardmakeup,
   after=\stopstandardmakeup,
   header=empty]

\starttext
  \startpart [title=Part One]
  \stoppart
\stoptext

Вы также можете создать свой собственный макет и использовать alignключ для вертикального выравнивания. Этот подход более гибкий. По умолчанию макеты не увеличивают счетчик страниц (спасибо Aditya за указание на это). Это можно исправить с помощью ключа pagestate.

\definemakeup
  [part]
  [align=middle,
   pagestate=start]

\setuphead
  [part]
  [placehead=yes,
   alternative=middle,
   before=\startpartmakeup,
   after=\stoppartmakeup,
   header=empty]

\starttext
  \startpart [title=Part One]
  \stoppart
\stoptext

Связанный контент