如何在 ConTeXt 中将文本垂直居中在短小写字母的中心线上?

如何在 ConTeXt 中将文本垂直居中在短小写字母的中心线上?

我的文档中有一个这样的标题:

Birds of South America

“鸟类”、“的”和“南美洲”分别采用不同的字体和大小,如下所示:

{\ssc Birds}
{\cga of}
{\ssd South America}

当我尝试垂直居中文本时,它会将文本置于整个单词高度的中心。但这看起来不对,因为小写字母是最强的元素。

 _
| |
| | _  ← Vertically centered text centers text at the middle of the upper-case letters.
|_||_|

我怎样才能垂直居中每个部分,其中中心线位于短小写字母的中间?

 _
| |
| | _
|_||_| ← I need to place the vertical center line at the middle of the short lower-case letters in each word.

答案1

一种选择是使用location=middle选项\framed

\showboxes % For visual debugging

\defineframed[middleframed]
             [frame=off,
              location=middle]

\starttext

\startTEXpage[offset=3mm]
\dontleavehmode % Needed whenever you start a line with a \hbox
\middleframed{\ssc Birds}
\middleframed{\cga of}
\middleframed{\ssd South America}
\stopTEXpage

\stoptext

这使

在此处输入图片描述

(删除\showboxes以删除可视化调试信息)

相关内容