使用默认的 head 替代方案

使用默认的 head 替代方案

我需要在文档上留出边注空间,我已经完成了以下操作\setuplayout来自此链接):

\setuplayout[topspace=10mm,
             width=middle,
             height=270mm,
             header=10mm,
             headerdistance=0pt,
             footerdistance=0pt,
             footer=0pt,
             bottom=10mm,
             bottomdistance=0pt,
             cutspace=60mm,
             rightmargin=50mm,
             rightmargindistance=5mm]

然而,这种布局显然会影响part头部chapter位置。

那么,可以不应用于\setuplayoutpart标题chapter吗?

答案1

那么,可以不应用于\setuplayoutpart标题chapter吗?

,这是不可能的。中的设置\setuplayout决定了打印内容的纸张尺寸,由于部分和章节将与文档的其余部分打印在同一张纸上,因此以\setuplayout某种方式“忽略”它们是不合逻辑的。

您仍然可以通过为指定条目设置密钥来执行所需的操作。width\setuphead

使用默认的 head 替代方案

然后,默认的头部渲染将仅将文本块的大小调整为标题的指定宽度。

* 这通常表明您问了错误的问题。

\showgrid
\showframe

\setuplayout[topspace=10mm,
             width=middle,
             height=270mm,
             header=10mm,
             headerdistance=0pt,
             footerdistance=0pt,
             footer=0pt,
             bottom=10mm,
             bottomdistance=0pt,
             cutspace=60mm,
             rightmargin=50mm,
             rightmargindistance=5mm]

\setuphead
    [chapter]
    [width=\dimexpr\makeupwidth+\rightmargindistance+\rightmarginwidth\relax]

\starttext

\startchapter[title={A very long chapter name just for the example}]

\samplefile{knuth}

\stopchapter

\stoptext

在此处输入图片描述

使用自定义头部替代方案

如果您使用的不是alternative默认的normal,则必须手动使其知道已调整的宽度。在评论中,您提到您正在使用自定义alternative基于的自定义我的这个答案。通过在包含标题的内设置\hsize为,可以轻松适应新要求。尺寸设置为您在头部渲染代码中提供的参数。\headwidth\vbox\headwidthwidth\setuphead

\showgrid
\showframe

\setuplayout[topspace=10mm,
             width=middle,
             height=270mm,
             header=10mm,
             headerdistance=0pt,
             footerdistance=0pt,
             footer=0pt,
             bottom=10mm,
             bottomdistance=0pt,
             cutspace=60mm,
             rightmargin=50mm,
             rightmargindistance=5mm]

\defineheadalternative
  [centered]
  [alternative=vertical,
   renderingsetup=headrenderings:centered]

\startsetups[headrenderings:centered]
    \vbox {
        \ifzeropt\headwidth\else
            \hsize\headwidth
        \fi 
        \headsetupspacing
        \veryraggedcenter
        \let\\\endgraf
        \let\crlf\endgraf
        \ifconditional\headshownumber
            \strut
            \headnumbercontent
            %\par % <-- commented out
        \else
            \fakeheadnumbercontent
        \fi
        \begstrut
        \headtextcontent
        \endstrut
    }
\stopsetups

\setuplabeltext[en][chapter=Chapter ]

\setuphead
    [chapter]
    [width=\dimexpr\makeupwidth+\rightmargindistance+\rightmarginwidth\relax,
     commandbefore={:\,},
     alternative=centered]

\starttext

\startchapter[title={A very long chapter name just for the example}]

\samplefile{knuth}

\stopchapter

\stoptext

在此处输入图片描述

相关内容