ConTeXt 中双面 RTL 文档的反向页面布局

ConTeXt 中双面 RTL 文档的反向页面布局

我正在尝试使用 RTL 语言创建双面文档。我想反转边距,以便第一页的装订在右侧,而不是左侧。

显然,我可以提供一种内边距比外边距宽的布局,或者插入一个空白的第一页。不过,我想知道是否有正确的方法来做到这一点。

\setuppagenumbering[alternative=doublesided]
\setupdirections[bidi=global,method=one]
\setupalign[r2l]

\starttext
\input knuth
\input knuth
\input knuth
\input knuth
\input knuth
\input knuth
\input knuth
\stoptext

谢谢。

答案1

您所尝试实现的目标目前还无法实现,ConTeXt 只能创建从右侧开始的文档。这意味着在单面文档中,每页都是右侧的,而在双面文档中,第一个奇数页也是右侧的。

\setuppapersize[A6]

\setuppagenumbering[alternative=doublesided]

\showframe

\starttext

\dorecurse{3}
  {\doifrightpageelse{Right page}{Left page}\par
   \doifoddpageelse  {Odd page}  {Even page}\page}
\stoptext

在此处输入图片描述

模拟从右到左并从左页开始的文档的一个简单方法是增加计数器,realpage因为这会跳过第一个右侧页面并转到下一个左侧页面。

\setuppapersize[A6]

\setuppagenumbering[alternative=doublesided]

\showframe

\setcounter[realpage][2]

\starttext

\dorecurse{3}
  {\doifrightpageelse{Right page}{Left page}\par
   \doifoddpageelse  {Odd page}  {Even page}\page}
\stoptext

\stoptext

在此处输入图片描述

虽然这会产生预期的输出,但它可能会产生不良的副作用,因为左页现在与内部计数器的数字相等。

更好的解决方案是要求正确实施这一点,因为它可以做到,但需要适当的测试,因为许多命令对左页和右页的输出不同。

相关内容