사용자 지정 문서 양식
이주용
jlee@formal.korea.ac.kr
고려대학교
2011년 11월 23일
. . . .
새 패키지 만들기
\ ProvidesPackage {⟨패키지이름⟩}
\ RequirePackage {⟨필요 패키지들⟩}
⟨새 명령어 목록⟩
패키지는 ⟨패키지이름⟩.sty로 저장해야 한다.
새 패키지의 명령어들은\usepackage패키지이름를 통해
사용가능하다.
⟨패키지이름⟩.sty를 작업 tex 파일과 같은 폴더 및 기타 미리 지정된 폴더에서 찾는다.
새 패키지 만들기 예 (setnotation)
setnotation.sty
\ ProvidesPackage { s e t n o t a t i o n }
\ RequirePackage { x a r g s }
\newcommand{\ u n i o n }{\ ensuremath {\ cup }}
\newcommand{\ i n t e r s e c }{\ ensuremath {\ cap }}
\newcommandx{\ s e t } [ 2 ] [ 2 = ] { . . . }
. . . .
새 문서 종류 (document class) 만들기
\ P r o v i d e s C l a s s {⟨문서종류이름⟩}
\ LoadClassWithOptions {⟨기반 문서 종류⟩}
\ RequirePackage {⟨필요 패키지들⟩}
⟨설정 조정⟩
문서종류는 ⟨문서종류이름⟩.cls로 저장해야 한다.
새 문서 종류는 \documentclass문서종류이름을 통해
사용가능하다.
⟨문서종류이름⟩.cls를 작업 tex 파일과 같은 폴더 및 기타 미리 지정된 폴더에서 찾는다.
새 문서 종류 만들기 예 (쪽배치 조정)
manual.cls
\ P r o v i d e s C l a s s { manual }
\ LoadClassWithOptions { a r t i c l e }
\ RequirePackage [ h a n g u l ] { k o t e x }
\ addtolength {\ t e x t w i d t h }{100 p t }
\ addtolength {\ h o f f s e t }{−50 pt }
\ addtolength {\ t e x t h e i g h t }{60 p t }
\ addtolength {\ v o f f s e t }{−30 pt }
. . . .
새 문서 종류 만들기 예 (상단부 조정, 명령어 정의)
manual.cls
\ P r o v i d e s C l a s s { manual }
\ LoadClassWithOptions { a r t i c l e }
\ RequirePackage { f a n c y h d r }
\ p a g e s t y l e { f a n c y }
\ fancyhead [ LE ,RO] { \ thepage }
\ fancyhead [ LO , RE ] { \ mymark}
\newcommand{\ mymark }{ . . . }
새 문서 종류 만들기 예 (무조건 양면으로 설정하기)
manual.cls
\ P r o v i d e s C l a s s { manual }
\ LoadClass [ t w o s i d e ] { a r t i c l e }
. . . .
옵션이 있는 문서 종류 만들기
manual.cls
\ P r o v i d e s C l a s s { manual } . . .
\ DeclareOption {⟨옵션이름⟩}{⟨명령⟩}
\ ProcessOptions \ r e l a x
옵션이 있는 문서 종류 만들기 예
manual.cls
\ P r o v i d e s C l a s s { manual } . . .
\ DeclareOption { f a n c y h e a d r u l e }{⟨명령⟩}
\ ProcessOptions \ r e l a x
. . . .
문서종류 옵션 처리에 Boolean 값 이용
manual.cls
\ P r o v i d e s C l a s s { manual }
\ RequirePackage { x i f t h e n } . . .
\ newboolean { u s e f a n c y h e a d r u l e }
\ DeclareOption { f a n c y h e a d r u l e }{
\ s e t b o o l e a n { u s e f a n c y h e a d r u l e }{ t r u e }}
\ ProcessOptions \ r e l a x
문서종류 옵션 처리에 Boolean 값 이용 (계속)
manual.cls
\ DeclareOption { f a n c y h e a d r u l e }{
\ s e t b o o l e a n { u s e f a n c y h e a d r u l e }{ t r u e }}
\ ProcessOptions \ r e l a x
\ i f t h e n e l s e {\ boolean { u s e f a n c y h e a d r u l e }}
{⟨옵션이 켜졌을 때 명령⟩}
{⟨옵션이 켜지지 않았을 때 명령⟩}