Wie erstelle ich einen subtilen Placeinitial-Effekt in einem Setuphead?

Wie erstelle ich einen subtilen Placeinitial-Effekt in einem Setuphead?

Ich möchte, dass das erste Zeichen meines \sectionKopfes (ich verwende eine schicke germanische Schriftart) beispielsweise bei steht, \tfbwährend der Rest bei steht \tfa.

Ich habe versucht, \placeinitialden 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

Bildbeschreibung hier eingeben

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 placeinitialmö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:

Bildbeschreibung hier eingeben

verwandte Informationen