headalternative の headnumbercontent と headtextcontent を揃える

headalternative の headnumbercontent と headtextcontent を揃える

私は複数の本をタイプセットするためのマスターConTeXtテンプレートに取り組んでいます。つまり、サブタイトルやエピグラフなどがあるかどうかわからない章を考慮する必要がありました。私が探していた解決策は、この質問ただし、1 つの問題があります...

追加の行を追加し始めると、つまりタイトルの下にサブタイトルをタイプセットすると、章番号はタイトル行に留まらず、サブタイトル行に揃えられます。

注記:alternative=marginこのソリューションに切り替える前に使用していました\setuphead。新しいレンダリング設定でそのデザインを維持するために、Aditya のソリューションに追加しました\inleftmargin{}。関連性があるかどうかはわかりませんが、念のため指摘しておこうと思いました。

編集:以下に最小限のコンパイル可能な例を示します。

\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

そうですね、私は vbox の代わりに ConTeXt のフレーム メカニズムを使用します。\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あなたの定義にはがありません。 は\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

ここに画像の説明を入力してください

関連情報