Alinhando headnumbercontent com headtextcontent em headalternative

Alinhando headnumbercontent com headtextcontent em headalternative

Estou trabalhando em um modelo mestre do ConTeXt para compor vários livros, o que significa que precisei levar em conta capítulos que podem ou não ter subtítulo, epígrafe, etc.essa questão, exceto por um problema...

Quando começo a adicionar linhas extras, ou seja, compor o subtítulo abaixo do título, o número do capítulo fica alinhado com a linha do subtítulo em vez de permanecer com a linha do título.

Observação:Eu usei alternative=marginantes \setupheadde mudar para esta solução. Para manter esse design com a nova configuração de renderização, adicionei \inleftmargin{}à solução do Aditya. Não tenho certeza se é relevante, mas pensei em apontar, apenas para garantir.

Editar:Aqui está o exemplo mínimo e compilável ...

\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

Compila para:
Resultado mínimo de exemplo

Responder1

Mmh, eu usaria o mecanismo emoldurado do ConTeXt em vez de um vbox, e o \margindata. Aqui está minha sugestão:

\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

O que, acredito, faz o que você deseja: insira a descrição da imagem aqui

Aliás, belo exemplo!

Responder2

Está faltando um \dontleavehmodena sua definição. O \spaceé desnecessário e nesta resposta até prejudicial.

\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

insira a descrição da imagem aqui

informação relacionada