分页符的设置

分页符的设置

我正在用 ConTeXt 创作一部小说作品。

每一章和我的四部分页面都以相应的奇数页开始。我对包含文本的每个最后一章页面都没有问题:无论是奇数页还是偶数页,它们在页脚中都没有相关的编号,空白的奇数页也有空的页眉。

在此处输入图片描述

到目前为止,这一表现几乎我需要什么,以及我得到什么,这都要感谢 Aditya 和 Wolfgang 的帮助。我知道这个要求可能看起来是一个非常特殊的选择,但它是大多数西班牙语小说作品的常见做法,对我来说也是必须的。

我为何写作几乎? 因为同样的错误:不幸的是,我的最后一章总是出现例外,每次都是这样。

在此处输入图片描述

正如我所说的,由于这里的人的努力,我一直在摆弄我的设置。

\setuppagenumbering
  [alternative=doublesided, 
   location=] 

\setupheadertexts
[][{\switchtobodyfont[head]\tfz\em\getmarking[part]}][{\switchtobodyfont[head]\tfz\em\getmarking[chapter]}][]
\setupfootertexts[][pagenumber]

\definepagebreak [ebohoyod] [footer,yes,header,footer,right]

%\unprotect
%\installpagebreakmethod {ebohoyod}
%  {\page_otr_command_flush_all_floats
%   \doifoddpageelse
%      {\page_otr_command_next_page_and_inserts
%       \setupheader[state=empty]%
%       \setupfooter[state=empty]%
%       \page_reset_marks_and_insert_dummy}
%      {\setupfooter[state=empty]%
%       \page_otr_command_next_page_and_inserts}}
%\protect

\setuphead[chapter][page=ebohoyod,number=no,alternative=middle,
header=empty,style=tfb,
before={\blank[force,34pt]},
after={\blank[114pt]}]

\setuphead[part][page=ebohoyod,placehead=yes,number=no,
alternative=middle,header=empty,footer=empty, style=tfd,
before={\blank[force,154pt]}\hskip 4pt]

由于我无知,我尝试了几种组合。例如,如果我注释掉代码\unprotect,在偶数页上性能很好,但在所有奇数页上都失败了。

说到我缺乏资源,我不知道我的短正文设置是否有帮助。我将我的前言文件和章节记录为 \input,但我已直接设置了部分页面。我在这里可以看到对我的序言设置的任何干扰,但以防万一。

\starttext

\startfrontmatter
    \input /frontmatter/cover-verso.tex
    \input /frontmatter/tit-auth-edit.tex
    \input /frontmatter/epigraph.tex
\stopfrontmatter

\startbodymatter
\startpart
[title={C\switchtobodyfont[indpart]uentos grises}]
\setlayer
      [yinyang]
      [x=106pt,y=200pt]
      {\externalfigure[GloucesterCathedral][width]}
    \input /bodymatter/relato1.tex
    \input /bodymatter/relato2.tex
\stoppart

\startpart
[title={C\switchtobodyfont[indpart]uentos verdes}]
\setlayer
      [yinyang]
      [x=106pt,y=200pt]
      {\externalfigure[GloucesterCathedral][width]}
    \input /bodymatter/relato3.tex
    \input /bodymatter/relato4.tex
\stoppart

\startpart
[title={C\switchtobodyfont[indpart]uentos azules}]
\setlayer
      [yinyang]
      [x=106pt,y=200pt]
      {\externalfigure[GloucesterCathedral][width]}
    \input /bodymatter/relato5.tex
    \input /bodymatter/relato6.tex  
\stoppart

\startpart
[title={C\switchtobodyfont[indpart]uentos rojos}]
\setlayer
      [yinyang]
      [x=106pt,y=200pt]
      {\externalfigure[GloucesterCathedral][width]}
    \input /bodymatter/relato7.tex
    \input /bodymatter/relato8.tex
\stoppart
\stopbodymatter

\startbackmatter
\startstandardmakeup[doublesided=yes]
\setupinterlinespace[line=18pt]
\completecontent[criterium=all]
\blank[280pt]
\stopstandardmakeup 
\stopbackmatter

\stoptext

答案1

分页符的设置

使用命令的关键字的顺序page(或作为\definepagebreak命令的参数)\setuphead

\setuppagenumbering
  [alternative=doublesided,
   location={footer,right}]

% \setuphead
%   [chapter]
%   [page={footer,yes,header,footer,right}]

\definepagebreak [chapter] [footer,yes,header,footer,right]

\setuphead
  [chapter]
  [page=chapter]

\setupheadertexts [] [chapter]

\starttext

\chapter{Knuth}

\dorecurse{10}{\samplefile{knuth}}

\chapter{Zapf}

