KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
People who take cat naps don't usually sleep in a cat's cradle.
FrontPage › Karnes/Oblivoir/FAQ
oblivoir 클래스 사용에 관련된 질문과 답변입니다.
<!> oblivoir는 memoir를 바탕으로 제작된 것이므로, memoir의 모든 기능을 사용할 수 있습니다.

목차

1 일반적인 사용법
1.1 문서 만들기
1.1.1 latex -> dvipdfmx
1.1.2 pdflatex
1.1.3 latex -> dvips -> ps2pdf
1.2 용지와 여백, trim mark
1.2.1 fapapersize 패키지의 옵션 사용
1.2.2 \usefapapersize 명령
1.2.3 여백만 설정할 때
1.2.4 임의의 용지 크기
1.2.5 trim mark
1.2.6 TIP: landscape?
1.3 한글을 쓰지 않을 때
1.4 글꼴
1.4.1 글꼴 크기 옵션
1.4.2 글꼴 명령
1.4.3 본문 글꼴의 선택
1.4.4 강조와 기울임
1.4.5 자간과 단어간격
1.4.6 행간
1.5 pdf 북마크
1.6 절표제의 항번 형식
1.7 페이지 스타일
1.8 각주 번호
1.9 부록
1.10 hangul-ucs 4.0 관련 옵션
1.11 subfigure 관련 옵션
2 Tips and tricks
2.1 절표제 항번 붙이지 않기
2.2 TOC의 자릿수
2.3 nokorean 문서의 hypersetup
2.4 Oblivoir의 chapter
2.5 maketitle의 수직 위치
2.6 enumerate의 항목 머리(item label)
2.7 thanksnote의 모양
2.8 xoblivoir와 mathspec
3 QnA

1 일반적인 사용법

1.1 문서 만들기

1.1.1 latex -> dvipdfmx

\documentclass{oblivoir}
\begin{document}
본문
\end{document}

1.1.2 pdflatex

\documentclass{oblivoir}
\ifpdf
<pdflatex stuffs>
\fi
\begin{document}
본문
\end{document}
<pdflatex stuffs>의 예는 다음과 같은 것이다.
\pdfmapfile{+mskttfonts-pdftex.map}

1.1.3 latex -> dvips -> ps2pdf

  • [dvips] 옵션을 지정한다.
  • 기본 폰트(은글꼴)를 쓸 때는 별도의 지정이 필요없으나, 한글 트루타입 폰트는 이 경우 권장하지 않음. 즉 윈도 기본 글꼴 등은 사용하지 않는 것이 좋다. KC2006-2-MINI 추가 설치의 Fonts를 선택하였다면 백묵글꼴과 문화부글꼴의 type 1 글꼴을 쓸 수 있다.
  • \documentclass[dvips]{oblivoir}
    \begin{document}
    본문
    \end{document}
    

1.2 용지와 여백, trim mark

1.2.1 fapapersize 패키지의 옵션 사용

용지크기설정: 사륙배판 크기의 pdf를 만드는 단순 문서를 만들 때
=> fapapersize의 용지크기 옵션은, 현재, 사륙배판[dbl4x6], 국판[mum], 신국판[newmum]이 있다.
\documentclass{oblivoir}
\usepackage[dbl4x6]{fapapersize}
\begin{document}
본문
\end{document}

1.2.2 \usefapapersize 명령

여백설정: fapapersize를 옵션 없이 쓰면 아무 일도 하지 않지만, \usefapapersize 명령으로 편집용지크기와 여백을 조절할 수 있다. 파라미터는 paperwidth, paperheight, leftmargin, rightmargin, uppermargin, lowermargin 여섯 개로, 다음과 같이 쓴다.
=> 옵션도 주고 이 명령도 쓰는 경우는 옵션이 우선한다.
=> rightmargin=leftmargin일 때는 네번째 것을 별표, lowermargin=uppermargin일 때는 여섯번째 것을 별표하면 간편하다.
\usepackage{fapapersize}
\usefapapersize{210mm,297mm,30mm,*,30mm,32mm}

