
\section
私のヘッドの最初の文字 (派手なゲルマン語フォントを使用しています) を (たとえば) にし\tfb
、残りを にしたいと思います\tfa
。
\placeinitial
スタイルを追加しようとしましたが、\section の前に非常に大きな (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
結果: