如何在設定頭中創建微妙的位置初始效果?

如何在設定頭中創建微妙的位置初始效果?

我希望我的\section頭的第一個字元(我使用的是精美的日耳曼字體)位於(例如),\tfb而其餘字元位於\tfa

我嘗試添加\placeinitial樣式,但這只是在 \ 部分之前創建了一個非常大的(5-6 行)空白,沒有任何好處。

有沒有一種簡單的方法可以實現這一點?

範例程式碼:

\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

在此輸入影像描述

答案1

嗯,這很複雜,但我找不到更好的解決方案......所以:你失去了以placeinitial允許的方式設置你的首字母的能力,但如果你確定你只是想讓第一個字元更大,這裡(我沒有你的字體,所以我使用 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

結果:

在此輸入影像描述

相關內容