1.2.3 여백만 설정할 때

첫번째와 두번째 옵션도 별표를 쓸 수 있다. 별도로 papersize를 설정하고 싶지 않고 기본값 또는 문서옵션에서 주어진 크기를 그대로 쓰고 여백만 설정하려 할 때,
\usepackage{fapapersize}
\usefapapersize{*,*,30mm,*,30mm,*}

1.2.4 임의의 용지 크기

[stock] 옵션이 주어지면 임의의 용지 크기를 설정할 수 있다.
  • 일반적으로는 문서 옵션 [a4paper]으로 설정한다. 이런 옵션이 아닌 별도 사이즈를 지정할 때 사용하는 것이 [stock]이다.
  • \usefastocksize 명령으로 임의 용지 크기를 설정한다. => \usefastocksize는 성격상 \usefapapersize보다 먼저 쓰여야 한다.

1.2.5 trim mark

  • 문서 옵션으로 [showtrims]를 설정하면 트림마크를 그릴 수 있다. 이 경우는 stock(용지) 사이즈보다 트림될 사이즈(papersize)가 작아야 효과가 있다.
  • trim mark는 L-mark가 기본값이지만 memoir 클래스의 다른 mark로 바꿀 수 있다. preamble에 \trimFrame을 지정해보라.
  • trim mark 표시: a4paper size stock 위에 사륙배판 크기의 문서를 만들고 trim mark 표시할 때
    \documentclass[a4paper,showtrims]{oblivoir}
    \usepackage[dbl4x6]{fapapersize}
    \begin{document}
    본문
    \end{document}
    
  • 임의의 stock 위에 임의의 papersize를 설정하는 예
    \documentclass[showtrims,stock]{oblivoir}
    \usepackage{fapapersize}
    \usefastocksize{100mm,120mm}
    \usefapapersize{80mm,100mm,20mm,*,20mm,*}
    

1.2.6 TIP: landscape?

문서 옵션으로 [landscape]를 주는 방법 대신, 가로와 세로 길이를 변화시켜 landscape 효과를 얻는 방법도 있다. 다음은 한 가지 예이다.
\documentclass{oblivoir}
\usepackage{fapapersize}
\usefapapersize{297mm,210mm,35mm,*,35mm,40mm}

1.3 한글을 쓰지 않을 때

\documentclass[nokorean]{oblivoir}
\begin{document}
[nokorean] 옵션을 지정하면 hyperref을 로드하지 않으며 한글은 식자되지 않는다.

1.4 글꼴

1.4.1 글꼴 크기 옵션

기본값은 10pt이다. 이외에 memoir가 제공하는 다른 기본글꼴크기 옵션이 동작한다.

oblivoir는 [10.5pt] 옵션이 하나 더 있다. 10.5 포인트 본문 글꼴을 사용하려면
\documentclass[10.5pt]{oblivoir}
10.5 포인트 본문 글꼴 사용시 영문자 글꼴도 비례적으로 커지는 것을 방지하려면
\documentclass[10.5pt,romanfixed]{oblivoir}

1.4.2 글꼴 명령

memoir에서는 \bf, \tt와 같은 LaTeX 2.09식 글꼴 명령이 없다. LaTeX2e\textbf, \ttfamily, \texttt 등을 써야 한다. 다만 부득이한 경우 호환성을 위해서 LaTeX 2.09 글꼴 명령을 사용해야 한다면, [oldfontcommands] 옵션을 지정한다.
\documentclass[oldfontcommands]{oblivoir}
그러나 이것은 그다지 권장할 만한 옵션이 아니다.

1.4.3 본문 글꼴의 선택


