KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

자유글 oblivoir의 chaptertoc

2020.05.15 15:33

noname 조회 수:3661

chaptertoc에 대해서는 게시판의 이곳저곳에 이런저런 솔루션들이 있습니다. 패키지도 많고요. memoir 관련해서 yihoze께서 (언젠지 기억나지 않지만) chaptertoc를 위한 외부 파일 기법으로 제안하셨던 것도 있었던 기억이 나네요.

그런데 뭔가 oblivoir에서 깔끔하게 동작하지 않든가, 손봐야 하는 곳이 너무 많든가 하더라고요. 작년 memoir 스터디그룹에서 이 문제를 다루었는데, 그 때 토론한 내용을 바탕으로 패키지로 만들었습니다. 다른 추가적인 것 없이 오로지 oblivoir와 memoir 명령만으로 chaptertoc를 만들도록 했습니다.

사용설명서를 만들기 귀찮기 때문에... 복잡한 패키지도 아니고 해서, 사용법을 여기에 간단히 기록해둡니다.

1. \chaptertoc 명령 

명령이 주어진 위치에 현재 chapter의 chaptertoc를 식자합니다. 보통은 장 타이틀이 끝나고 본문이 시작하기 전에 위치할 테니까 \memendofchapterhook에 넣어두어도 됩니다.

2. \ChapterTOCafterskiptrue/false

디폴트는 true입니다. 이 값이 참이면 \chaptertoc를 식자하고 \par해줍니다. 그런데 framed 환경에 넣는다든가 장식을 하려 할 때 마지막에 한 줄이 생기는 것을 회피해야 할 때가 있습니다. 이럴 때 \ChapterTOCafterskipfalse 로 지정합니다.

3. \chaptertocmaxlevel 

chaptertoc를 어느 수준까지 만들 것인가 지정합니다. 인자로 section, subsection 등 장절 명령의 이름을 적어줄 수 있고, depth 카운터를 나타내는 숫자를 적어도 됩니다. 디폴트는 subsection까지를 chaptertoc로 만드는 것입니다. chapter는 무의미합니다 (당연히).

4. 포매팅

4-1. \ChapterTOCFormat 명령

chaptertoc의 모든 포매팅 설정은 memoir의 \cft... 명령으로 합니다. 그러나 이 명령을 재정의하는 코드를 그냥 preamble에 넣으면 그것은 문서 전체의 toc에 해당하는 것이 되기 때문에 chaptertoc를 위한 cft 설정 명령들을 \ChapterTOCFormat 명령의 인자로 주어야 합니다. 예를 들면,

\ChapterTOCFormat{%
	\renewcommand\cftsectionfont{\sffamily\small}
	\setlength{\cftsectionnumwidth}{3em}
}

이런 식으로 모든 chaptertoc용 cft 설정 명령들을 여기에 모아서 지정하면 됩니다.

4-2. \chaptertocfont

위에 보인 바와 같이 chaptertoc 내의 section, subsection등의 폰트를 다 renewcommand할 수 있지만, 가끔 chaptertoc 전체의 폰트를 지정하고 싶을 때가 있습니다. 이것은 \chaptertocfont라는 매크로를 재정의하면 됩니다. \cftsectionfont 등이 우선이고 이렇게 개별적으로 폰트를 지정하지 않았다면 \chaptertocfont의 설정을 따릅니다. 기본값은 \rmfamily\normalsize입니다.

4-3. \TOCFormatsameas

그런데 이런 식으로 설정하다보면 section에 대해서 한 설정을 subsection에 대해서도 일일이 해주어야 하는 것이 귀찮을 수 있습니다. \TOCFormatsameas명령은 3개의 인자를 취하는데, #1은 설정하고자 하는 section level 이름, #2는 이미 설정되어 있는 section level 이름, #3은 동일하게 변경하고자 하는 매크로의 끝이름입니다. 다음 예는,

\TOCFormatsamsas{subsection}{section}{dotsep,presnum}

이것은 \cftsubsectiondotsep을 \cftsectiondotsep과 같게 하고, \cftsubsectionpresnum을 \cftsectionpresnum과 동일하게 설정하라는 의미입니다. 마지막 인자는 필요한 것을 더 추가할 수 있습니다.

====

스타일 파일과 테스트 파일을 함께 묶어 올립니다. 테스트 파일 test.tex을 보시면 어떻게 사용하는지 한눈에 알 수 있을 것입니다. 이 패키지는 오로지 oblivoir만을 위하여 작성된 것으로, 다른 클래스가 로드되면 에러를 보이면서 멈춥니다. 심지어 memoir와도 함께 쓰지 못합니다.

후의 수정을 쉽게 하기 위해 답글로 파일을 업로드하겠습니다.

====

사실 이 스타일 파일은 앞서 <문장강화> 소스를 올릴 적에 간략히 작성했던 것을 버그를 고치고 기능을 보충한 것입니다.

 

 

번호 제목 글쓴이 날짜 조회 수
1120 [알림] 홈페이지 리뉴얼과 게시판 변경에 관하여 [4] 관리자 2010.12.23 322142
1119 제주 전용서체 [5] file Progress 2010.06.15 217982
1118 원숫자 file yihoze 2014.01.02 215901
1117 [공지] ko.TeX Live 2010 발표 [11] 관리자 2010.11.07 189377
1116 ko.TeX Live 2013 배포 [6] file 관리자 2013.10.12 175031
1115 한글텍사용자그룹/한국텍학회 웹 사이트 및 서비스 복구에 관한 말씀 관리자 2013.05.06 160032
1114 TeX Live 2016 pretest 설치 안내 [11] 관리자 2016.06.05 150586
1113 [공지] ko.TeX Live 2009 발표 [9] MadToad 2009.12.23 150448
1112 TeX의 수명이 긴 이유 그리고 널리 쓰이지 않는 이유 [45] 메타 2010.06.02 147916
1111 [공지] ko.TeX Live 2011 발표 [9] 관리자 2011.07.29 144634
1110 MathJax를 이용하여 웹에서 수식을 써 봅시다 [27] file 샘처럼 2010.12.29 142484
1109 [공지] お知らせ: TeXユーザの集い 2010 開催予定 (10/23土@東大生研) [1] ChoF 2010.02.01 137821
1108 An Earthshaking Announcement [6] 작은나무 2010.07.12 131432
1107 prologue vs preamble vs preface vs foreword 는 무슨 차이인가요? [4] 에드 2011.02.23 128517
1106 TeX Live 2010을 대비한 ko.TeX 프리테스트 [14] DohyunKim 2010.07.14 127947
1105 기존 회원이 아닌데 회비를 납부하신 분 [1] yihoze 2019.12.13 127603
1104 TeX Live 2013과 ko.TeX 설치 관련 안내 [11] 관리자 2013.09.01 126141
1103 [공지] 한국텍학회 회비를 입금한 분들 중 회원 미등록자 분들께 [7] 관리자 2011.10.20 123269
1102 (ko.) TeX Live 2014 설치를 권장합니다. [37] nanim 2014.07.14 121958
1101 한글 url 문제 [3] file noname 2020.03.08 121404



XE Login