Ich arbeite an einer Master-ConTeXt-Vorlage für den Satz mehrerer Bücher, was bedeutet, dass ich Kapitel berücksichtigen muss, die möglicherweise einen Untertitel, ein Epigramm usw. haben oder nicht. Die genaue Lösung, nach der ich gesucht habe, habe ich indiese Frage, bis auf ein Problem ...
Wenn ich anfange, zusätzliche Zeilen hinzuzufügen, d. h. den Untertitel unter den Titel setze, wird die Kapitelnummer an der Untertitelzeile ausgerichtet und nicht an der Titelzeile.
Notiz:Ich habe es verwendet alternative=margin
, \setuphead
bevor ich zu dieser Lösung gewechselt bin. Um dieses Design mit dem neuen Rendering-Setup beizubehalten, habe ich \inleftmargin{}
Adityas Lösung hinzugefügt. Ich bin nicht sicher, ob es relevant ist, aber ich dachte, ich weise vorsichtshalber darauf hin.
Bearbeiten:Hier ist das minimale, kompilierbare Beispiel ...
\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
Antwort1
Mmh, ich würde den Rahmenmechanismus von ConTeXt anstelle einer Vbox verwenden, und \margindata
… Hier ist mein Vorschlag:
\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
Das macht, glaube ich, was Sie wollen:
Übrigens, schönes Beispiel!
Antwort2
\dontleavehmode
In deiner Definition fehlt ein . Das \space
ist unnötig und in dieser Antwort sogar schädlich.
\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