윈도 기본 폰트를 쓰려면(dvipdfmx 권장)
\SelectHfonts{kxbt,kxgt,kxdt}{*}
문화부 글꼴을 기본 폰트로 쓰려면(한글 부분만 적용)
\SelectHfonts{mhmj,mhgt,utgt}{utbt,*,*}
백묵글꼴을 쓰려면(두꺼운 글꼴이 없는 대신 고딕체로 대체됨)
\SelectHfonts{baekmuk,*,*}{*}
더 자세한 사항은 Karnes/Oblivoir/Fonts를 볼 것.

1.4.4 강조와 기울임

강조(textit, itshape, emph)에 관련된 부분이 그래픽체 폰트로 찍히는 것이 기본값임. 만약 이것을 이탤릭(기울임)으로 바꾸고 싶다면,
\documentclass[itemph]{oblivoir}
이탤릭으로 바꾸고 싶지는 않으나 "그래픽 체"를 다른 글꼴로 바꾸고 싶다면
\SetGremphFonts{kxdt}{kxdt}
=> kxdt는 윈도 기본 돋움 글꼴이며, 이 명령은 preamble에서 쓰임. 두 개의 인자를 다 지정해야 하고 첫번째 인자는 한글, 두번째 인자는 한자와 기호문자에 해당함.

1.4.5 자간과 단어간격

자간은 dhucs의 hangul font spec을 이용하여 제어한다(여기에 대해서는 Hangul-ucs의 문서 dhucsdoc를 참조할 것.) 다만 일시적으로 자간을 조절할 필요가 있을 때
\interHchar{-0.5pt}
와 같은 방법을 쓸 수는 있다. 단어간격을 제어하는 것은 memhangul의 기능이다. 단어간격은 다음 명령을 이용한다.
\interhword{.35}{.1}{.1}
단위는 em인데 생략하여야 하고 세 개의 인자를 준다. 이것은 .35em plus .1em minus .1em으로 치환된다. nonfrenchspacing에서 필요한 xspaceskip은 이 명령의 선택인자로 지정할 수 있다.
\interhword[.45]{.35}{.1}{.1}
주의할 것은, 자간은 비교적 엄격히 그 간격이 지켜지지만 단어간격은 조판상황에 따라 매우 다른 결과를 얻는다는 것이다. 동일한 단어간격을 지정해도 자간을 좁히면 전혀 다른 결과가 나타날 수 있다. 따라서 단어간격을 임의로 바꾸는 것은 판면에 대하여 확신이 섰을 때만 하는 것이 좋겠다.

1.4.6 행간

기본 행간의 변경은 다음과 같이 한다. 자세한 사항은 dhucs 설명서를 참조한다.
\SetHangulspace{1.5}{1.2}
문장 중간에서 행간 변경이 필요하다면
\ResetHangulspace{1.3}{1.1}
이밖에 \linespread를 이용한 기본 행간 지정 및 spacing 환경을 이용한 일부 행간 지정 등이 모두 가능하다.

1.5 pdf 북마크

[nokorean] 옵션을 쓰지 않는 이상 pdf 북마크가 만들어지는 것이 default이다. pdf 북마크를 만들지 않게 하려면
\documentclass[nobookmarks]{oblivoir}

1.6 절표제의 항번 형식

절표제항을 "제 1 절"과 같은 형식으로 쓰려면
\documentclass[kosection]{oblivoir}
=> 이 옵션을 준 다음에는 \kscntformat{section}{}{마당} 과 같은 형식(HLaTeX 이래 익숙한)으로 절표제 항을 조절할 수 있습니다. 다만 목차에서 절표제 항의 너비를 자동으로 계산하는 기능이 뜻한 대로 작동하지 않는다면 \cft... 매크로를 이용하여 설정하십시오.

1.7 페이지 스타일

oblivoir의 pagestyle default는 (article과 같은) plain이다. 그러나 memoir 방식으로 pagestyle을 정의해서 쓰거나 기존의 것을 선언하여 쓸 수 있다.

