KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You have an ambitious nature and may make a name for yourself.
FrontPage › FancyHdr
Piet van Oostrum 씨가 만든 PageStyle 정의용 패키지. fancyheadings 패키지가 발전한 것이다.

목차

1 FancyHdrPageStyle
2 단면에서의 사용방법
3 양면에서의 사용방법
4 떠다니는개체FancyHdr
5 FancyHdr\rightmark\leftmark
6 headrule과 footrule 넣기
7 링크

1 FancyHdrPageStyle

\pagestyle{fancy}
또는
\pagestyle{fancyplain}
으로 지정하면 FancyHdr 패키지의 페이지 스타일 설정 명령이 작동한다.[1] 이 페이지 스타일 선언이 없으면 LaTeX 기본값이 여전히 유효하기 때문에 클래스 파일에서 정한 스타일을 따른다. fancyfancyplain의 차이는 장(chapter)이 시작하는 페이지의 쪽 모양을 fancyplain은 제어할 수 있다는 점이다. fancyplain을 페이지스타일로 한 경우 \fancyplain 명령을 쓸 수 있다. \fancyplain 명령의 용법은 다음과 같다.[2]
\fancyplain{장이 시작되는 면}{나머지 면}

LaTeX\chapter 명령은 \thispagestyle{plain}를 호출한다. \fancyplain에서 장이 시작되는 면을 비워두면 그 호출을 그대로 유지하는 것이고, 재정의하면 무시하는 것이다.

----
  • [1] 만약 별도의 설정이 없으면 디폴트로 설정된 값들이 작동한다. 아래 항목 "headrule과 footrule 넣기" 참조
  • [2] 사용 예는 아래 항목 "양면에서의 사용방법"에 있다. 만약 별도로 설정하지 않으면 "장이 시작되는 면"과 "나머지 면"과의 구별이 없어진다.

2 단면에서의 사용방법

한 페이지의 상단에 LHdr, CHdr, RHdr; 하단에 LFtr, CFtr, RFtr가 있다고 할 때, 이 각각을 다음과 같이 정의할 수 있다.
\pagestyle{fancy}
\lhead{}
\chead{}
\rhead{\bfseries 좋은 문서 만들기}
\lfoot{KTUG}
\cfoot{Happy TeXing!}%디폴트는 \thepage
\rfoot{\thepage}
\renewcommand{\headrulewidth}{.6pt}%디폴트는 .4pt
\renewcommand{\footrulewidth}{.4pt}%디폴트는 0pt

<!> \headrulewidth를 {0pt}로 하면 괘선을 지울 수 있다. 반대로 \footrulewidth는 디폴트가 {0pt}이기 때문에 괘선을 보이게 하려면 굵기를 정하여야 한다. <!> 괘선에 여유분을 주려 할 때는 \addtolength\headheight{.5pt}와 같은 방식으로 headheight를 늘려준다.

3 양면에서의 사용방법


다음과 같이 하면 양면 맞쪽을 짤 수 있다.
\lhead[짝수 면 상단 왼쪽]{홀수 면 상단 왼쪽}%
\lfoot[짝수 면 하단 왼쪽]{홀수 면 하단 왼쪽}%
\chead[짝수 면 상단 중앙]{홀수 면 상단 중앙}%
\cfoot[짝수 면 하단 중앙]{홀수 면 하단 중앙}%없애면 쪽번호가 나타난다.
\rhead[짝수 면 상단 오른쪽]{홀수 면 상단 오른쪽}%
\rfoot[짝수 면 하단 오른쪽]{홀수 면 하단 오른쪽}%

\pagestyle{fancy} 또는 \pagestyle{fancyplain}을 선언하여 이 설정을 활성화할 수 있다. 이들 선언이 없으면 클래스 파일에서 정한 디폴트 선언(대개 \pagestyle{plain}으로 되어 있다.)을 따른다.

명령어 \fancyplain{}{}의 사용 예
\pagestyle{fancyplain}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter. #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\bfseries\thepage}]{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]{\fancyplain{}{\bfseries\thepage}}
\cfoot[]{}

(!) 위의 예제는 hoze매뉴얼프로젝트에서 가져온 것임

양면 맞쪽을 좀더 섬세하게 짜려면, LO, CO, ROLE, CE, RE를 결합하여 지정하고 pagestylefancy 또는 fancyplain으로 한다. 예컨대, \fancyfoot[LE,RO]는 짝수 면(even, 왼쪽 면)의 왼쪽 footer와 홀수 면(odd, 오른쪽 면)의 오른쪽 아래를 동일하게 설정하는 명령이다.
\fancyhead{}  % clear all fields
\fancyhead[RO,LE]{\bfseries 좋은 문서 만들기}
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,CE]{KTUG}
\fancyfoot[CO,RE]{Happy TeXing!}
\renewcommand{\headrulewidth}{.6pt}%디폴트는 .4pt
\renewcommand{\footrulewidth}{.4pt}%디폴트는 0pt

  • 여기서 RE, LO, CE, CO에 해당하는 \fancyhead 명령은 생략되었다. 생략되면 없는 것으로 간주한다.
fancyhdrtest.jpg

4 떠다니는개체FancyHdr

떠다니는 개체가 페이지의 머리에 오는 경우 괘선과 맞물려서 좋지 않은 결과를 가져오는 경우가 있다. 이럴 때는 다음과 같이 지정하는 것이 한 방법이다.
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{.4pt}}

5 FancyHdr\rightmark\leftmark

FancyHdr 패키지에서 running head에 장절 명령을 붙이려 할 때는 다음과 같이 한다.

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand\chaptermark[1]{\markboth{#1}{}}
\renewcommand\sectionmark[1]{\markright{\thesection~#1}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}

<!> \rightmark\leftmark\markboth\markright 명령으로 지정되는 값이다. 이 값을 직접 바꾸지 않도록 한다.

6 headrule과 footrule 넣기

\documentclass[twoside]{book}
\usepackage{fancyhdr}
\pagestyle{fancy}

로 시작하는 문서를 컴파일하면 자동으로 headrule(header와 body 사이의 가로줄)과 footrule(footer와 body 사이의 가로줄)이 들어간다. 다만 footrule의 굵기는 디폴트로 0pt로 정해져 있기 때문에 보이지 않는다. 한편 headrule은 디폴트로 0.4pt로 정해져 있다. 이들의 굵기를 고치려면
\renewcommand{\headrulewidth}{0.6pt}%디폴트는 0.4pt
\renewcommand{\footrulewidth}{0.4pt}%디폴트는 0pt
와 같이 입력하면 된다. 따라서 headrule이 보이지 않게 하려면 0pt로 정하면 된다. 한편 \rightmark, \leftmark 등 헤더에 관련한 것을 별도로 정하지 않으면 디폴트로 정하여진 것(클래스 및 클래스 옵션에 따라 다르다.)이 나타난다. See KTUGOperate:16633


^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-01-08 13:53:52
Processing time 0.0429 sec