맥과 윈도우즈를 직접 대비하기는 좀 불공평한 것 같지만, 앞에 아이폰4 얘기가 나왔으니 그 연장선에서 레이텍 스타일을 만드는 방식에 대해 좀 얘기를 해 보겠다.
memoir 클래스를 처음 접했을 때, 도은이아빠님의 말 그대로 "바로 이거야"라고 느꼈다. 거의 모든 스타일이 모듈로 이루어져 있고 \set... \make... \add... 등의 매크로들을 이용하여 \chapter 같은 덩치 큰 매크로를 완전히 재정의할 필요없이 내가 원하는 스타일을 기존의 스타일에 살짝 끼워넣을 수 있었다.
그런데 그렇게 하기 곤란한 것들도 있다. 묻고 답하기 게시판에 "섹션에 줄긋기"라는 제목의 질문을 올렸는데 늘 그랬듯이 친절하게도 도은이아빠님이 답을 주셨다. 나는 그 솔루션을 내 방식대로 모듈화하고자 했지만 여의치 않았다. 섹션 라인을 섹션 스타일의 한 속성으로 취급하려 했던 시도는, 아마도 내가 섹션이란 매크로에 대해 충분히 이해하지 못했기 때문이겠지만, 성공하지 않았다. 대신 그 스타일을 정의하는 매크로가 다른 스타일 속성들을 포함하는 방식으로 해결했다. 아래와 같다.
\def\secalign{\memRTLraggedright}
\def\sectionfont{\normalfont\bfseries}
\def\seccolor{}
\newcommand\secrule[1]{%
\secstyle%
#1%
\nopagebreak\vskip-.5\onelineskip\rule{\textwidth}{0.4pt}%
}
\def\secstyle{\secalign\seccolor\sectionfont\secfont}
\def\subsecstyle{\secalign\seccolor\sectionfont\subsecfont}
\def\subsubsecstyle{\secalign\seccolor\sectionfont\subsubsecfont}
\def\secfont{\Large}
\def\subsecfont{\large}
\def\subsubsecfont{\normalsize}
\setsecheadstyle{\secstyle}
\setsubsecheadstyle{\subsecstyle}
\setsubsubsecheadstyle{\subsubsecstyle}
\define@boolkey{style}{sectionrule}[true]{
\ifKV@style@sectionrule
\setsecheadstyle{\secrule}
\fi
}
\define@key{style}{sectionscolor}[DodgerBlue]{
\renewcommand\seccolor{\color{#1}}
}
KTUG 한국 텍 사용자 그룹