KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Alimony and bribes will engage a large share of your wealth.
FrontPage › ChngpagePackage

목차

1 \changetext 명령
2 \changepage 명령
3 예제
4 adjustwidth 환경
5 \checkoddpage 명령

\usepackage{changepage}
또는 옛날 시스템에서
\usepackage{chngpage}

<!> memoir에는 이 패키지의 기능이 모두 들어 있다. 별도의 \usepackage 없이 아래 명령과 기능이 모두 사용 가능함.

1 \changetext 명령

\changetext 명령은 텍스트 영역의 폭과 위치를 변경하는 구실을 한다. 이 명령은 다섯 개의 인자를 가지는데 모든 인자는 길이값을 지정하거나 비워두어야 한다. 각각의 인자가 의미하는 것은 다음과 같다.
\changetext{textheight}{textwidth}{evensidemargin}{oddsidemargin}{columnsep}
주어진 길이값은 해당하는 현재 길이값에 더해진다. 이 명령이 주어진 이후로는 텍스트 영역의 레이아웃이 바뀌고 새로운 \change... 명령이 나올 때까지 유효하다.

2 \changepage 명령

changepage 명령은 쪽 레이아웃을 바꾸는 데 사용한다. 이 명령은 아홉 개의 인자를 가지는데 각각 길이값을 주거나 비워둔다. 처음의 다섯 개의 인자는 \changetext 명령의 인자와 그 의미가 같다. 나머지 네 개의 인자는 다음과 같다.
\changepage{5 args}{topmargin}{headheight}{headsep}{footskip}
이 길이값들은 해당하는 값에 더해진다. 따라서 페이지 상의 텍스트 영역의 세로 위치를 변경할 수 있다. 현재 페이지부터 효과가 발생하고 새로운 \change... 명령이 나올 때까지 유효하다.
/!\ NOTE: 이 명령은 페이지 전체의 모든 문단에 영향을 끼친다. 몇 문단만 레이아웃을 바꾸려 한다면 차라리 hanging 패키지나 PlainTeX\parshape 명령을 고려해보는 것이 좋을 것이다.

3 예제

2단 페이지의 레이아웃은 1단 페이지의 레이아웃과 조금 다르다. \twocolumn 명령으로 2단으로 넘어갈 때 페이지 레이아웃을 조절해주었다가 다시 1단 페이지로 돌아오면서 이전의 설정으로 되돌리는 예
... single column normal page
\newpage % or \clearpage
\changetext{-5\baselineskip}{10em}{-5em}{-5em}{}
\twocolumn
... two column pages
\clearpage
\changetext{5\baselineskip}{-10em}{5em}{5em}{}
\onecolumn
... normal pages

특정 문단의 폭을 증가시켰다가 원래의 설정으로 돌아오는 예
\changetext{0pt}{5em}{}{}{}%
Start of wider paragraph text ...
... end of paragraph.

\changetext{0pt}{-5em}{}{}{}
Start of a normal paragraph ...

이따금 \change... 명령을 afterpage 패키지 \afterpage 명령의 인자로 사용하면 좋을 때가 있다.

4 adjustwidth 환경

adjustwidth 환경은 문단의 좌우 마진을 변경하는 데 사용한다. 이 환경은 한 개의 옵션 인자 표지와 두 개의 길이값 인자를 요구한다.
\begin{adjustwidth}[]{leftmargin}{rightmargin}

길이값이 양수로 주어지면 해당 마진을 증가키시고(= 텍스트 행길이는 짧아진다), 음수값으로 주어지면 마진을 감소시킨다(= 텍스트 행길이는 길어진다). 길이값 인자를 비워두면 변화가 없다는 것이다.

이 환경이 종료되는 시점에서 원래의 마진 값으로 복귀한다.

특정 문단을 오른쪽 마진으로 빼서 늘리려면
\begin{adjustwidth}{}{-8em}

옵션 인자를 붙이면 마진값이 홀짝수쪽에 따라 값을 변화시킨다. 그냥 []만을 붙여주면 된다.

문서가 twoside로 작성되고 있고 바깥쪽 마진으로 문단을 빼고 싶다면 다음과 같이 설정한다.
\begin{adjustwidth}[]{}{-8em}

문단의 폭은 늘리면서 문단 위치를 가운데로 하고 싶다면 다음과 같이 할 수 있다.
\begin{adjustwidth}{-4em}{-4em}

예를 들어 quotation 환경은 다음과 같이 설정한 것과 거의 같다.
\begin{adjustwidth}{2.5em}{2.5em}

이 환경은 떠다니는 개체 안에서도 작동한다. 표의 폭이 문단폭보다 더 넓어서 페이지에 놓였을 때 한쪽으로 기울어진다면 다음과 같은 방식으로 조절할 수 있다.
\begin{figure}
   \begin{adjustwidth}{-2em}{-2em}
      \includegraphics{wide}
      \caption{Wide figure}
   \end{adjustwidth}
\end{figure}

홀짝수쪽에 따라 마진을 변경하는 기능이 플로트의 경우 잘 작동하지 않는 경우가 있다. 이것은 플로트가 최종적으로 놓이는 위치가 홀수쪽이 될지 짝수쪽이 될지를 TeX이 미리 결정하지 않기 때문에 발생하는 것이므로 플로트가 놓이는 위치에 label을 붙여두었다가 다음번 실행 때 이 label 위치를 읽어서 홀짝수쪽을 알아내도록 하는 "엄격한 페이지 검사"를 강제하는 방법이 있다. 패키지 옵션 strict를 주면 adjustwidth가 \checkoddpage를 사용하게 된다. 이 명령에 대해서는 아래를 참고하라. \usepackage[strict]{chngpage}.

이 옵션을 썼을 때의 문제점은 한 문서에 너무 많은 label이 붙게 되어서 TeX의 실행 용량을 넘어갈 가능성이 없지 않다는 것이다. 그래서 꼭 필요할 때만 엄격한 페이지 검사를 하도록 하면 좋을 것이다. \cpstricttrue\cpstrictfalse를 이용해서 엄격한 페이지 검사를 켜거나 끌 수 있다.

/!\ NOTE: 2단 문서에서 adjustwidth 환경은 두 개의 칼럼을 동일하게 취급한다. 예를 들어 문단폭이 바깥쪽 마진으로 더 넓어지면 홀수쪽에서는 추가 길이가 모든 단의 오른쪽으로 올 것이고 짝수쪽에서는 왼쪽으로 올 것이다. 원치 않는 결과가 생긴다면 수작업으로 조절해야 할 수도 있다.

5 \checkoddpage 명령

\checkoddpage 명령은 TeX이 현재 조판하고 있는 페이지가 홀수쪽인지 짝수쪽인지 결정하는 데 사용한다. 홀수쪽이면 \ifcpoddpage 가 TRUE가 되고 짝수쪽이면 FALSE가 된다.

이것은 \checkoddpage 명령에 의해 label을 만드는 방식으로 동작한다. \pageref 명령은 label을 체크한다. 정확하게 말하면 새로운 \pageref 명령이 필요한데 이 명령은 \checkoddpage가 내부적으로 사용한다.

label 지시자는 \cplabelprefix 명령으로 이루어져 있고 자동적으로 번호가 부여된다. \cplabelprefix는 기본값이 ''''''^''''''_''''''인데 만약 필요하다면 바꿀 수 있다. 기본형은 ^_N (N은 양의 정수) 형식이다.



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-11-16 15:26:41
Processing time 0.0737 sec