TIP. memhangul-ucs의 [hangul] 페이지 스타일을 쓰려면
\documentclass[twoside]{oblivoir}
\pagestyle{hangul}
%%
\markboth{내 문서}{\rightmark}
=> chapter가 없기 때문에 \leftmark가 갱신되지 않을 수 있습니다. 이 경우는 \leftmark를 직접 위와 같이 \markboth로 설정해주면 됩니다. 이 선언은 \tableofcontents 다음 첫번째 절이 시작하기 전에 하면 좋습니다. 내 문서 대신 \thetitle과 같이 문서 전체의 제목을 붙이는 방법도 있습니다.

1.8 각주 번호

각주 번호를 1), 2),...와 같은 형식으로 쓰려면
\documentclass[footnote]{oblivoir}

1.9 부록

부록에 관련된 매크로
  • \AppendixTitle 부록 표제를 찍는다.
  • \AppendixTitleToToc 목차에 "부록"이라는 표제가 나타나게 한다.
  • \AttachAppendixTitleToSecnum 부록의 섹션 넘버에 "부록"이라는 이름을 붙인다.
  • \appref 부록에 대해 참조하려 할 때.
  • \appendixname, \appendixrefname renewcommand해줄 수 있다.

부록의 chapter, subsection etc.
  • 부록에 chapter, subsection, subsubsection 등이 있는 경우,
    \renewcommand\thechapter{\Alph{APPchapter}}
    \renewcommand\thesubsection{\thesection.\arabic{APPsubsection}}
    
    • thesection은 미리 정의되어 있음. 마찬가지 방법으로 바꿀 수 있음.
    • 수식이 A.1 처럼 나오지 않는다면
      \counterwithin{equation}{APPchapter}
      
  • 부록의 subsection까지만 toc에 나오게 하려 할 때, \appendix 명령 이후에
    \settocdepth{chapter}
    

1.10 hangul-ucs 4.0 관련 옵션

  • [nofinemath] : oblivoir 0.2.2 이후 버전은 finemath가 기본(default)임. 이것을 끄려면 nofinemath 옵션을 지정한다.
  • [microtype] : microtype 패키지를 로드하고 font-expansion을 활성화함.

1.11 subfigure 관련 옵션

  • v0.3.1 (20071023) 부터 추가됨.
  • memoir 자체에 subfigure 기능이 있기 때문에 일반적으로 subfigure를 로드할 필요가 없으며, subfigure보다는 최신의 것인 subfig 패키지를 쓰는 것이 좋다.
  • 그러나, LyX과 함께 사용하는 등의 경우 subfigure가 꼭 필요할 때가 있다.
  • [subfigure] 옵션을 선언하면 \usepackage{subfigure} 라고 할 때도 에러 메시지를 보여주지 않게 한다.
  • 주의. 이 옵션을 주고 \usepackage{subfigure} 하는 것을 잊으면 오작동할 수 있음.

2 Tips and tricks

2.1 절표제 항번 붙이지 않기

\section* 명령을 쓰는 이유는 절표제 항번을 붙이지 않으려고 그러는 것이다. 그러나 oblivoir에서는 pdf bookmark를 만들어야 하기 땜에 \section*을 쓰는 게 귀찮다.
\maxsecnumdepth{chapter}
이것으로 \section* 대신 그냥 \section을 쓰면 된다. 절표제 항번을 붙이지 않으면서도 bookmark를 만들어준다. 원한다면 toc도 만들 수 있다. 물론... 한두 개의 \section* 을 별도로 두는 경우는 예외.

2.2 TOC의 자릿수

\tableofcontents의 경우 절 번호가 "두 자리"라고 가정하고 toc가 만들어진다. 만약 section의 수가 10개 미만이라면, 다음과 같은 트릭을 쓰면 절 항번을 "한 자리" 위치에 식자할 수 있다.
\documentclass[kosection]{oblivoir}
\kscntformat{section}{}{}

2.3 nokorean 문서의 hypersetup

