
\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
허용되는 방식으로 이니셜을 설정하는 기능을 잃게 되지만, 첫 번째 문자를 더 크게 만들고 싶은 것이 확실하다면 , 여기 있습니다(글꼴이 없어서 페이지야를 사용합니다):
\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
결과: