如何调整 ConTeXt 中的页眉和页脚的宽度?

如何调整 ConTeXt 中的页眉和页脚的宽度?

正如该平台上两个不同的问题所提到的(这里这里)我目前正在写一本书。在一些帮助下,我解决了这些问题,所以目前的项目可能会用 LaTeX 完成。

然而,最近我意识到 LateX 可能不是这类项目的最佳解决方案。所以,我一直在考虑改用语境为下一个项目做准备,现在我想尝试在 ConTeXt 中重建 LaTeX 布局。到目前为止,效果很好,但我遇到了一个问题,似乎找不到解决方案。

下面是我一直在研究的布局的一个非常简单的 MWE:

\starttext

\enableregime[utf-8]
\mainlanguage[de]
\language[de]

\setuppapersize[A4][A4]
\setuplayout[alternative = doublesided,
  backspace=11.67mm, width=131.25mm,
  topspace=21.21mm, height=254.57mm,
  headerdistance=13pt, header=13pt,
  footerdistance=13pt, footer=13pt,
  rightmargindistance=13pt, rightmargin=39.5mm
]
\setuppagenumbering[alternative=doublesided]
\setupbackgrounds[header][text][frame=off, bottomframe=on]

\setupbodyfontenvironment[default][em=italic]   % make italic default instead of slanted
\usetypescript[modern][ec]
\setupbodyfont[modern, 9pt]
\setupwhitespace[line]
\setupinterlinespace[line=13pt]
\setuplayout[grid = yes]

\startbodymatter

\chapter{Chapter}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\inothermargin{Lorem ipsum dolor sit amet.}Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\stopbodymatter

\stoptext

它看起来是这样的:

带有边注的简单 ConTeXt 布局。但是如何加宽页眉?

因此,我使用每页的外边距(约占文本区域的四分之一)来包含边距注释。这效果很好,而且——因为我用过 LaTeX——我不得不说,设置起来非常简单。但是,我现在想加宽页眉和页脚扩展到整个文本区域,即页眉中的行应足够宽以覆盖边注,页码应相对于整个文本区域居中(而不是相对于主文本块居中)等等。到目前为止,我还没有找到实现这一点的方法。

我假设我使用了错误的设置来实现这一点,即通过设置来实现这一点\rightmargin\setuplayout但是还有什么其他方法可以做到这一点呢?任何帮助都将不胜感激。

(顺便问一下:ConTeXt 是否也有类似\blindtextLaTeX 的命令?)

答案1

没有默认的页眉机制可以满足您的要求。但是,手动执行此操作相对简单。在下面的解决方案中,我将“内部”页眉设置为宽度等于的框,textwidth + outermargindistance + outermarginwidth并将页码置于该框的中心。

我还删除了设置中与示例无关的所有部分。此外,还未使用visual模块创建随机框(而不是文本)。

\usemodule[visual]

\setuppapersize[A4][A4]
\setuplayout
[
  backspace=11.67mm,        width=131.25mm,
  topspace=21.21mm,         height=254.57mm,
  headerdistance=13pt,      header=13pt,
  footerdistance=13pt,      footer=13pt,
  rightmargindistance=13pt, rightmargin=39.5mm,
]
\setuppagenumbering[alternative=doublesided, location=]
\definemeasure[fullwidth][\dimexpr\textwidth+\outermarginwidth+\outermargindistance\relax]

\startsetups header
  \framed[frame=off, bottomframe=on, width=\measure{fullwidth}, align=middle]
    {\pagenumber}
\stopsetups

\setupheadertexts[\setups{header}][][][\setups{header}]

\starttext

\chapter{\fakewords{2}{3}}

\fakewords{50}{60}

\inoutermargin{\fakewords{10}{20}} \fakewords{50}{60}
\page

\fakewords{50}{60}

\inoutermargin{\fakewords{10}{20}} \fakewords{50}{60}

\stoptext

这使

在此处输入图片描述

顺便说一下,以下回答ConTeXt 中的边注可能会有用。

相关内容