nokorean option 을 사용할때에는 한글 관련한 명령어가 들어가면 에러가 생기고, 명시적으로 hypersetup 을 로드해 주어야 한다. nokorean option 에 따라서 자동으로 한글 관련 옵션이 들어가게 하기 위한 예제는 다음과 같다.
\documentclass[oldfontcommands]{oblivoir}

% 옵션에 따라서 hyperref 혹은 hypersetup 을 사용한다. 
\ifnokorean
\usepackage[colorlinks,backref,bookmarks
  ,pdftitle={knoweb.sty}
  ,pdfauthor={smcho}
  ,pdfpagemode={UseOutline}
  ,bookmarksopen={true}
  ]{hyperref}
\usepackage{moreverb}
\else
\hypersetup{colorlinks,backref, %bookmarks
 ,pdftitle={knoweb.sty}
  ,pdfauthor={smcho}
  ,pdfpagemode={UseOutline}
  ,bookmarksopen={true}
  }
\fi

\ifpdf
  % pdflatex 에서 은글꼴 맵을 읽어 들이거나 윤폰트가 설치되어 있는 경우 윤폰트를 읽어 들인다. 
  \ifnokorean\else
    \usepackage{dhucs-cmap}
    \IfFileExists{ynttf.sty}{\pdfmapfile{+ynttf-pdftex}}{\pdfmapfile{+unttf-pdftex-dhucs.map}}
  \fi
  \usepackage{pdfsync}
  \usepackage[pdftex]{graphicx}
\else
  \usepackage{graphicx}
  \DeclareGraphicsExtensions{.jpg,.pdf}
  \DeclareGraphicsRule{.jpg}{eps}{.bb}{}
  \DeclareGraphicsRule{.pdf}{eps}{.bb}{}
\fi


\graphicspath{{pic/}}

% 만일 트루타입 폰트가 설정되어 있으면 그것을 읽어 들인다. 
\ifnokorean\else
  \IfFileExists{ynttf.sty}{
  \SetHangulFonts{ynbt}{yngt}{untz}
  \SetHanjaFonts{ynbt}{yngt}{ungt}
  \def\titlefont{\SetAdhocFonts{ynmg}{ungt}}
  \interhchar{0pt}
}{}
\fi

\begin{document}
....

2.4 Oblivoir의 chapter

oblivoir는 article을 흉내내려는 것이었기 때문에 chapter가 없는 상황을 전제하고 만들어졌다. 그러나 동시에 oblivoir는 memoir이기도 하기 때문에 마음만 먹으면 chapter를 쓸 수도 있다. oblivoir 0.17.2C 버전은 \chapter 명령을 활성화할 수 있게 하는 [chapter] 옵션을 제공한다. \chapterstyle 대신 \oblivoirchapterstyle을 쓸 수 있다.
\documentclass[chapter,openright,twoside]{oblivoir}
\begin{document}
\oblivoirchapterstyle{default}
\chapter{챕터 테스트}
본문
\end{document}

oblivoir에서 \chapter를 쓰려 할 때 chapterstyle은 전적으로 사용자가 정의해야 할 몫이다. 물론 memoir에 정의되어 있고 memhangul에서 수정한 대부분의 chapterstyle을 그대로 쓸 수도 있다. 다음은 그 한 예이다.
\chapterstyle{companion}
또는
\chapterstyle{headings}

한편, memoir의 기능을 충분히 활용하여 chapter 스타일을 정의하는 것이 가능하다. chapter style의 정의에 대해서는 memucs-manual 문서를 참고하기 바란다. 한글화를 위한 몇 개의 추가 매크로를 다루는 방법이 설명되어 있다.

