將 headnumbercontent 與 headalternative 中的 headtextcontent 對齊

將 headnumbercontent 與 headalternative 中的 headtextcontent 對齊

我正在開發一個 ConTeXt 主模板來排版多本書,這意味著我需要考慮可能有或可能沒有副標題、銘文等的章節。這個問題,除了一個問題......

當我開始添加額外的行時,即在標題下方排版副標題時,章節號與副標題行對齊,而不是與標題行對齊。

筆記:我在切換到這個解決方案之前使用alternative=margin過。\setuphead為了透過新的渲染設定保留該設計,我將其新增\inleftmargin{}到 Aditya 的解決方案中。不確定它是否相關,但我想我會指出它,以防萬一。

編輯:這是最小的、可編譯的範例...

\setuphead [chapter][alternative=newchapterhead]

\defineheadalternative
  [newchapterhead]
  [renderingsetup=newchapterhead]

\startsetups newchapterhead
    \vbox {
    \inleftmargin{\headnumbercontent}\space\headtextcontent
    \doifsomething{\structureuservariable{subtitle}}
      {\blank[small]\structureuservariable{subtitle}}}
\stopsetups

\starttext
\startchapter[title={My Chapter Title}][subtitle={My Chapter Subtitle}]
\input knuth
\stopchapter
\stoptext

編譯為:
最小範例結果

答案1

嗯,我會使用 ConTeXt 的框架機製而不是 vbox,並且\margindata.這是我的建議:

\definemargindata [chapterhead] [left] 

\setuphead [chapter][alternative=newchapterhead]

\defineheadalternative
  [newchapterhead]
  [renderingsetup=newchapterhead]

\startsetups newchapterhead
    \framed[align=right,frame=off]{\chapterhead{\headnumbercontent}\headtextcontent
    \doifsomething{\structureuservariable{subtitle}}
      {\blank[small]\structureuservariable{subtitle}}}
\stopsetups

\starttext
\startchapter[title={My Chapter Title}][subtitle={My Chapter Subtitle}]
  \input knuth
\stopchapter
\stoptext

我相信這正是您想要的: 在此輸入影像描述

順便說一句,很好的例子!

答案2

\dontleavehmode您的定義中缺少 a 。這\space是不必要的,在這個答案中甚至是有害的。

\setuphead
  [chapter]
  [alternative=newchapterhead]

\defineheadalternative
  [newchapterhead]
  [renderingsetup=newchapterhead]

\startsetups newchapterhead
    \vbox{%
      \dontleavehmode
      \inleftmargin{\headnumbercontent}
      \headtextcontent
      \doifsomething{\structureuservariable{subtitle}}
        {\blank[small]\structureuservariable{subtitle}}}
\stopsetups

\starttext
\startchapter[title={My Chapter Title}][subtitle={My Chapter Subtitle}]
  \input knuth
\stopchapter
\stoptext

在此輸入影像描述

相關內容