化妆环境

化妆环境

我想在我的 ConTeXt 演示中模拟 beamer 的中心框架行为。感谢这个帖子,我弄清楚了如何让我的(子)部分标题居中。我还在为主标题使用修饰。但是,我的主要文本没有垂直居中。今天,我意识到我可以使用自定义框架环境。

以下是我现在获取垂直居中的演示文稿的方法(所有设置都在一个环境中,为了方便起见,我在 MWE 中传递了相关项目):

\setuppapersize[S5]
\setupbodyfont[18pt]
\setuplayout[topspace=1cm,backspace=1.5cm,
   width=14.5cm,height=11cm,%margin=0cm,
   footer=0cm,header=0cm]    
\definelayout[titre][topspace=0cm,backspace=1.5cm,
   width=15cm,height=11cm,
   footer=0cm,header=0cm]
\definemakeup[titre]     
\setuphead[title][
   alternative=middle,%titre centré sur la ligne
   before={\leavevmode \vfill},after={\vfill \page},
   style=\tfd]
\setuphead[section][align=lohi,
   before={\page\leavevmode \vfill},after={\vfill},
   style=\tfc,conversion=I,
   numbercommand=\groupedcommand{}{~)},%) après le numéro
   align={flushleft, nothyphenated, verytolerant}]    
\defineframedtext
     [Diapo]
     [frame=no,
     before={\page\leavevmode\vfill},after={\vfill}]

\starttext
\startmakeup[titre]
\starttitle[title={Un test}]
\stopmakeup

\startsection[title={Bonjour}]
  \startDiapo
      Hello world!
   \stopDiapo
\stopsection
\stoptitle
\stoptext 

我的问题是:如何才能最小化这些设置?特别是:

  • 有没有什么方法可以让我的文本居中而不加框架(\start/stopDiapo)?
  • 我找不到任何提供垂直居中布局的全局命令。有办法吗?

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

答案1

化妆环境

使每个框架的内容居中的最佳方法是使用环境makeup。使用topbottom可以控制文本的垂直对齐,使用align键可以更改水平对齐。

\setuppapersize [S3] [S3,doublewide]

\showframe [page]

\setuparranging [2SIDE]

\starttext

First page

\startstandardmakeup [align=middle,pagestate=start,headerstate=start]
Second page
\stopstandardmakeup

\stoptext

在此处输入图片描述

章节标题

当您使用节标题的环境形式时,会获取额外的键以在每个节的内容之前和之后插入命令。

当您有一个没有内容的页眉(例如,标题页)时,您可以使用常规形式并将标题作为参数传递给命令。

\setuppapersize [S3] [S3,doublewide]

\showframe [page]

\setuparranging [2SIDE]

\define[1]\ShowKey
  {\par
   \leftaligned{\tttf [key: #1]}%
   \par}

\setuphead
  [subject]
  [       before=\ShowKey{before},
           after=\ShowKey{after},
   beforesection=\ShowKey{beforesection},
   insidesection=\ShowKey{insidesection},
    aftersection=\ShowKey{aftersection}]

\setupheader [state=stop]

\starttext

\subject {First subject}

\page

\startsubject [title={Second subject}]
Subject content
\stopsubject

\stoptext

在此处输入图片描述

两种机制的结合

您可以将makeup环境与节标题的环境形式相结合,并使用insidesectionaftersection键将每个节的内容居中。

\setuppapersize [S3]

\definehead [frametitle]   [title]
\definehead [framesection] [section]

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

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

\setuphead
  [frametitle]
  [align=middle,
   before=\startsectionmakeup,
   after=\stopsectionmakeup]

\setuphead
  [framesection]
  [align=middle,
   before=\startsectionmakeup,
   after=\stopsectionmakeup,
   insidesection=\startframemakeup,
   aftersection=\stopframemakeup]

\starttext

\frametitle{Un test}

\startframesection[title={Bonjour}]
  Hello world!
\stopframesection

\stoptext

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

相关内容