背景

背景

背景

使用 ConTeXt 我尝试重现以下结果:

覆盖

问题的核心在于章节标题的第一个字符与章节标题有相对距离的偏移。

问题

我尝试将本章的样式设置如下:

\definespotcolor[ColourSecondary][h=9A957A]
\definespotcolor[ColourSecondaryLightest]
  [ColourSecondary][a=1,t=.2]

\definefont[StyleFontChapterCharacter]
  [SerifItalic scaled 20000]

\defineframed[StyleChapterFramed][
  frame=on,
  align={flushright,low,nothyphenated,verytolerant},
  width=\dimexpr\textwidth-(.2\marginwidth),
  height=\textheight,%+0.6\footerheight,
]

\define[1]\StyleChapter{%
  \StyleChapterFramed{%
\startoverlay
    \color[ColourSecondaryLightest]{%
      \StyleFontChapterCharacter\getfirstcharacter{#1}\firstcharacter}
      #1
\stopoverlay
  }
}

使用\hskip强制首字母(通过移动章节标题?):

  \hskip-1em#1

得出的结果为:

跳过午餐

改变框架以使其超出页脚很容易,但该low参数会导致整个章节标题向下移动。

我已经尝试过\vspace\vskip,但似乎都无法压倒该low参数。

我还尝试通过根据标题文本的尺寸计算偏移量来操纵文本,但找不到可行的解决方案(即,如何确定一个单词在页面上占用了多少空间?)。

问题

如何重新定位标题的首字母,使其偏移到标题本身下方,如所需的结果所示,而不管标题的长度如何?

答案1

注意align={left方法右对齐(即,破烂的左边):

\defineframed[StyleChapterFramed][
  frame=off,
  align={left,low,nothyphenated,verytolerant},
  width=\dimexpr\textwidth-(.2\marginwidth),
  height=\dimexpr\textheight+0.5\footerheight,
]

然后使用嵌套框架来保持覆盖大写字母和其单词一起:

\define[1]\StyleChapter{%
  \StyleChapterFramed{%
    \framed[align=right, frame=off]{%
      \startoverlay
        \color[ColourSecondaryLightest]{%
          \StyleFontChapterCharacter\getfirstcharacter{#1}%
          \firstcharacter}
        \vskip-1.9em\hskip1.2em#1
      \stopoverlay
    }
  }
}

这产生了以下相当令人垂涎的结果:

左边不齐即右对齐

相关内容