\dorecurse{10}{\samplefile{zapf}}

\chapter{Ward}

\dorecurse{5}{\samplefile{ward}}

\stoptext

第 2 页和第 3 页

第 4 和 5 页

第 6 和 7 页

整个文档的扩展示例

\part以下示例还包括添加页眉和sectionblocks添加额外分页符时必须应用的设置才能获得正确结果。

这些设置尤其sectionblock必要,因为在下一章之前完成上一章\part可以使用正确的分页符设置。

\setuppagenumbering
  [alternative=doublesided,
   location=none]

\setupheader
  [style={\switchtobodyfont[10pt]\it}]

\setupheadertexts
  [] [part]
  [chapter] []

\setupfootertexts
  [] [pagenumber]

\definepagebreak [ebohoyod] [footer,yes,header,footer,right]

\setuphead
  [part]
  [page=ebohoyod,
   placehead=yes,
   number=no,
   alternative=middle,
   header=empty,
   footer=empty]

\setuphead
  [title,chapter]
  [page=ebohoyod,
   number=no,
   alternative=middle,
   header=empty]

\setupsectionblock
  [page=ebohoyod]

\setuppapersize [A5] [A5]

\starttext

\startfrontmatter

    \startstandardmakeup [align=middle,pagestate=start]

    {\tfd Sample document}

    \stopstandardmakeup

\stopfrontmatter

\startbodymatter

    \startpart [title={First part}]

        \startchapter [title={Chapter One}]
        \dorecurse{4}{\samplefile{douglas}}
        \stopchapter

        \startchapter [title={Chapter Two}]
        \dorecurse{4}{\samplefile{waltham}}
        \stopchapter

    \stoppart

    \startpart [title={Second part}]

        \startchapter [title={Chapter Three}]
        \dorecurse{4}{\samplefile{dawkins}}
        \stopchapter

        \startchapter [title={Chapter Four}]
        \dorecurse{4}{\samplefile{carey}}
        \stopchapter

    \stoppart

\stopbodymatter

\startappendices

    \completecontent

\stopappendices

\stoptext

答案2

此外,我在所有 whatever.tex 章节末尾的 \page[empty] 命令都放在 \stopchapter 之前。为什么?因为当这些页面没有文本时,我希望最后一个偶数页没有页眉和页脚。

当然,当最后一页偶数页确实有文字时,我会在相关章节中注释掉 \page[empty] 命令。

正确的方法是定义一个删除页眉和页脚的分页符:

\definepagebreak[chapterbreak]
                [yes,header,footer,right]

\setuphead[chapter][page=chapterbreak]

但是,这并没有解决您的第二个问题。为此,我定义了一个新的分页符,用于检查页面是位于奇数页还是偶数页,并相应地禁用页眉和页脚。

\unprotect
\installpagebreakmethod {ebohoyod}
  {\page_otr_command_flush_all_floats
   \doifoddpageelse
      {\page_otr_command_next_page_and_inserts
       \setupheader[state=empty]%
       \setupfooter[state=empty]%
       \page_reset_marks_and_insert_dummy}
      {\setupfooter[state=empty]%
       \page_otr_command_next_page_and_inserts}}
  \protect

\setuphead[chapter][page=ebohoyod]

这是一个完整的示例。请注意,我习惯\setupfootertexts在页脚而不是中添加页码\setuppagenumbering

\setuppagenumbering
  [alternative=doublesided, location=]

\setupheadertexts[][part][chapter][]
\setupfootertexts[][pagenumber]

\unprotect
\installpagebreakmethod {ebohoyod}
  {\page_otr_command_flush_all_floats
   \doifoddpageelse
      {\page_otr_command_next_page_and_inserts
       \setupheader[state=empty]%
       \setupfooter[state=empty]%
       \page_reset_marks_and_insert_dummy}
      {\setupfooter[state=empty]%
       \page_otr_command_next_page_and_inserts}}
  \protect

\setuphead[part][placehead=yes, number=no]
\setuphead[chapter][page=ebohoyod]

\starttext

\startpart[title=Part one]
\startchapter
    [title=Test chapter]

    Page 1 

\stopchapter

\startchapter
    [title=Test chapter]

    Page 1 \page
    Page 2 

\stopchapter

\startchapter
    [title=Test chapter]

    Page 1 \page
    Page 2 \page
    Page 3 

\stopchapter

\startchapter
    [title=Test chapter]

    Page 1 \page
    Page 2 \page
    Page 3 \page
    Page 4 

\stopchapter
\stoppart
\stoptext

以下是上一章在奇数页结束的章节:

在此处输入图片描述

这一章的上一章结束在偶数页

在此处输入图片描述

相关内容