我正在尝试使用 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
虽然这会产生预期的输出,但它可能会产生不良的副作用,因为左页现在与内部计数器的数字相等。
更好的解决方案是要求正确实施这一点,因为它可以做到,但需要适当的测试,因为许多命令对左页和右页的输出不同。