예를 들어 다음과 같은 문서를 생각해보자. 이 예는 [http]MemoirChapStyles에서 가져온 것을 수정한 것이다.
\documentclass[chapter,twoside,openright]{oblivoir}
%%%%%%%%%% code from MemoirChapStyles.pdf
\usepackage{graphicx,color}
\definecolor{nicered}{rgb}{.647,.129,.149}
\makeatletter
\newlength{\numberheight}
\makechapterstyle{TroelsPedersen}{%
\renewcommand{\chapnamefont}{\normalfont\LARGE\itshape}
\renewcommand{\chapnumfont}{\normalfont\HUGE\itshape\color{nicered}}
\renewcommand{\chaptitlefont}{\normalfont\huge\itshape\color{nicered}}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptername}{} %%% meaningless in memhangul
\renewcommand{\prechapternum}{} %%% memhangul
\renewcommand{\postchapternum}{} %%% memhangul
\renewcommand{\hchaptertitlehead}{\thechapter.} %%% memhangul
\setlength{\numberheight}{20mm}
\renewcommand{\chapternamenum}{}%
\renewcommand{\printchapternum}{%
\sidebar{\makebox[0pt][l]{%
\resizebox{!}{\numberheight}{\chapnumfont\thechapter}}%
}}%
\renewcommand\printchaptertitle[1]{\chaptitlefont##1}
\setlength{\beforechapskip}{20pt}
\setlength{\midchapskip}{0pt}
\setlength{\afterchapskip}{10pt}
\setlength{\cftchapterindent}{0pt}
\setlength{\cftchapternumwidth}{1.8em}
\setlength{\cftbeforechapterskip}{1.8em}
}
\makeatother

\AtBeginDocument{% 
\oblivoirchapterstyle{TroelsPedersen}
}
%%%%%%%%%%
\begin{document}
\tableofcontents
\chapter{oblivoir에 chapter는 있는가?}
\section{첫번째 절}
oblivoir라고 chapter가 없으라는 법도 없기 때문에...

\oblivoirchapterstyle{default}
\oblivoirchapterstyle{demovar}
\chapter{이 코드는 어디에서?}
CTAN에 가면 좋은 예제가 있다.
\end{document}

2.5 maketitle의 수직 위치

oblivoir로 한쪽짜리 문서를 만들거나 할 때 \maketitle이 시작하는 위치의 위쪽 여백이 아까운 경우가 있다는 질문이 어딘가에 있었는데.... \droptitle이라는 길이변수값을 조절하면 된다.
\addtolength{\droptitle}{-2em}

2.6 enumerate의 항목 머리(item label)

oblivoir 0.2.4 이후 버전에서 지원한다.
\begin{enumerate}[①]
\item ...
\end{enumerate}
  • A, a, i, I, 1
  • 가, ㄱ, ㉠, ㉮, ㈀, ㈎, ①, ⑴, ⒜, ⓐ, ⅰ, Ⅰ (nokorean에서는 동작하지 않음)

2.7 thanksnote의 모양

[footnote] 옵션을 주면 footnote의 모양은 원하는 대로 변하는데 \thanks는 여전히 옛날 모양 그대로이다. 이것을 footnote 모양과 같이 만들려면
%%% thanks note style
\newsavebox\mytnxtmpbox\sbox\mytnxtmpbox{\footnotesize 99)\ }
\thanksmarkstyle{\makebox[\wd\mytnxtmpbox][r]{\textsuperscript{*}\ }}
\setlength\thanksmarksep{\wd\mytnxtmpbox}
\setlength\thanksmarkwidth{0pt}
thanksresult.png

2.8 xoblivoir와 mathspec

XeTeX + xoblivoir에서 mathspec을 로드하면 에러가 뜨는 현상
=> 다음과 같이 하십시오.
\usepackage[preload=mathspec]{xoblivoir}

3 QnA

XeTeX으로 컴파일
  • XeTeX 문법에 맞게 코딩하면 충분.
    \documentclass{oblivoir} %%% or, xoblivoir
    \ifxetex
     \setmainfont...
    \fi
    

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-07-06 09:32:18
Processing time 0.0764 sec