Expl3에 죽여주는 꽤 많은 명령들이 있습니다. \clist_map_variable과 \str_case를 예로 보이겠습니다.
\myheadingsetup{chapterstyle=XXX, sectionstyle={aaa, ccc}, ...}
이 선언은 아래 코드에 의해 다음과 같이 전개됩니다.
***
\keys_define:nn {myheading}
{
...
chapterstyle .code:n = {\style_chapter_configure:n {#1} },
sectionstyle .code:n = { \style_section_configure:n {#1} },
...
}
\NewDocumentCommand \myheadingsetup {m }
{
\keys_set:nn {myheading} {#1}
}
\cs_new:Npn \style_section_configure:n #1
{
\clist_map_variable:nNn {#1} \l_tmpa_tl
{
\str_case_x:nn { \l_tmpa_tl }
{
{aaa} {\style_section_aaa: }
{bbb} {\style_section_bbb: }
{ccc} {\style_section_ccc: }
...
}}}
이를 응용하여 이렇게 할 수 있습니다.
\LayoutSetup{paper=B5,column=one}
\HeadingSetup{sectionstyle=firm}
\HeadingSetup{sectionstyle={sparse,rule},chaptercolor=DodgerBlue4,sectioncolor=DodgerBlue4}
KTUG 한국 텍 사용자 그룹