如何在 ConTeXt 中模仿“twoside=semi”?

如何在 ConTeXt 中模仿“twoside=semi”?

ConTeXt 的页面设置对于单页来说似乎非常强大。但由于我习惯了 KOMA 的功能,因此有些功能我无法实现:twoside=semi

从我所读的内容来看,我需要设置页码alternative=doublesided以便能够区分奇数页和偶数页。但是,这将迫使布局翻转(边距被调整)。基本上,我想要以下布局(不按比例)。

-----------------------  -----------------------
|                     |  |                     |
| -- ---------------  |  | --  --------------  |
| || |             |  |  | ||  |            |  |
| || |             |  |  | ||  |            |  |
| || |             |  |  | ||  |            |  |
| || |             |  |  | ||  |            |  |
| -- ---------------  |  | --  --------------  |
|                     |  |                     |
| ------------------  |  | ------------------  |
| | #                 |  |                # |  |
| ------------------  |  | ------------------  |
|                     |  |                     |
-----------------------  -----------------------

单面版本的代码:

\setuppagenumbering [alternative=singlesided,location={footer}]

\setuplayout        [grid=yes,
                     rightedge=1.25cm,
                     rightmargin=0pt,
                     rightmargindistance=0pt,
                     backspace=6cm,
                     leftmargin=4cm,
                     width=fit]
\showframe


\starttext
    Quack\margintext{Test}
    \page
    Quack\margintext{Test}
    \page
    Quack\margintext{Test}
\stoptext

所以我的问题是:如何在设置单面边距(左边距带有边距文本)的情况下获取双面页码?

我已尝试过:

  • 弄乱页脚设置和页码模 2 表达式
  • 层(不幸的是,它们的奇数页和偶数页检测仅适用于alternative=doublesided
  • 使用alternative=doublesided\definelayout[even][…]\setuplayout

答案1

要创建一个具有左页和右页但使用相同布局的文档,请location={singlesided,doublesided}使用\setuppagenumbering

可以使用命令设置页码的位置,\setupfootertexts但您必须添加location=(或location=none)以\setuppagenumbering禁用页码的自动放置。

\setuppagenumbering
  [location=,
   alternative={doublesided,singlesided}]

\setupfootertexts
  [] [pagenumber]
  [pagenumber] []

\starttext
\dorecurse{2}{\page[dummy]}
\stoptext

相关内容