%% cjk-ko-doc.tex
%%
%% This file is in public domain

\ifcase\pdfoutput
\documentclass[dvipdfmx,b5paper]{article}
\else
\documentclass[b5paper]{article}
\fi
\usepackage{geometry}
\usepackage[cjk,hangul,usedotemph]{kotex}
\usepackage{xcolor,hologo,hyperref}
\hypersetup{
  pdftitle={cjk-ko 간단 매뉴얼},
  pdfauthor={Dohyun Kim},
  pdfkeywords={CJK, LaTeX, Korean, ko.TeX}
}

\def\cs#1{\texttt{\color{teal}\char92 \chardef\{=123 \chardef\}=125 #1}}
\def\koTeX{\textsf{k}\kern-.1em\textit{o}.\kern-.1667em\TeX}
\def\cjkko{\mbox{CJK-\textsf{k}\kern-.1em\textit{o}}}

\linespread{1.3}

\title{\cjkko\ 간단 매뉴얼}
\author{Dohyun Kim \normalsize $<$\texttt{nomos at ktug org}$>$ \and
  \normalsize $<$\url{http://github.com/dohyunkim/cjk-ko}$>$}
\date{Version 2.5\quad \today}
\begin{document}
\maketitle

\begin{abstract}
  For introduction in English, please see \verb|README| file in this package.

  본래 \TeX\ Writer라는 iOS 앱을 위해 만들었던 한글 패키지를 \TeX\ Live용으로
  수정했다. 특히 \TeX\ Live 버전에서는 나눔글꼴을 트루타입 대신 Type1
  글꼴---물론 subfont들이다---로 변환해 넣음으로써 다양한 DVI 툴을 이용할 수
  있게 했다.

  1.3 버전부터는 나눔글꼴이 아닌 다른 한글 폰트를 패키지 옵션으로 지정해서 쓸
  수 있다.

  2.1 버전부터는 자동조사가 한글 다음에 올 때도 바르게 동작한다.
\end{abstract}

\tableofcontents

\section{소개}
  \begin{itemize}
    \item CJK 패키지의 \texttt{UTF8} 환경 이용
    \item 복잡한 환경 지시 없이 \texttt{kotex}만 부르면 바로 한글 가능
      \begin{itemize}
        \item[] \hskip2cm \fbox{\vtop{\hsize=.5\textwidth\baselineskip=1.1em
            \cs{begin\{document\}}\par
            \cs{begin\{CJK\}\{UTF8\}\{mj\}}\par
            \leavevmode\llap{불필요 $\rightarrow$\quad}\quad $\cdots$\par
            \cs{end\{CJK\}}\par
            \cs{end\{document\}}}}
      \end{itemize}
    \item 한글 문서에 최적화된 줄바꿈 기능~--- 예: 괄호 앞뒤, 수식 뒤
    \item 영문자와 한글의 조화 추구~--- 예: 한글 글자 크기 조정 허용
    \item 기초적인 자동조사 기능
    \item 오로지 \dotemph{현대 한국어} 문서를 위한 패키지~---
      중세한글, 일본어, 중국어는 지원하지 않는다.
  \end{itemize}

\section{Package options}
  \begin{description}
    \item[불러오기]: \quad\cs{usepackage[cjk]\{kotex\}}
      \medskip
    \item[패키지 옵션] 열거되지 않은 옵션은 CJKutf8 패키지에 그대로 전달된다.
      \begin{itemize}
        \item[\texttt{cjk}] \TeX\ Live에선 이 옵션이 없으면 kotexutf\,가
          로드된다. 단, \verb|kotexutf.sty| 파일을 찾을 수 없다면
          이 옵션이 없더라도 \cjkko\ 패키지를 부른다.
        \item[\texttt{hangul}] 한글 캡션, 줄 간격, 단어 간격, frenchspacing
          등의 조정이 이루어진다. 문서의 주된 언어가 한글이라고 선언하는 옵션
        \item[\texttt{hanja}] \verb|[hangul]| $+$ 한자 캡션
        \item[\texttt{nojosa}] 자동조사 기능 끄기. 이 옵션을 주더라도
          자동조사 명령이 에러를 내는 건 아니다.
        \item[\texttt{usedotemph}] \cs{dotemph} 명령 허용\\
          --- 이 옵션은 ulem 패키지도 부르므로 \uline{밑줄 긋기} 가능.
          단, \cs{normalem} 명령이 선언돼 있으므로 \cs{emph} 명령이
          밑줄긋기로 동작하게 하려면 \cs{ULforem} 선언이 있어야 한다.
        \item[\texttt{usecjkt1font}] 영문자도 한글 글꼴로 식자.
           라틴 알파벳이 거의 없는 소설책 따위에 유용할 수 있다.
        \item[\texttt{mj=<font>}] CJK 명조 글꼴을 지정한다. 예컨대
          \verb|[mj=utbt]|.
        \item[\texttt{gt=<font>}] CJK 고딕 글꼴을 지정한다. ttfamily에도
          이 글꼴이 쓰인다.
        \item[\texttt{truetype}] 트루타입 폰트를 사용자 글꼴로 지시했다면
          이 옵션을 주어야 텍스트 추출이 가능해진다. PDF\LaTeX 에서만 유의미하다.
      \end{itemize}
  \end{description}

\section{User commands}
  \begin{description}
    \item[\cs{CJKscale}] 한글만 글자크기 조정
      \begin{itemize}\leftskip-1cm
        \item 예: \cs{CJKscale\{0.95\}}
        \item \verb|[usecjkt1font]| 옵션과는 같이 쓸 수 없다.
        \item \verb|[hangul]| 옵션 아래서는 단어 간격, 줄 간격,
          들여쓰기 크기도 자동 조정
        \item 전처리부에서만 쓸 수 있다.
      \end{itemize}
    \item[\cs{lowerCJKchar}] 한글만 아래로 끌어내려 식자
      \begin{itemize}\leftskip-1cm
        \item 예: \cs{lowerCJKchar\{-0.07em\} \% 끌어올려 식자}
        \item \verb|[usecjkt1font]| 옵션과는 같이 쓸 수 없다.
        \item 전처리부에서만 쓸 수 있다.
      \end{itemize}
    \item[\cs{dotemph}] \dotemph{드러냄표}
      \begin{itemize}\leftskip-1cm
        \item 예: \cs{dotemph\{드러냄표\}}
        \item \verb|[usedotemph]| 옵션 아래에서만 쓸 수 있다.
        \item \koTeX 과 마찬가지로 \cs{dotemphraise} \cs{dotemphchar} 명령
          재정의 가능
      \end{itemize}
    \item[기타] 사용자 명령은 CJK 패키지 문서를 참조
  \end{description}

\section{자동 조사}
  \begin{itemize}
    \item \koTeX 과 마찬가지로 \cs{은} \cs{는} \cs{이} \cs{가}
      \cs{을} \cs{를} \cs{와} \cs{과} \cs{로} \cs{으로} \cs{라}
      \cs{이라}\,를 쓸 수 있다.
    \item \cs{ref} \cs{pageref} \cs{nameref} \cs{cite} 뒤에서만 정상 동작
    \item 아스키문자와 한글 뒤에서만 정상 동작
    \item 사용자가 \cs{jong} \cs{jung} \cs{rieul} 명령을
      첨가해 조사 선택을 바로잡을 수 있다.\par
      \begin{itemize}
        \item[예:] \cs{cite\{king\}}\cs{을} \ldots\\
                   \hskip1.3em\ \cs{bibitem[King}\cs{jong]\{king\}}
      \end{itemize}
  \end{itemize}

\section{한글 카운터}

\begin{table}
    \centering
    \def\cs#1{\texttt{\bfseries #1}}
  \begin{tabular}{rl}\\
    \hline
    \cs{jaso}& ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ\\
    \cs{gana}& 가 나 다 라 마 바 사 아 자 차 카 타 파 하\\
    \cs{ojaso}& ㉠ ㉡ ㉢ ㉣ ㉤ ㉥ ㉦ ㉧ ㉨ ㉩ ㉪ ㉫ ㉬ ㉭\\
    \cs{ogana}& ㉮ ㉯ ㉰ ㉱ ㉲ ㉳ ㉴ ㉵ ㉶ ㉷ ㉸ ㉹ ㉺ ㉻\\
    \cs{pjaso}& ㈀ ㈁ ㈂ ㈃ ㈄ ㈅ ㈆ ㈇ ㈈ ㈉ ㈊ ㈋ ㈌ ㈍\\
    \cs{pgana}& ㈎ ㈏ ㈐ ㈑ ㈒ ㈓ ㈔ ㈕ ㈖ ㈗ ㈘ ㈙ ㈚ ㈛\\
    \cs{onum}&  ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮\\
    \cs{pnum}& ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂\\
    \cs{oeng}& ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ $\cdots$ ⓩ\\
    \cs{peng}& ⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ $\cdots$ ⒵\\
    \cs{hnum}& 하나 둘 셋 넷 다섯 여섯 일곱 여덟 아홉 열 열하나 $\cdots$ 스물넷\\
    \cs{Hnum}& 첫 둘 셋 넷 다섯 여섯 일곱 여덟 아홉 열 열한 $\cdots$ 스물넷\\
    \cs{hroman}& ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ\\
    \cs{hRoman}& Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ\\
    \cs{hNum}& 일 이 삼 사 오 육 칠 팔 구 십 십일 십이 $\cdots$ 이십사\\
    \cs{hanjanum}& 一 二 三 四 五 六 七 八 九 十 十一 十二 $\cdots$ 二十四\\
    \hline
  \end{tabular}
  \caption{한글 카운터 목록}\label{hangulcounters}
\end{table}

\koTeX\ 패키지와 동일하다.
표~\ref{hangulcounters}\를 참조.
사용례: \cs{pagenumbering\{onum\}}

\section{\texttt{kotex.sty}}
다양한 \koTeX\ 패키지로의 준자동적인 연결을 담당하는 스타일 파일이다.
\begin{itemize}
  \item \verb|[cjk]| 옵션을 주면 \cjkko\ 패키지를 로드한다.
    다만 \hologo{XeTeX} 혹은 \hologo{LuaTeX} 엔진이 가동되고 있다면
    이 옵션은 무시된다.
  \item \verb|[euc]| 옵션을 주면 \verb|kotex-euc| 패키지를 로드한다.(이
    패키지는 텍라이브에 들어있지 않으므로 KTUG 사설 저장소로부터
    설치해야 한다) \hologo{XeTeX} 엔진 하에서는 이 옵션은 무시된다.
    그러나 \hologo{LuaTeX} 엔진이 가동되고 있다면
    \verb|\luatexuhcinputencoding=1| 명령이 자동으로 실행된다.
  \item 위 두 가지 옵션이 모두 지시되지 않았다면 현재 동작 중인 텍 엔진을
    감지해서 \verb|kotexutf.sty|, \verb|xetexko.sty|, 혹은 \verb|luatexko.sty|
    가운데 하나를 로드한다.  플레인텍에서도 마찬가지로 동작한다.
  \item 어느 경우이든 사용자가 지시한 여타 패키지 옵션들은 새로 불려지는
    패키지에 모두 투명하게 전달된다.
\end{itemize}

\section{License}
\begin{itemize}
  \item GPL~--- \verb|cjkutf8-*| 파일의 라이선스는 CJK 패키지와
    같을 수밖에 없다.
  \item LPPL~--- \verb|ko*| 파일들은 \koTeX\ 패키지에서 유래한다.
\end{itemize}
\nobreak\hfill \fboxsep=-\fboxrule \fbox{\vbox to1em{\hbox to1em{\hss}\vss}}

\end{document}
