
Ich möchte, dass das erste Zeichen meines \section
Kopfes (ich verwende eine schicke germanische Schriftart) beispielsweise bei steht, \tfb
während der Rest bei steht \tfa
.
Ich habe versucht, \placeinitial
den Stil zu erweitern, aber dadurch entsteht lediglich ein sehr großer (5–6 Zeilen) Leerraum vor dem \Abschnitt, ohne dass dies einen Nutzen bringt.
Gibt es eine triviale Möglichkeit, dies zu erreichen?
Beispielcode:
\definefontfamily[germanic][gothic][ltcgoudytextw01lombardcap]
\setuphead[section] [style={\setupbodyfont[germanic]\tfc\placeinitial},number=no]
\setupinitial[color=black,font=ltcgoudytextw01lombardcap at 26pt,distance=1pt,n=1,location=text,]
\starttext
\section{Character}
\input knuth
But I want to achieve
\blank
\setupbodyfont[germanic]
{\tfd C}{\tfb haracter}
\setupbodyfont[modern]
\input knuth
\stoptext
Antwort1
Hmm, das ist ziemlich kompliziert, aber ich konnte keine bessere Lösung finden ... Also: Sie können Ihren Anfangsbuchstaben nicht mehr so anordnen, wie es placeinitial
möglich ist, aber wenn Sie sicher sind, dass Sie nur möchten, dass der erste Buchstabe größer ist, hier ist die Lösung (ich habe Ihre Schriftart nicht, also verwende ich Pagella):
\setupbodyfont [pagella, 12pt]
\def\doChapterTitle#1%
{\ctxlua{userdata.chaptertitle([==[#1]==])}}
\startluacode
userdata = userdata or { }
function userdata.chaptertitle(s)
local initial, rest = s:sub(1, 1), s:sub(2, -1)
context.bgroup()
context.switchtobodyfont( { "30pt" } )
context(initial)
context.egroup()
context(rest)
end
\stopluacode
\define[1]\MyChapterTitle%
{\doChapterTitle{#1}}
\setuphead [chapter]
[number=no,
deeptextcommand=\MyChapterTitle]
\starttext
\startchapter [title={Character}]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tellus.
\stopchapter
\stoptext
Ergebnis: