summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-26 21:35:57 +0000
committerKarl Berry <karl@freefriends.org>2014-06-26 21:35:57 +0000
commitfa270934a06684f332679e4d5d35972734403b36 (patch)
tree8a3facbe85b50e9b636d66071acdcd339914ffda /Master
parentbce2dfa6528586879c761f6df43e20cc21afb42f (diff)
kotex-oblivoir (26jun14)
git-svn-id: svn://tug.org/texlive/trunk@34430 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/ChangeLog24
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/README17
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/README.md122
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.pdfbin0 -> 308258 bytes
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.tex (renamed from Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.tex)985
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.pdfbin180857 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-test.tex1377
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-common.sty258
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-patch.sty171
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-ucs.sty44
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memucs-gremph.sty5
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/luatexko-xobfont.sty608
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/memhangul-x.sty34
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-var.sty28
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-xobfont.sty1060
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-dotemph.sty52
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-font.sty678
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-paralist.sty8
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-base.cls34
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-xlua.cls38
-rw-r--r--Master/texmf-dist/tex/latex/kotex-oblivoir/xoblivoir.cls14
21 files changed, 1827 insertions, 3730 deletions
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/ChangeLog b/Master/texmf-dist/doc/latex/kotex-oblivoir/ChangeLog
index 7f268933fea..47012f2c7c4 100644
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/ChangeLog
+++ b/Master/texmf-dist/doc/latex/kotex-oblivoir/ChangeLog
@@ -1,3 +1,27 @@
+2014-06-25 Kangsoo Kim <karnes at ktug org>
+
+ Version 2.1.0
+
+ * oblivoir-base.cls: version 0.6
+ use new xob-font.sty, replace \renewcommand's with \setlength's.
+ * oblivoir-xlua.cls: version 0.7
+ use new xob-font.sty, replace false \renewcommand with \setlength.
+ * xoblivoir.cls: fontspec option introduced.
+ * doc/oblivoir-simpledoc.tex: revised for version 2.1.0.
+ * doc/oblivoir-test.tex: minor fixes.
+ * memhangul-ucs/memhangul-common.sty: minor fixes to section titles.
+ * memhangul-ucs/memhangul-patch.sty: move patches into main code base.
+ * memhangul-ucs/memhangul-ucs.sty: version 1.4.4g
+ suppress auto loading etex.sty.
+ * memhangul-ucs/memucs-gremph.sty: \if@unfonts => \if@unfont.
+ * memhangul-x/luatexko-xobfont.sty: removed.
+ * memhangul-x/memhangul-x.sty: use new xob-font.sty.
+ * memhangul-x/xetexko-var.sty: use new xob-font.sty.
+ * memhangul-x/xetexko-xobfont.sty: removed.
+ * memhangul-x/xob-dotemph.sty: \useremph redefined.
+ * memhangul-x/xob-font.sty: newly introduced.
+ * memhangul-x/xob-paralist.sty: minor fixes.
+
2014-04-29 Kangsoo Kim <karnes at ktug org>
Version 2.0.1
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/README b/Master/texmf-dist/doc/latex/kotex-oblivoir/README
index 83b00755a34..e8ed5f9fa8b 100644
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/README
+++ b/Master/texmf-dist/doc/latex/kotex-oblivoir/README
@@ -46,12 +46,11 @@ Files
memhangul-ucs/ob-koreanappendix.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
memhangul-ucs/ob-nokoreanappendix.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
memhangul-ucs/ob-toclof.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-x/luatexko-xobfont.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/memhangul-x.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/memucs-interword-x.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/xetexko-var.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xetexko-xobfont.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/xob-amssymb.sty -> tex/latex/kotex-oblivoir/memhangul-x/
+ memhangul-x/xob-font.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/xob-dotemph.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/xob-hyper.sty -> tex/latex/kotex-oblivoir/memhangul-x/
memhangul-x/xob-paralist.sty -> tex/latex/kotex-oblivoir/memhangul-x/
@@ -59,9 +58,9 @@ Files
### Documents
README (this file) -> doc/latex/kotex-oblivoir/
- oblivoir-simpledoc.pdf -> doc/latex/kotex-oblivoir/
- oblivoir-simpledoc.tex -> doc/latex/kotex-oblivoir/
- oblivoir-text.tex -> doc/latex/kotex-oblivoir/
+ doc/oblivoir-simpledoc.pdf -> doc/latex/kotex-oblivoir/
+ doc/oblivoir-simpledoc.tex -> doc/latex/kotex-oblivoir/
+ doc/oblivoir-text.tex -> doc/latex/kotex-oblivoir/
Usage
-----
@@ -100,9 +99,9 @@ using XeTeX-ko or LuaTeX-ko as follows:
Oblivoir class also has its own commands for specifying Korean fonts.
- \setkormainfont(<Bold>)(<Italic>){<Regular>}
- \setkorsansfont(<Bold>)(<Italic>){<Regular>}
- \setkormonofont{<Mono>}
+ \setkormainfont[<basename>](<Regular>)(<Bold>)(<Italic>)
+ \setkorsansfont[<basename>](<Regular>)(<Bold>)(<Italic>)
+ \setkormonofont[<basename>](<Regular>)(<Bold>)(<Italic>)
### Sample document
@@ -118,5 +117,5 @@ Contacts
--------
Please report any errors or suggestions to the package maintainer,
-Kihwang Lee <leekh at ktug org>.
+Kihwang Lee <leekh at ktug.org>.
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/README.md b/Master/texmf-dist/doc/latex/kotex-oblivoir/README.md
deleted file mode 100644
index c9e59256435..00000000000
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/README.md
+++ /dev/null
@@ -1,122 +0,0 @@
-kotex-oblivoir
-==============
-
-Introduction
-------------
-
-This package contains the oblivoir class, a document class based on
-the memoir class for typesetting Korean documents. kotex-oblivoir
-comes with two sub-packages memhangul-ucs and memhangul-x
-that provide interfaces between the memoir class and the Korean typesetting
-packages.
-
-kotex-oblivoir belongs to the ko.TeX, a comprehensive Korean typesetting
-system together with packages kotex-utf, kotex-plain, kotex-utils,
-cjk-ko, xetexko, and luatexko.
-
-Dependencies
-------------
-
-kotex-oblivoir depends on the following packages to function:
-
-* memoir: base class
-* kotex-utf: Korean typesetting
-
-Files
------
-
-### TeXinputs
-
- oblivoir-base.cls -> tex/latex/kotex-oblivoir/
- oblivoir-xlua.cls -> tex/latex/kotex-oblivoir/
- oblivoir.cls -> tex/latex/kotex-oblivoir/
- xoblivoir.cls -> tex/latex/kotex-oblivoir/
- memhangul-ucs/10_5.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/fapapersize.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/hfontsel.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/hfontspec.nanum -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memhangul-common.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memhangul-patch.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memhangul-ucs.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memucs-enumerate.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memucs-gremph.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memucs-interword.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/memucs-setspace.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/nanumfontsel.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/ob-koreanappendix.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/ob-nokoreanappendix.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-ucs/ob-toclof.sty -> tex/latex/kotex-oblvoir/memhangul-ucs/
- memhangul-x/luatexko-xobfont.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/memhangul-x.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/memucs-interword-x.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xetexko-var.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xetexko-xobfont.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xob-amssymb.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xob-dotemph.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xob-hyper.sty -> tex/latex/kotex-oblivoir/memhangul-x/
- memhangul-x/xob-paralist.sty -> tex/latex/kotex-oblivoir/memhangul-x/
-
-### Documents
-
- README (this file) -> doc/latex/kotex-oblivoir/
- oblivoir-simpledoc.pdf -> doc/latex/kotex-oblivoir/
- oblivoir-simpledoc.tex -> doc/latex/kotex-oblivoir/
- oblivoir-text.tex -> doc/latex/kotex-oblivoir/
-
-Usage
------
-
-Call `oblivoir.cls` with class options as follows:
-
- \documentclass[<options>]{oblivoir}
-
-### Class options
-
-Oblivoir inherits many options from the memoir and underlying
-Korean typesetting packages in addition to its own class options.
-For a detailed description of the class options, please refer
-to the included documentation (written in Korean).
-
-### Specifying Korean fonts
-
-Specifying Korean fonts in oblivoir class depends on the Korean
-typesetting packages being used when compiling a document.
-
-With kotex-utf package, you can use `\SetHangulFonts`, `\SetHanjaFonts`,
-`\SetAdhocFonts`.
-
-You can use fontspec package style commands when typesetting Korean
-using XeTeX-ko or LuaTeX-ko as follows:
-
- \setmainfont[<Options>]{<Font Name>}
- \setsansfont[<Options>]{<Font Name>}
- \setmonofont[<Options>]{<Font Name>}
- \setmainhangulfont[<Options>]{FontName}
- \setsanshangulfont[<Options>]{FontName}
- \setmonohangulfont[<Options>]{FontName}
- \setmainhanjafont[<Options>]{FontName}
- \setsanshanjafont[<Options>]{FontName}
- \setmonohanjafont[<Options>]{FontName}
-
-Oblivoir class also has its own commands for specifying Korean fonts.
-
- \setkormainfont(<Bold>)(<Italic>){<Regular>}
- \setkorsansfont(<Bold>)(<Italic>){<Regular>}
- \setkormonofont{<Mono>}
-
-### Sample document
-
-Please refer to the `oblivoir-test.tex` file provided by this package.
-
-License
--------
-
-kotex-oblivoir is licensed under the LaTeX Project Public
-License (LPPL).
-
-Contacts
---------
-
-Please report any errors or suggestions to the package maintainer,
-Kihwang Lee <leekh@ktug.org>.
-
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.pdf b/Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.pdf
new file mode 100644
index 00000000000..140d2e851bf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.tex b/Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.tex
index 3dc35ee9c2a..92af155de55 100644
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.tex
+++ b/Master/texmf-dist/doc/latex/kotex-oblivoir/doc/oblivoir-simpledoc.tex
@@ -1,9 +1,10 @@
% !TEX Encoding = UTF-8 Unicode
-%%%
-%%% \xobclass{} 2008/10/23
-%%% --10/09 Windows에서 작성/테스트함.
-%%% ---10/10 Ubuntu Hardy에서 테스트함. 나눔명조체 설치.
-%%%
+%% oblivoir-simpledoc.tex
+%% written by Nova De Hi, 2014/06/15
+%% public domain.
+%%
+%% part of oblivoir
+%%
\documentclass[
12pt,
a4paper,
@@ -11,72 +12,66 @@
footnote,
nobookmarks,
microtype,
- hyperref=colorlinks,
-% xcolor=x11names,
-% fontspec=no-math,
-]{xoblivoir} %% ,latinquote
-
-%\documentclass[12pt,a4paper,footnote,xcolor={svgnames}{oblivoir}
+]{oblivoir}
\usepackage{fapapersize}
\usefapapersize{*,*,30mm,*,35mm,*}
\usepackage{kotex-logo}
-\def\myREF#1#2{%
- \ifPDFTeX \ref{#1}\else \ref{#2}\fi
-}
-\def\myLabel#1#2{%
- \ifPDFTeX \label{#1}\else \label{#2}\fi
+\hypersetup{colorlinks,linkcolor=blue}
+
+%%% ifpxltex can be installed from KTUG Private Repository. not included in TeX Live
+\usepackage{ifpxltex}
+
+\IfpxlTeXpxl*{p}{x,l}
+{
+ \def\myREF#1#2{\ref{#1}}
+ \def\myLabel#1#2{\label{#1}}
+ \def\myPageREF#1#2{\pageref{#1}}
}
-\def\myPageREF#1#2{%
- \ifPDFTeX \pageref{#1}\else \pageref{#2}\fi
+{
+ \def\myREF#1#2{\ref{#2}}
+ \def\myLabel#1#2{\label{#2}}
+ \def\myPageREF#1#2{\pageref{#2}}
}
+\def\cs#1{\texttt{\textbackslash #1}}
+\def\util#1{\texttt{#1}}
+\def\ct#1{\texttt{#1}}
+
\ifx\oblivoirdblquote\undefined
\def\oblivoirdblquote#1{``#1''}
\fi
-\ifPDFTeX
-\ifx\XeTeX\undefined
-\def\Xe{\hologo{Xe}}
-\def\XeTeX{\hologo{XeTeX}}
-\def\XeLaTeX{\hologo{XeLaTeX}}
-\fi
-\ifx\LuaTeX\undefined
-\def\LuaTeX{\hologo{LuaTeX}}
-\def\LuaLaTeX{\hologo{LuaLaTeX}}
-\fi
-\else
-%%%%%% tested on Windows XP SP3
-\setkormonofont{은 필기}
-\setmonoscale{0.9}
-\defaultfontfeatures{Mapping=tex-text}
-%%%%%% tested on Linux/Ubuntu
-%\setmainfont[Mapping=tex-text]{Bradley Hand ITC}
-%\setmonofont[Scale=.85]{Comic Sans MS}
-%\setmainfont[Mapping=tex-text]{Monotype Corsiva}
-\setmonofont[Scale=.85]{Monaco}
-%\setkormainfont(문화 궁서 Std L){문화 궁서 흐림 Std L}(){네이버사전}
-\setkormainfont(* Bold)(*){HCR Batang LVT}
-%\setkorsansfont(문화 궁서 Std B)(문화 훈민 Std R){문화 고딕 Std R}(){한컴돋움}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\fi
+\IfpxlTeX*{x,l}
+{
+ \setkomonofont(MalgunGothic)[Scale=0.9]
+ \setobmonofont(Monaco)[Scale=.85]
+ \setobmainfont(Minion Pro)
+ \setobsansfont(Myriad Pro)
+ \setkomainfont[윤명조](320)(340)[ExternalLocation]
+}
\newcommand\xobclass{x\-ob\-liv\-oir\oblivoirallowbreak}
\newcommand\obclass{ob\-liv\-oir\oblivoirallowbreak}
\def\xetexko{\XeTeX-\ko}
+\def\luatexko{\LuaTeX-\ko}
\pagestyle{ruled}
\usepackage{tabu}
-\usepackage[normalem]{ulem}
+
+\IfpxlTeX*{p,x}
+{
+ \usepackage[normalem]{ulem}
+}
\begin{document}
-\title{초간단 \obclass{} v2.0 사용법}
+\title{초간단 \obclass{} v2.1 사용법}
-\date{2013년 10월}
+\date{2014년 6월}
\author{x-ob-liv-oir }
@@ -139,8 +134,8 @@
이 각각의 명령에 대한 정보를 얻으려면, memoir 매뉴얼(\texttt{texdoc memman}),
한글 패키지 매뉴얼(예컨대, \texttt{texdoc kotex}, \texttt{texdoc xetexko})을
읽어야 한다.
-이 문서에서는 위의 두 패키지 층위의 명령군에 대해 언급할 때, 여백에 \fbox{memoir}, \fbox{kotex}등을
-표시하겠다. 그리고 엔진별로 고유한 옵션과 명령에 대해서는 해당 사항을 본문에서 밝힌다.
+%이 문서에서는 위의 두 패키지 층위의 명령군에 대해 언급할 때, 여백에 \fbox{memoir}, \fbox{kotex}등을
+%표시하겠다. 그리고 엔진별로 고유한 옵션과 명령에 대해서는 해당 사항을 본문에서 밝힌다.
위의 두 층위의 문서에서 설명하지 않는 \obclass에 대한 정보를 이 문서에서 얻을 수 있다.
@@ -264,7 +259,7 @@ ms, showtrims
\item [adjustmath] 한글 문서의 행간격이 벌어짐으로 인해서 display 수식의 전후에 너무 많은 공백이 생기는 것을 막아준다.
\item [arabicfront] \verb|\frontmatter| 부분의 페이지 숫자를 아라비아 숫자로 찍는다. 기본값은 로만 숫자.
\item [footnote] 각주 번호와 숫자를 한국식으로 식자한다.
-\item [figtabcapt] 그림과 표에 <그림 1>과 같은 방식으로 캡션을 단다.
+\item [figtabcapt] 그림과 표에 \cnm{그림 1}과 같은 방식으로 캡션을 단다.
\item [gremph] 글꼴 대체 강조 방식을 쓴다. 이것이 기본값이다.
\item [itemph] 기울인 글꼴 강조 방식을 쓴다.
\item [nonfrench] nonfrenchspacing.
@@ -273,6 +268,8 @@ ms, showtrims
\item [pdfbookmark] nokorean 옵션을 주면서도 북마크는 만들도록 hyperref을 로드해주는 역할을 한다. nokorean 옵션이 주어지지 않을 때는 무의미함.
\item [10.5pt] 본문 활자 크기를 10.5pt로 한다.
\item [quotespacing] quote, quotation 환경의 줄간격을 `좁은 줄간격'으로 줄인다.
+\item [nanum] 나눔명조/나눔고딕 트루타입 글꼴을 기본 글꼴로 사용하도록 설정한다.
+\item [hcr] 함초롬 LVT 글꼴을 기본 글꼴로 사용하도록 설정한다.
\end{description}
\bigskip
@@ -364,7 +361,7 @@ ms, showtrims
%%%한글 문서 작성에 있어서 표준이 되고자 하는 \obclass{}를
%%%\XeTeX 에서\explpunc.Lua\TeX 에서도.\ 편리하게 사용할 수 있게 되기를 바라 마지 않는다.
-\section{폰트 설정 방식에 대한 간단한 설명}\label{sec:font}
+\section{폰트 설정 방식에 대한 간단한 설명}\myLabel{sec:font}{sec:폰트}
\subsection{\koTeX-utf 엔진}
@@ -401,7 +398,7 @@ gremph는 \koTeX-utf에서 \verb|\usepackage{dhucs-gremph}|를 선언한 경우
라틴 문자 글꼴을 따라가게 된다. 즉, \texttt{\textbackslash setmainfont}
등으로 선언된 글꼴이 한글과 라틴 문자에 동시에 식자된다.\footnote{%
이외에도 한글-라틴 문자 글꼴의 분리에 따르는 여러 가지 옵션 정의에 관련된
- \xetexko{} 매크로가 있으므로 이에 대해서는 \xetexko{} 매뉴얼을
+ \xetexko, \luatexko\ 매크로가 있으므로 이에 대해서는 \xetexko, \luatexko\ 매뉴얼을
참고하라.
}
@@ -409,6 +406,7 @@ gremph는 \koTeX-utf에서 \verb|\usepackage{dhucs-gremph}|를 선언한 경우
라틴 문자 폰트는 fontspec 패키지의 방식을 따른다.
설정과 사용에 대해서는 fontspec 패키지 문서를 참고하라.
매우 방대하고 훌륭한 문서이다.
+
\begin{boxedverbatim}
\setmainfont{<Font Name>}
\setsansfont{...}
@@ -417,17 +415,19 @@ gremph는 \koTeX-utf에서 \verb|\usepackage{dhucs-gremph}|를 선언한 경우
이 명령의 옵션으로 \verb|[Ligatures=TeX]|을 주면 \verb|``|, \verb|---|와 같은
입력이 ``, ---와 같이 나타난다. 대부분의 텍 소스에는 이런 이른바 텍 리거쳐를 사용하는 것이
-일반적이므로 이 옵션을 지정하는 것이 좋다. \XeTeX 에서 \verb|[Mapping=tex-text]| 옵션을
-써도 좋은데 이 옵션은 \LuaTeX 에서는 무의미하므로 양쪽에 통용되는 \verb|[Ligatures=TeX]|을
-쓰도록 하자. 따라서 만약 TeX Gyre Termes를 라틴 문자 세리프 글꼴로 쓰려 한다면,
-\begin{boxedverbatim}
+일반적이므로 이 옵션을 지정하는 것이 좋다. 최신 버전의 fontspec은 이 옵션을 자동으로 붙여주며,
+아래 설명할 \cs{setkomainfont} 등의 명령을 써도 역시 이 옵션은 자동으로 붙는다.
+%\XeTeX 에서 \verb|[Mapping=tex-text]| 옵션을
+%써도 좋은데 이 옵션은 \LuaTeX 에서는 무의미하므로 양쪽에 통용되는 \verb|[Ligatures=TeX]|을
+%쓰도록 하자. 따라서
+만약 \ct{TeX Gyre Termes}를 라틴 문자 세리프 글꼴로 쓰려 한다면,
+\begin{verbatim}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\end{boxedverbatim}
+\end{verbatim}
와 같이 지정하면 된다.
\paragraph{한글과 한자}
-한글 폰트는 다음과 같이 설정한다. 자세한 사항은
-매뉴얼을 참고하라.
+한글 폰트는 다음 명령을 사용하여 설정한다. 자세한 사항은 \xetexko, \luatexko\ 매뉴얼을 참고하라.
\begin{boxedverbatim}
\setmainhangulfont[Options]{FontName}
\setsanshangulfont[Options]{FontName}
@@ -436,25 +436,36 @@ gremph는 \koTeX-utf에서 \verb|\usepackage{dhucs-gremph}|를 선언한 경우
\setsanshanjafont[Options]{FontName}
\setmonohanjafont[Options]{FontName}
\end{boxedverbatim}
-\xobclass 에서도 이 방식의 폰트 정의를 할 수 있다. %이 문법은
-%fontspec 패키지를 따르는 것이다.
-한글 폰트만을 이용해서 한글/라틴 문자에 모두 식자할 필요가 있을
-수 있다. 이 경우 다음과 같이 하는 것이 한 가지 방법이다.
+이밖에 특별한 명령으로 \luatexko에는 fallbackfont를 위한 명령이 있다.
\begin{boxedverbatim}
-\disablekoreanfonts
-\setmainfont{NanumMyeongjo}
+\setmainfallbackfont
+\setsansfallbackfont
+\setmonofallbackfont
\end{boxedverbatim}
-또는,
-\begin{boxedverbatim}
-\setmainhangulfont{NanumMyeongjo}
-\hangulmarks
-\end{boxedverbatim}
-이렇게 하면 라틴 문자와 문장부호, 숫자를 나눔명조로 식자한다.
+\xetexko에는 이 명령이 없는 대신 \cs{newfontfamily}\cs{fallbackhanjafont}를 이용하여
+fallback 폰트를 정의할 수 있다. 이 기능은 한자(또는 한글/한자) 글꼴에서도 찾을 수 없는 한자를
+식자하기 위해서 사용된다.
-더 세세한 지정을 위하여
-그리고 alphas, nums, parens, quotes, colons, hyphens, puncts, cjksymbols가 식자될 폰트의 영역(latin, hangul, hanja, prevfont)을 정의하는 \verb|\xetexkofontregime| 명령도 쓸 수 있다.
-이에 대해서는 \xetexko\ 매뉴얼을 반드시 참조하라.
+여기 언급하지 못한 다양한 명령들이 제공되므로 해당 매뉴얼을 반드시 읽어보기 바란다.
+oblivoir에서도 \xetexko, \luatexko 의 폰트 설정 방식을 그대로 활용할 수 있다.
+
+%한글 폰트만을 이용해서 한글/라틴 문자에 모두 식자할 필요가 있을
+%수 있다. 이 경우 다음과 같이 하는 것이 한 가지 방법이다.
+%\begin{boxedverbatim}
+%\disablekoreanfonts
+%\setmainfont{NanumMyeongjo}
+%\end{boxedverbatim}
+%또는,
+%\begin{boxedverbatim}
+%\setmainhangulfont{NanumMyeongjo}
+%\hangulmarks
+%\end{boxedverbatim}
+%이렇게 하면 라틴 문자와 문장부호, 숫자를 나눔명조로 식자한다.
+%
+%더 세세한 지정을 위하여
+%그리고 alphas, nums, parens, quotes, colons, hyphens, puncts, cjksymbols가 식자될 폰트의 영역(latin, hangul, hanja, prevfont)을 정의하는 \verb|\xetexkofontregime| 명령도 쓸 수 있다.
+%이에 대해서는 \xetexko\ 매뉴얼을 반드시 참조하라.
\paragraph{임시 폰트 교체}
문장을 작성 중에 일시적으로 폰트를 교체하기 위한 명령으로
@@ -469,209 +480,557 @@ gremph는 \koTeX-utf에서 \verb|\usepackage{dhucs-gremph}|를 선언한 경우
\end{boxedverbatim}
명령도 정의되어 있으며, \verb|\fontspec| 명령이 적용되지 않는 한글과 한자 영역에 효력을 발휘하므로 필요한 대로 쓸 수 있다.
-\subsection{\obclass의 폰트 설정 명령}
+\subsection{\obclass의 폰트 설정 명령 (\protect\cs{setko...} 명령군)}
+
+\subsubsection{글꼴의 이름}
+fontspec을 이용하여 글꼴을 지정하는 데 있어서 사용자가 곤란을 겪는 문제 중의 하나가 글꼴 이름을
+지정하는 것이다. 먼저 특정 폰트(여기서는 함초롬바탕LVT)의 글꼴 이름을 알아보기 위해 \util{otfinfo}를
+사용해보자. 글꼴에 대하여 \util{otfinfo -i}를 실행하면 다음과 같은 결과가 나온다.
+
+\begin{footnotesize}
+\begin{verbatim}
+$ otfinfo -i HANBatang-LVT.ttf
+Family: HCR Batang LVT
+Subfamily: Regular
+Full name: HCR Batang LVT
+PostScript name: HCRBatangLVT
+Mac font menu name: HCR Batang LVT
+Version: Version 1.940; KTS Build 20140401
+Unique ID: YoonDesign: HCR Batang LVT: KTS 20140401
+Description: The Korean TeX Society has added GSUB/GPOS/vhea/vmtx tables
+ chiefly for old hangul rendering.
+ Please contact http://www.ktug.org for these issues.
+Designer URL: http://yoonfont.co.kr/
+Manufacturer: YoonDesign; The Korean TeX Society
+Vendor URL: http://yoonfont.co.kr/
+Trademark: HCR Batang is a trademark of YoonDesign.
+Copyright: Copyright (c) 2010-2013 Hancom INC(HNC). All rights reserved.
+License URL: http://yoonfont.co.kr/
+License Description: YoonDesign Inc.
+Vendor ID: YDI
+\end{verbatim}
+\end{footnotesize}
+이 가운데, ``Full name''과 ``Postscript name''을 사용하면 된다.\footnote{%
+ 2014년 6월 현재, 대체로 \XeTeX 은 ``Full name''을 쓰면 거의 오류없이 동작하고
+ \LuaTeX 은 Postscript name을 선호하는 듯하다. 이 사정은 \ct{luaotfload}나
+ \XeTeX\ 엔진의 개선에 따라 달라질 수 있다.}
+%일반적으로 Postscript name을
+%쓰는 쪽이 좋다.
+여기서 ``Family''는 같은 글꼴 가족들이 똑같은 이름을 가진다. 예를 들어 함초롬바탕LVT Bold체는
+Family가 ``HCR Batang LVT''이고 Subfamily가 ``Bold''로 되어 있다. 이렇게 글꼴 자체가 글꼴 가족에 대한 정보를 가지고 있으면 Regular만 지정해도 자동으로 Bold 글꼴을 글꼴가족에서 찾는다 (모든 한글 글꼴이 이렇지는 않다).
+
+예를 들면
+\oblivoirdblquote{맑은 고딕}은 맥락에 따라 \oblivoirdblquote{맑은 고딕 Bold}를
+글꼴 가족으로 인식한다. 맑은 고딕의 폰트 정보 중에서 이름(name)과 가족에 해당하는 부분을 보면,
+\begin{verbatim}
+$ otfinfo -i Malgun.ttf | grep -e "name" -e "amily"
+Family: Malgun Gothic
+Subfamily: Regular
+Full name: Malgun Gothic
+PostScript name: MalgunGothicRegular
+
+$ otfinfo -i Malgunbd.ttf | grep -e "name" -e "amily"
+Family: Malgun Gothic
+Subfamily: Bold
+Full name: Malgun Gothic Bold
+PostScript name: MalgunGothicBold
+\end{verbatim}
+
+그러므로
+\begin{verbatim}
+\setkosansfont(Malgun Gothic)
+\end{verbatim}
+이렇게만 지정해도 굵은 글꼴이 요구되는 곳에서는 \oblivoirdblquote{맑은 고딕 Bold}를
+식자해준다.
+%이렇게 잘 만들어진 글꼴을 이용하는 경우, 간단히 하나의 인자로
+%글꼴을 지정해주는 것만으로 굵은 글꼴을 사용하게 할 수 있다.
+
+폰트 파일 이름 자체를 쓸 수도 있다. 다만 이 경우는 글꼴 가족을 지정하는 것이 아니므로 Bold나 Italic subfamily를
+자동으로 인식하지 못할 수 있다. 파일 이름으로 사용하려면 확장자를 붙여주면 된다. 예컨대 함초롬바탕 LVT라면
+\texttt{HANBatang-LVT.ttf}를 그대로 지정할 수 있다. 굳이 \texttt{[ExternalLocation]} 옵션을 주지
+않아도 확장자를 붙이는 것만으로 ExternalLocation과 동일한 결과를 얻는다.
\subsubsection{간단한 폰트 지정}
-한편, 한글 글꼴을 선언하는 데 있어서
+\XeTeX-\ko, \LuaTeX-\ko의 기본 한글/한자 폰트 지정 명령인
+\begin{verbatim}
+\setmainhangulfont, \setsanshangulfont, \setmonohangulfont
+\setmainhanjafont, \setsanshanjafont, \setmonohanjafont
+\end{verbatim}
+들이 있으나,
\xobclass 에서는 약간 다른 방법(더 편리한?)의 폰트 정의가
가능하다. 이것은 다음 세 명령으로 이루어져 있다.
\begin{boxedverbatim}
-\setkormainfont(<Bold>)(<Italic>){<Regular>}
-\setkorsansfont(<Bold>)(<Italic>){<Regular>}
-\setkormonofont{<Mono>}
+\setkomainfont[<basename>](<Regular>)(<Bold>)(<Italic>)
+\setkosansfont[<basename>](<Regular>)(<Bold>)(<Italic>)
+\setkomonofont[<basename>](<Regular>)(<Bold>)(<Italic>)
\end{boxedverbatim}
+이 세 명령을 사용할 때 주의할 점은 중괄호 \{ \}가 전혀 쓰이지 않는다는 것이다.
+입력상 실수하기 쉬우므로 주의를 요한다.
+
이러한 폰트 정의 방식은 xoblivoir 클래스의 원래 의도인 `되도록 간단하게
-필요한 것만' 사용하자는 데서 나온 것이다. 그러므로 옛한글 설정이나
-자간, 장평 등 복잡한 폰트 속성을 적용하려 한다면 당연히 \xetexko 의 (즉 fontspec의)
-설정 방식을 이용하는 것이 좋다.
+필요한 것만' 사용하자는 데서 나온 것이다.
+%그러므로 옛한글 설정이나
+%자간, 장평 등 복잡한 폰트 속성을 적용하려 한다면 당연히 \xetexko 의 (즉 fontspec의)
+%설정 방식을 이용하는 것이 좋다.
-이후의 설명은 \verb|\setkormainfont|에 대해서만 한다. 다른 두
-명령의 사용법은 동일하다.
+이후의 설명은 \verb|\setkomainfont|에 대해서만 한다. 다른 두 명령의 사용법은 동일하다.
+\begin{boxedverbatim}
+\setkomainfont(Font Name)
+\end{boxedverbatim}
+가장 기본적인 사용법은 위와 같다. 중괄호 \verb|{ }|가 아니라 괄호 \verb|( )|를 쓰고 있음에 주의하라.
+\paragraph{긴 명령}
+이 명령의 완전한 형태는 다음과 같다.
\begin{boxedverbatim}
-\setkormainfont{Font_Family_Name}
+\setkomainfont[<namebase>]%
+ (regular)%
+ (bold)%
+ (italic)%
+ [hangul-feature]%
+ [<hanja namebase>]%
+ (hanja-regular)%
+ (hanja-bold)%
+ (hanja-italic)%
+ [hanja-feature]
\end{boxedverbatim}
-한글 글꼴 가운데 어떤 것은\explpunc.모든 한글 글꼴이 그렇지는 않다는
-데 주의하라.\ 글꼴 가족을 이루고 있는 것이 있다. 예를 들면
-\oblivoirdblquote{맑은 고딕}은 맥락에 따라 \oblivoirdblquote{맑은 고딕 Bold}를
-글꼴 가족으로 인식한다. 이런 경우 예를 들어
+모두 열 개의 옵션 인자가 올 수 있는데 그 가운데 적어도 하나의 괄호 옵션 인자는 반드시 있어야 한다.
+그러므로 그것(첫번째 regular)은 ``옵션'' 인자가 아니라 그냥 인자이지만 하나만을 중괄호로 묶는 것이 오히려 코딩
+실수를 증가시킬 것으로 보아서 모두 괄호 인자를 사용하도록 했다.
+괄호 옵션 인자를 하나만 준다면 그것은 한글 regular 글꼴 이름으로 받아들일 것이다.
+나머지 아홉 개의 옵션 인자는 생략 가능하다. 각 옵션 인자가 생략가능하기 때문에
+괄호나 꺾쇠괄호 사이에 스페이스를 남기지 않도록 주의해야 한다. 예를 들어 \verb*|(fontname) [feature]|와 같이
+적으면 스페이스 때문에 옵션 인자의 파싱에 실패할 수 있다.
+
+기본적으로 폰트 이름은 \verb|( )| 안에 들어간다. 그리고 미리 오는 \verb|[ ]|는 이름의 공통 부분을 축약하기 위한 것이고 끝에 오는 \verb|[ ]|는 속성을 추가하기 위한 것이다. 이 규칙이 두 번 반복된다고 생각하면 되겠다.
+
+\paragraph{한글과 한자}
+이 가운데 앞의 다섯 개는 한글, 뒤의 다섯 개는 한자관련 설정이다. 그런데 예컨대
\begin{verbatim}
-\setsansfont{Malgun Gothic}
+\setkomainfont(Fontname A)(Fontname B)
+\end{verbatim}
+이렇게 코딩해서 Fontname B가 한자 글꼴이 되게 하려 해도
+두 번째 괄호 옵션 인자는 한자 regular로 받아들이는 것이 아니라
+한글 bold 이름으로 인식할 것이다.
+따라서 한글과 한자 사이에 다음과 같이 경계를 주면
+\begin{verbatim}
+\setkomainfont(한글 글꼴)[](한자 글꼴)
+\end{verbatim}
+이제 의도대로 동작한다. 다음 보기는 한글을 함초롬바탕LVT, 한자를 맑은 고딕으로 선택하는 예가 된다.
+\begin{verbatim}
+\setkomainfont(HCR Batang LVT)[](Malgun Gothic)
\end{verbatim}
-이렇게만 지정해도 굵은 글꼴이 요구되는 곳에서는 \oblivoirdblquote{맑은 고딕 Bold}를
-식자해준다.
-이렇게 잘 만들어진 글꼴을 이용하는 경우, 간단히 하나의 옵션으로
-글꼴을 지정해주는 것만으로 굵은 글꼴을 사용하게 할 수 있다.
-\begin{boxedverbatim}
-\setkormainfont[Options]{Font_Name}
-\end{boxedverbatim}
-만약 각괄호(\verb|[|)가 첫 인자로 나오면 이 명령의 사용법은
-\verb|\setmainhangulfont|와 동일하다. 즉 fontspec 명령을 그대로
-쓸 수 있다.
-\begin{boxedverbatim}
-\setkormainfont[Options]{Font_Name}[hnj_Options]{hnj_Font_Name}
-\end{boxedverbatim}
-다른 점은 위와 같이 한자 글꼴을 잇대어 정의할 수 있다는 것이다.
-이 때 반드시 한자 글꼴 추가 정의가 시작된다는 듯으로 각괄호 []를
-써주어야 한다. 아무런 옵션을 지정하지 않더라도 이 부호는 있어야
-한다.
-
-\subsubsection{폰트 가족의 지정}
-
-한글 폰트의 폰트 가족(font family)은 인위적으로 지정해주어야 할 때가 있다.
-여러 한글 폰트를 임의로 묶어서 하나의 폰트 가족처럼 다루는 경우이다.
-
-한글의 폰트 가족은 Regular/Bold/Italic
-으로 이루어진다고 가정하고 있다.%
-\footnote{원한다면 BoldItalic까지 포함할 수 있으나, \xobclass{}는
- BoldItalic을 별도로 설정하는 것을 기본으로
- 삼지 않았다. 지나치게 번거로울 뿐 아니라 BoldItalic에
- 특별한 의미를 부여하기 힘들었기 때문이다. 반면, \xetexko 는
- BoldItalic을 별도로 설정할 수 있게 하고 있으므로 혹시라도
- 원한다면 이것은 사용자에게 맡겨져 있다.
-}
-폰트 가족을 지정하여 글꼴 설정을 할 때는 다음과 같이 한다.
-\begin{boxedverbatim}
-\setkormainfont(<hgBd>)(<hgIt>){<Hangul>}
-\setkorsansfont(<hgBd>)(<hgIt>){<Hangul>}
-\end{boxedverbatim}
-첫 두 인자를 둘러싼 괄호가 각괄호 []가 아니라 괄호 ()임에 주의하라.\footnote{%
- 이것은 2008/11/09 버전의 변경사항이다. 하위호환성을 제공하지
- 않으므로 이전의 모든 소스를 수정해야 한다.}
-아무튼 괄호 ()로 둘러싸인 부분은 생략가능하다. 첫 괄호 인자만 있고
-이탤릭 글꼴을 지정하지 않으면 기본 글꼴로 치환된다.
+한자 설정은 한글 설정 이후에 잇대어 쓰는 것으로 한글 설정 방식과 완전히 똑같다.
+실제로 \verb|\setkomainfont(A)[](B)| 명령은
+\begin{verbatim}
+\setmainhangulfont{A}
+\setmainhanjafont{B}
+\end{verbatim}
+와 동일하기 때문에 굳이 한자 글꼴을 따로 지정하지 않아도 한자 자면을 가진 한글 글꼴을 설정하면
+한자가 잘 표시된다.
+그러나 NanumMyeongjo와 같이 한자 자면이 없는 글꼴이라면 한자 글꼴을 별도로 선언해주어야 할
+것이다.
-한글 폰트와 별도의 한자 폰트를 설정할 필요가 있을 때는 다음과 같이 한다.
-\begin{boxedverbatim}
-\setkormainfont(<hgBd>)(<hgIt>){<Hangul>}(<hjBd>)(<hjIt>){<Hanja>}
-\setkorsansfont(<hgBd>)(<hgIt>){<Hangul>}(<hjBd>)(<hjIt>){<Hanja>}
-\end{boxedverbatim}
-한자를 한글과 별도의 폰트로 식자하도록 하는 것은 그 번거로움을 피할 수 없지만,
-한글 폰트 가운데 한자 영역이 거의 없거나 있더라도 부실한 것이 너무 많기 때문에
-현재의 한글 폰트의 사정을 돌아볼 때 부득이하고 불가피하다.
+한자 폰트 부분을 선언하면 \LuaTeX-\ko의 \verb|\hanjabyhanjafont|를 1로 만들어서 선언된
+한자 글꼴이 우선적으로 사용되도록 하는 효과가 있다. 만약 이를 원하지 않는다면 \verb|\hanjabyhanjafont 0|을
+직접 선언하도록 하라.
+
+\paragraph{regular, bold, italic, bolditalic}
+글꼴 가족이 잘 설정된 폰트를 사용한다면 bold를 굳이 지정할 필요는 없다.
+bold를 지정하지 않는 것은 이 인자를 주지 않는 것이다. \verb|()|와 같이 비운 인자를 주면
+bold 글꼴에 regular 글꼴이름을 사용하므로 오히려 bold 효과가 사라진다.
+bold 글꼴을 아예 별도로 지정할 때는 글꼴 이름을 다 적어준다. 한편, 예컨대
+HCR Batang LVT에 대하여 HCR Batang LVT Bold가 볼드체 이름임을 이용하여
+\verb|\setkomainfont(HCR Batang LVT)(* Bold)|와 같이 지정하는 방법도 통한다.
+함초롬바탕의 full name을 쓰지 않고 Postscript name을 쓴다면,
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)(*-Bold)
+\end{verbatim}
+와 같이 하면 될 것이다.
-두 번째 선택 인자는 이탤릭체를 나타낸다. 이 인자를 지정하지 않으면
-기본 글꼴로 치환된다. Regular 폰트를 이 자리에 쓰고 싶을 때가 있다. 이럴 경우 간단히
-\begin{boxedverbatim}
-\setkormainfont(BOLD)(*){REGULAR}
-\end{boxedverbatim}
-와 같이 (*)로 줄여 쓸 수 있다. 즉, 아예 두번째 인자가 없으면 REGULAR 폰트로 치환되고, (*)로 지시되면 REGULAR 글꼴을 이탤릭으로 식자한다.
-만약 itemph 옵션이 지시되어 있다면 REGULAR의 FakeSlanted 글자가
-식자되고, gremph 옵션이 지시되어 있다면 이 자리에 선언된 글꼴이 곧은 모양으로 찍힐 것이다.
-이 줄인 옵션은 두 번째 선택 인자, 즉 이탤릭 선언에만 동작하며,
-\verb|\setkormainfont|와 \verb|\setkorsansfont|에서 쓸 수 있다.
+한글은 이탤릭이 없지만 우사체를 쓰는 관행이 있다. oblivoir 클래스 옵션으로 \texttt{[itemph]}를
+설정하면 italic을 써야 할 곳에서 기울어진 서체를 쓸 수 있다. 반면 \texttt{[gremph]}로 하면
+바로 선 서체를 사용한다. \texttt{[gremph]}가 디폴트이며, 이 경우 이탤릭을 써야 할 곳에 다른
+폰트를 사용하게 할 수 있다. 예를 들면
+\begin{verbatim}
+\setkomainfont(HCR Batang LVT)(* Bold)(NanumGothic)
+\end{verbatim}
+이렇게 하면 이탤릭을 쓸 자리에 나눔고딕이 사용된다. 만약 클래스 옵션 \texttt{[itemph]}가
+주어져 있다면 나눔고딕도 기울어진다.
+이탤릭 글꼴을 아예 지정하지 않으면 regular에 지정된 글꼴을 그대로 쓴다. \texttt{[itemph]}라면
+이탤릭 글꼴을 지정하지 않아도 될 것이고 \texttt{[gremph]}라면 적당한 글꼴을 적어주면 될 것이다.
+
+bolditalic의 경우 볼드체 글꼴과 이탤릭 속성을 사용한다. 즉 \texttt{[gremph]}이면 bold와
+bolditalic이 동일할 것이고, \texttt{[itemph]}라면 bold 글꼴이 기울어진 모양으로 나온다.
+bolditalic 폰트를 별도로 지정하려 한다면 아래에서 설명할 feature 추가 방식으로 다음과 같이 하여야 한다.
+\begin{verbatim}
+\setkomainfont(Regular)(Bold)(Italic)[BoldItalicFont={Fontname}]
+\end{verbatim}
-\subsection{디폴트 치환}\myLabel{sec:default}{sec:디폴트}
+\paragraph{base name을 사용하여 공통 부분 줄여쓰기}
+KoPubBatang체 같은 경우, 글꼴 가족이 서로 다른 다음 세 폰트가 있다.
+\begin{verbatim}
+KoPubBatangLight.ttf KoPubBatangLight KoPubBatang Light
+KoPubBatangMedium.ttf KoPubBatangMedium KoPubBatang Medium
+KoPubBatangBold.ttf KoPubBatangBold KoPubBatang Bold
+\end{verbatim}
+이 글꼴은 앞부분 이름은 같지만 Regular/Bold에 대응하는 글꼴로 설정되어 있지 않다.
+이러한 상황에서 앞의 같은 부분을 base name으로 지정하고 나머지 부분을 각각 써넣는 방식으로
+글꼴을 지정할 수 있다.
+\begin{verbatim}
+\setkomainfont[KoPubBatang](Light)(Bold)
+\end{verbatim}
+이것은
+\begin{verbatim}
+\setkomainfont(KoPubBatangLight)(KoPubBatangBold)
+\end{verbatim}
+를 줄여쓴 것으로 이해하면 된다. 이탤릭 폰트는 지정하지 않은 보기인데, 원한다면 세번째 괄호 옵션에
+써넣을 수 있다. 단, 이 방법을 쓸 때는 별표(*)를 사용할 수 없다. 왜냐하면 별표를 사용하였을 때
+KoPubBatang*이라는 이름의 폰트를 찾으려 할 것이기 때문이다.
-필요한 정보가 충분히 주어지지 않으면 폰트 설정은 기본값으로
-치환된다. 아래 몇 가지 사용례를 보기로 하자.
+예를 들어, 서울시체를 본문 글꼴로 하고 바탕 글꼴용 한자는 한양해서를 쓰고 싶다면(실제 해보면 그다지 어울리지 않지만) 어떻게 할 수 있을까?
+\begin{verbatim}
+\setkomainfont[SeoulHangang](L)(B)[](HYhaeseo)
+\setkosansfont[SeoulNamsan](L)(B)
+\end{verbatim}
-\begin{boxedverbatim}
-\setkormainfont{HCR Batang LVT}
-\end{boxedverbatim}
-위의 명령을 실행하면 Regular와 Bold, Italic이 지정한 폰트로 바뀐다.
-%여기 예시한 글꼴은 font family를 이루고 있지 않은 개별 글꼴이므로
-%굵은 글꼴에도 같은 폰트가 식자된다.
-예시한 글꼴은 Bold 서체가 font family를 이루고 있으므로 굵은 글꼴을 자동으로
-HCR Batang LVT Bold로 식자한다. 그러나 그렇지 않은 글꼴을 예를 들면,
-\begin{boxedverbatim}
-\setmainfont{YJ BELLA Medium}
-\end{boxedverbatim}
-과 같이 하는 경우 양재벨라체가 굵은 글꼴 자리에도 똑같은 글꼴로 식자하게 된다.
+이 방식에서 주의할 것은 예컨대 이탤릭 글꼴로 완전히 이름이 다른 것을 쓰고자 한다면
+이런 식으로 할 수 없다는 점이다.
+\paragraph{feature의 추가}
+네 번째 옵션 인자는 한글 폰트를 설정할 때 넘겨줄 feature를 지정한다.
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)[FakeStretch=0.95,InterHangul=-0.05em]
+\end{verbatim}
+이것은 장평을 95\%로 하고 자간을 5\% 줄이는 예이다. 여기에 쓸 수 있는 feature에 관해서는
+fontspec 설명서와 \xetexko, \luatexko\ 설명서를 참고하라.
-\begin{boxedverbatim}
-\setkormainfont[BoldFont={NanumMyeongjo ExtraBold},%
- ItalicFont={NanumBarunGothic},%
- ItalicFeatures={FakeSlant={.17}}]{NanumMyeongjo}
-\end{boxedverbatim}
-위와 같이 fontspec 문법의 옵션을 지정할 수 있다.
+다섯번째 옵션 인자는 한자의 base name이다. 네번째 없이 다섯번째만 올 수 없으므로 이것을
+설정하려면
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)[][KoPubBatang](Light)
+\end{verbatim}
+와 같이 적어도 네번째 옵션 인자를 (비우더라도) 지정해야 할 것이다.
-\begin{boxedverbatim}
-\setkormainfont(NanumMyeongjo ExtraBold){NanumMyeongjo}
-\end{boxedverbatim}
-이 명령은 Regular와 Bold만 지정된다.
+\paragraph{ExternalLocation}
+폰트를 그 이름(full name 또는 Postscript name)으로 지정하지 않고 파일 이름으로 찾으려 할 때,
+다음과 같은 방법이 있다.
+먼저 옵션 인자로 \texttt{ExternalLocation}을 선언하는 방법이다. 이 때는 확장자를 지정하지 않아도 된다.
+\begin{verbatim}
+\setkomainfont(HANBatang-LVT)[ExternalLocation]
+\end{verbatim}
+파일 이름을 그대로 적어주는 방법이 있다. 이렇게 하면 \texttt{ExternalLocation}과 똑같이 동작한다.
+\begin{verbatim}
+\setkomainfont(HANBatang-LVT.ttf)
+\end{verbatim}
-\begin{boxedverbatim}
-\setkormainfont(NanumMyeongjo ExtraBold)(*){NanumMyeongjo}
-\end{boxedverbatim}
-이 명령은 Italic에 NanumMyeonjo를 식자하게 한다. gremph에서는
-upshape와 itshape가 똑같이 찍히게 되지만 itemph에서는 같은
-글꼴이 기울어져 식자될 것이다.
+파일 이름으로 호출하는 경우 별표(*)를 이용하여 이름의 공통부분을 줄여쓰는 방법을 사용할 수 없다.
+그리고
+하나의 글꼴군 세트에서 ``이름으로 찾기''와 ``파일이름으로 찾기''를 둘 다 사용할 수 없다. 즉 다음과 같이 하는 것은 오류이다.
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)(HANDotum-LVT.ttf)
+\end{verbatim}
+그러나 한글군/한자군에 대해서는 따로 사용해도 상관없다. 다음은 한글은 Postscript 이름으로,
+한자는 파일 이름으로 찾게 설정한 경우이다. 오류없이 동작한다. 그렇지만 되도록 일관성있게 쓰는 것이 좋을 것이다.
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)(*-Bold)[](UNI_HSR.ttf)
+\end{verbatim}
+\XeTeX 에서만 되는 FakeBold를 한자에만 적용해보자면,
+\begin{verbatim}
+\setkomainfont(HCRBatangLVT)(*-Bold)[](UNI_HSR.ttf)[AutoFakeBold]
+\end{verbatim}
+이렇게 하면 되는데, FakeBold는 가급적 사용하지 않는 것이 좋겠다.
+\paragraph{\cs{setob...} 명령}
+
+라틴 문자 영역의 폰트를 설정하는 데는 \cs{setmainfont} 등이 그다지 불편하지 않기 때문에
+그냥 쓰면 된다. 그러나 \cs{setkomainfont}의 괄호 \ct{( )}를 이용한 폰트 지정 방식과
+유사하게 쓰려 하거나, base name을 이용한 축약 기능을 라틴 문자 정의에도 쓰고 싶다면 다음처럼 해도 상관없다.
\begin{boxedverbatim}
-\setkormainfont(* ExtraBold)(Malgun Gothic){NanumMyeongjo}
+\setobmainfont[<base name>](<rm>)(<bf>)(<it>)[features]
\end{boxedverbatim}
-이것은 Regular, Bold, Italic을 한 가족으로 묶는다. BoldItalic이 만약 필요해지면 Bold체와
-동일하게 설정된다.\footnote{%
- BoldItalic은 위에서 설명한 (*) 줄인 옵션의 영향을 받지 않는다.}
-한편 (* ExtraBold)라는 표기는 NanumMyeongjo와 같은 이름이기 때문에 줄여 쓴 것이다.
+일반적으로는 거의 의미없는 명령이나 반은 재미로 마련해두었다.
-한자 글꼴을 별도로 설정해야 할 때가 있다.
-% \footnote{%
- % 이 기능은 2008/10/09 이후의 xkospace에 바탕을 둔 \xobclass{} 이후 버전에서 가능하다.
-% }
-한자 글꼴을 설정하기 위해서는 위의 명령을 확장하여 다음과 같이 지정한다.
+\subsection{기정의 폰트 세트}
+클래스 옵션으로 \texttt{[nanum]}을 지정하면 본문이 나눔명조와 나눔고딕으로 식자된다.\footnote{%
+ \LuaTeX-\ko는 아무 옵션이 없어도 nanumtype1으로 본문을 표시하지만 \XeTeX-\ko에서는
+ 한글 부분이 비어 나온다. 이 옵션을 주면 \LuaTeX-\ko 에서도 nanumtype1이 아니라 트루타입을 쓰게 된다.}
+나눔명조에 없는 한자는 나눔고딕에서 가져다가 찍는다.
+
+클래스 옵션 \texttt{[hcr]}은 함초롬 LVT 바탕, 함초롬 LVT 돋움 글꼴을 본문 글꼴로 사용하게 한다.
+\texttt{[Script=Hangul]}을 지정하여 옛한글도 잘 처리하게 한다.\footnote{%
+ \cs{setkomainfont} 명령의 인자로 HCR 계열이 지정되면 이 옵션이 자동으로 추가된다.
+ 그밖의 폰트에서 옛한글을 처리하게 하려면(예를 들어 Malgun Gothic, UnBatang 등)
+ feature 추가 옵션으로 \texttt{[Script=Hangul]}을 지정할 수 있다.}
+
+클래스 옵션 \texttt{[unfonts]}는 은 바탕, 은 돋움, 은 타자, 은 그래픽을 이용하여 본문 글꼴을 식자하게 한다.
+\texttt{[gremph]}일 때 바탕글꼴의 이탤릭이 은 그래픽으로 찍힌다. 또한 이 옵션은 \texttt{[Script=Hangul]}을
+자동으로 추가하여 옛한글을 은 바탕으로 잘 처리할 수 있게 하였다. 은 글꼴을 옵션으로 주지 않고 \cs{setkomainfont} 명령으로 주려면 다음과 같이 하는 것이 좋다. HCR 글꼴과 달리 자동으로 폰트 이름을 보고 \texttt{[Script=Hangul]}을 삽입하지 않으므로 feature 옵션에 지정한다. base name을 ``UnBatang''으로 하고 확장자를 잇대어 쓰도록
+다음처럼 정의할 수 있다.
+\begin{verbatim}
+\setkomainfont[UnBatang](.ttf)(Bold.ttf)[Script=Hangul]
+\end{verbatim}
+은 그래픽을 이탤릭 대용으로 쓰려 한다면,
+\begin{verbatim}
+\setkomainfont[Un](Batang.ttf)(BatangBold.ttf)%
+ (Graphic.ttf)[Script=Hangul]
+\end{verbatim}
+이름의 공통부분(base name)이 ``Un''밖에 없으니까 이렇게 할 수밖에 없다. 은 그래픽은 한자가 나오지 않는데
+필요하다면 한자 글꼴 지정을 잇대어 하면 된다. 실제로 해보자면,
+\begin{verbatim}
+\setkomainfont[Un](Batang.ttf)(BatangBold.ttf)(Graphic.ttf)%
+ [Script=Hangul][UnBatang](.ttf)(Bold.ttf)(.ttf)
+\end{verbatim}
+한자는 은 그래픽이 아니라 은 바탕에서 찾아서 찍게 한 것이다.
+
+\subsection{폰트 설정 명령 (\protect\cs{setkor...} 명령군)}
+
+이전 버전의 oblivoir에서는 다음 세 명령을 제공하였다.
+이 명령군도 여전히 유지되고 있는데 그것은 이전에 작성된 문서와의 호환성을 위해서이다.
\begin{boxedverbatim}
-\setkormainfont(한글볼드)(한글이탤릭){한글레귤러}%
- (한자볼드)(한자이탤릭){한자레귤러}
+\setkormainfont(<Bold>)(<Italic>){<Regular>}
+\setkorsansfont(<Bold>)(<Italic>){<Regular>}
+\setkormonofont(<Bold>)(<Italic>){<Regular>}
\end{boxedverbatim}
-
-\texttt{()}로 둘러싸인 부분은 모두 생략가능하지만, 이것이 한자 폰트를 설정하는 것이라는
-점을 알리기 위해 한자 시작 부분에 ( 문자를 지정해야 한다. 즉,
+이 명령들도 한자 지정을 위하여 확장가능하다.
\begin{boxedverbatim}
-\setkormainfont(){NanumMyeongjo}(){HCR Batang LVT}
+\setkormainfont(<Bold>)(<Italic>){<Regular>}%
+ (<HJbold>)(<HJitalic>){<HJregular>}
\end{boxedverbatim}
-위와 같이 하면 한글 영역에 나눔명조, 한자 영역에 함초롬 LVT 바탕을 식자할 수 있다.
-이 때 볼드를 지정하지 않지만 최소한 \texttt{()}를 써주어야 한다는 점에 주의한다.
-한글 폰트 정의에서 괄호 ()를 사용했다면 한자 정의 확장에도 같은 괄호 ()를
-써야 한다. 한글 폰트 정의에서 각괄호 []를 사용했다면 한자 정의 확장에도
-같은 괄호 []를 써야 한다.
-%참고로, 일부 한글 기호문자는 한자 폰트로 식자된다.
+괄호 옵션 인자와 중괄호 인자가 있다는 점과 bold, italic, regular의 순서가
+\cs{setkomainfont}와 다르다는 데 주의하라.
+이전 버전에 비하여 확장된 기능은 feature를 줄 수 있다는 것이다.
\begin{boxedverbatim}
-\setmonoscale{<scale>}
+\setkormainfont(Bold)(Italic){Regular}[Feature]
\end{boxedverbatim}
+이런 식으로 마지막 옵션 인자로 feature를 지정하면 유효하다.
-한글 mono 폰트를 기본값(은 타자)이 아닌 글꼴로 지정할 경우 scaling이 필요할 때가 있다.
-이를 위하여 위의 명령이 정의되어 있다. 이것은 한글 및 한자 mono 글꼴에만
-영향을 미친다. 라틴 문자자는 fontspec 옵션으로 지정하면 될 것이다.
-% 이 문서의 경우 mono 한글 폰트를 맑은 고딕으로
-% 하면서 scale 값을 0.9로 지정했다.
-
-문장 중간에서 한글 및 한자 폰트를 일부 바꾸어 써야 할 때가 있다. 이 경우에는 \xetexko 의
-\verb|\hangulfontspec| 명령을 이용하면 매우 간편하게 이를 실현할 수 있다.
+한글과 한자 사이에는 적어도 괄호 인자가 하나는 와야 구별된다.
+\begin{verbatim}
+\setkormainfont{HCR Batang LVT}(){HYhaeseo}
+\end{verbatim}
-\subsection{ExternalLocation}
+이 때문에, 예를 들어 다음과 같이 하는 것은 오류이다.
+\begin{verbatim}
+\setkormainfont{HCR Batang LVT}[]{HYhaeseo}
+\end{verbatim}
+한글 feature를 지정하고 한자도 지정하려면 다음과 같이 해야 한다.
+\begin{verbatim}
+\setkormainfont{HCR Batang LVT}[...](){HYhaeseo}
+\end{verbatim}
-ExternalLocation으로 폰트를 찾도록 하는 설정은 특히 폰트 정보가 이상한 한글 폰트를 사용할 때를 위해서도
-매우 중요하다. 굳이 폰트 캐싱을 할 필요가 줄어들기도 하므로, 이 방식을 선호하는 경우도 있다. \xobclass{}에서는
-\textquotedblleft 별표붙인 명령\textquotedblright 으로 지정한다.
-참고로 별표붙인 명령을 쓸 때는 fontspec 옵션을 지정하는 명령형식을
-쓸 수 없다. 그 이유는 fontspec 명령 형식에서는 ExternalLocation
-옵션을 줄 수 있기 때문이다.
+한편, \cs{setkormainfont} 다음 문자가 \texttt{[}이면
+\begin{boxedverbatim}
+\setkormainfont[ ... ]{한글 폰트이름}[ ... ]{한자 폰트이름}
+\end{boxedverbatim}
+이것은 앞의 두 인자에 대하여 \cs{setmainhangulfont}를 실행하고
+뒤의 두 인자에 대하여 \cs{setmainhanjafont}를 실행하게 하는 것으로
+이전 버전과 같다. 이 명령은 반드시 \texttt{[}로 시작해야 하며
+한글과 한자의 경계는 [ ]로 이루어지므로 예컨대
+다음과 같은 코딩은 오류를 일으키지 않는다.
+\begin{verbatim}
+\setkormainfont[]{Hangul}[]{Hanja}
+\end{verbatim}
+그리고 \cs{setkormainfont} 다음 문자가 \texttt{*}이면
+\texttt{ExternalLocation}으로 실행되는 것도 이전과 같다.
+파일 이름을 직접 써넣는 것이 좋으므로 거의 필요없는 명령이 되었지만
+이전 버전과의 호환성을 위하여 이 기능을 유지시켜 두었다.
+단, \cs{setkormainfont*()} 형식과는 쓸 수 없고 \cs{setkormainfont*[]} 형식으로만
+가능하게 기능이 제한되었다. 이 명령은 앞으로 사용하지 않기를 바란다.
\begin{boxedverbatim}
-\setkormainfont*(BOLD)(ITALIC){REGULAR}
+\setkormainfont*{한글 폰트 이름}
\end{boxedverbatim}
+이상에서 설명한 \cs{setkor...} 명령군 대신 새로 도입한 \cs{setko...} 명령군을
+사용하는 것을 권장한다. 사용법이 훨씬 간단해졌기 때문이다.\footnote{%
+ 내부적으로 \cs{setkormainfont} 명령들은 \cs{setmainhangulfont}와 \cs{setmainhanjafont}를
+ 부르고, \cs{setkomainfont} 명령들은 \cs{setkormainfont}를 부른다.}
+
+%이후의 설명은 \verb|\setkormainfont|에 대해서만 한다. 다른 두
+%명령의 사용법은 동일하다.
+%
+%\begin{boxedverbatim}
+%\setkormainfont{Font_Family_Name}
+%\end{boxedverbatim}
+%
+%\begin{boxedverbatim}
+%\setkormainfont[Options]{Font_Name}
+%\end{boxedverbatim}
+%만약 각괄호(\verb|[|)가 첫 인자로 나오면 이 명령의 사용법은
+%\verb|\setmainhangulfont|와 동일하다. 즉 fontspec 명령을 그대로
+%쓸 수 있다.
+%\begin{boxedverbatim}
+%\setkormainfont[Options]{Font_Name}[hnj_Options]{hnj_Font_Name}
+%\end{boxedverbatim}
+%다른 점은 위와 같이 한자 글꼴을 잇대어 정의할 수 있다는 것이다.
+%이 때 반드시 한자 글꼴 추가 정의가 시작된다는 듯으로 각괄호 []를
+%써주어야 한다. 아무런 옵션을 지정하지 않더라도 이 부호는 있어야
+%한다.
+%
+%\subsubsection{폰트 가족의 지정}
+%
+%한글 폰트의 폰트 가족(font family)은 인위적으로 지정해주어야 할 때가 있다.
+%여러 한글 폰트를 임의로 묶어서 하나의 폰트 가족처럼 다루는 경우이다.
+%
+%한글의 폰트 가족은 Regular/Bold/Italic
+%으로 이루어진다고 가정하고 있다.%
+%\footnote{원한다면 BoldItalic까지 포함할 수 있으나, \xobclass{}는
+% BoldItalic을 별도로 설정하는 것을 기본으로
+% 삼지 않았다. 지나치게 번거로울 뿐 아니라 BoldItalic에
+% 특별한 의미를 부여하기 힘들었기 때문이다. 반면, \xetexko 는
+% BoldItalic을 별도로 설정할 수 있게 하고 있으므로 혹시라도
+% 원한다면 이것은 사용자에게 맡겨져 있다.
+%}
+%폰트 가족을 지정하여 글꼴 설정을 할 때는 다음과 같이 한다.
+%\begin{boxedverbatim}
+%\setkormainfont(<hgBd>)(<hgIt>){<Hangul>}
+%\setkorsansfont(<hgBd>)(<hgIt>){<Hangul>}
+%\end{boxedverbatim}
+%첫 두 인자를 둘러싼 괄호가 각괄호 []가 아니라 괄호 ()임에 주의하라.\footnote{%
+% 이것은 2008/11/09 버전의 변경사항이다. 하위호환성을 제공하지
+% 않으므로 이전의 모든 소스를 수정해야 한다.}
+%아무튼 괄호 ()로 둘러싸인 부분은 생략가능하다. 첫 괄호 인자만 있고
+%이탤릭 글꼴을 지정하지 않으면 기본 글꼴로 치환된다.
+%
+%한글 폰트와 별도의 한자 폰트를 설정할 필요가 있을 때는 다음과 같이 한다.
+%\begin{boxedverbatim}
+%\setkormainfont(<hgBd>)(<hgIt>){<Hangul>}(<hjBd>)(<hjIt>){<Hanja>}
+%\setkorsansfont(<hgBd>)(<hgIt>){<Hangul>}(<hjBd>)(<hjIt>){<Hanja>}
+%\end{boxedverbatim}
+%한자를 한글과 별도의 폰트로 식자하도록 하는 것은 그 번거로움을 피할 수 없지만,
+%한글 폰트 가운데 한자 영역이 거의 없거나 있더라도 부실한 것이 너무 많기 때문에
+%현재의 한글 폰트의 사정을 돌아볼 때 부득이하고 불가피하다.
+%
+%두 번째 선택 인자는 이탤릭체를 나타낸다. 이 인자를 지정하지 않으면
+%기본 글꼴로 치환된다. Regular 폰트를 이 자리에 쓰고 싶을 때가 있다. 이럴 경우 간단히
+%\begin{boxedverbatim}
+%\setkormainfont(BOLD)(*){REGULAR}
+%\end{boxedverbatim}
+%와 같이 (*)로 줄여 쓸 수 있다. 즉, 아예 두번째 인자가 없으면 REGULAR 폰트로 치환되고, (*)로 지시되면 REGULAR 글꼴을 이탤릭으로 식자한다.
+%만약 itemph 옵션이 지시되어 있다면 REGULAR의 FakeSlanted 글자가
+%식자되고, gremph 옵션이 지시되어 있다면 이 자리에 선언된 글꼴이 곧은 모양으로 찍힐 것이다.
+%이 줄인 옵션은 두 번째 선택 인자, 즉 이탤릭 선언에만 동작하며,
+%\verb|\setkormainfont|와 \verb|\setkorsansfont|에서 쓸 수 있다.
+%
+%\subsection{디폴트 치환}\myLabel{sec:default}{sec:디폴트}
+%
+%필요한 정보가 충분히 주어지지 않으면 폰트 설정은 기본값으로
+%치환된다. 아래 몇 가지 사용례를 보기로 하자.
+%
+%\begin{boxedverbatim}
+%\setkormainfont{HCR Batang LVT}
+%\end{boxedverbatim}
+%위의 명령을 실행하면 Regular와 Bold, Italic이 지정한 폰트로 바뀐다.
+%%여기 예시한 글꼴은 font family를 이루고 있지 않은 개별 글꼴이므로
+%%굵은 글꼴에도 같은 폰트가 식자된다.
+%예시한 글꼴은 Bold 서체가 font family를 이루고 있으므로 굵은 글꼴을 자동으로
+%HCR Batang LVT Bold로 식자한다. 그러나 그렇지 않은 글꼴을 예를 들면,
+%\begin{boxedverbatim}
+%\setmainfont{YJ BELLA Medium}
+%\end{boxedverbatim}
+%과 같이 하는 경우 양재벨라체가 굵은 글꼴 자리에도 똑같은 글꼴로 식자하게 된다.
+%
+%
+%\begin{boxedverbatim}
+%\setkormainfont[BoldFont={NanumMyeongjo ExtraBold},%
+% ItalicFont={NanumBarunGothic},%
+% ItalicFeatures={FakeSlant={.17}}]{NanumMyeongjo}
+%\end{boxedverbatim}
+%위와 같이 fontspec 문법의 옵션을 지정할 수 있다.
+%
+%\begin{boxedverbatim}
+%\setkormainfont(NanumMyeongjo ExtraBold){NanumMyeongjo}
+%\end{boxedverbatim}
+%이 명령은 Regular와 Bold만 지정된다.
+%
+%\begin{boxedverbatim}
+%\setkormainfont(NanumMyeongjo ExtraBold)(*){NanumMyeongjo}
+%\end{boxedverbatim}
+%이 명령은 Italic에 NanumMyeonjo를 식자하게 한다. gremph에서는
+%upshape와 itshape가 똑같이 찍히게 되지만 itemph에서는 같은
+%글꼴이 기울어져 식자될 것이다.
+%
+%\begin{boxedverbatim}
+%\setkormainfont(* ExtraBold)(Malgun Gothic){NanumMyeongjo}
+%\end{boxedverbatim}
+%이것은 Regular, Bold, Italic을 한 가족으로 묶는다. BoldItalic이 만약 필요해지면 Bold체와
+%동일하게 설정된다.\footnote{%
+% BoldItalic은 위에서 설명한 (*) 줄인 옵션의 영향을 받지 않는다.}
+%한편 (* ExtraBold)라는 표기는 NanumMyeongjo와 같은 이름이기 때문에 줄여 쓴 것이다.
+%
+%한자 글꼴을 별도로 설정해야 할 때가 있다.
+%% \footnote{%
+% % 이 기능은 2008/10/09 이후의 xkospace에 바탕을 둔 \xobclass{} 이후 버전에서 가능하다.
+%% }
+%한자 글꼴을 설정하기 위해서는 위의 명령을 확장하여 다음과 같이 지정한다.
+%
+%\begin{boxedverbatim}
+%\setkormainfont(한글볼드)(한글이탤릭){한글레귤러}%
+% (한자볼드)(한자이탤릭){한자레귤러}
+%\end{boxedverbatim}
+%
+%\texttt{()}로 둘러싸인 부분은 모두 생략가능하지만, 이것이 한자 폰트를 설정하는 것이라는
+%점을 알리기 위해 한자 시작 부분에 ( 문자를 지정해야 한다. 즉,
+%\begin{boxedverbatim}
+%\setkormainfont(){NanumMyeongjo}(){HCR Batang LVT}
+%\end{boxedverbatim}
+%위와 같이 하면 한글 영역에 나눔명조, 한자 영역에 함초롬 LVT 바탕을 식자할 수 있다.
+%이 때 볼드를 지정하지 않지만 최소한 \texttt{()}를 써주어야 한다는 점에 주의한다.
+%한글 폰트 정의에서 괄호 ()를 사용했다면 한자 정의 확장에도 같은 괄호 ()를
+%써야 한다. 한글 폰트 정의에서 각괄호 []를 사용했다면 한자 정의 확장에도
+%같은 괄호 []를 써야 한다.
+%%참고로, 일부 한글 기호문자는 한자 폰트로 식자된다.
+%
+%\begin{boxedverbatim}
+%\setmonoscale{<scale>}
+%\end{boxedverbatim}
+%
+%한글 mono 폰트를 기본값(은 타자)이 아닌 글꼴로 지정할 경우 scaling이 필요할 때가 있다.
+%이를 위하여 위의 명령이 정의되어 있다. 이것은 한글 및 한자 mono 글꼴에만
+%영향을 미친다. 라틴 문자자는 fontspec 옵션으로 지정하면 될 것이다.
+%% 이 문서의 경우 mono 한글 폰트를 맑은 고딕으로
+%% 하면서 scale 값을 0.9로 지정했다.
+%
+%문장 중간에서 한글 및 한자 폰트를 일부 바꾸어 써야 할 때가 있다. 이 경우에는 \xetexko 의
+%\verb|\hangulfontspec| 명령을 이용하면 매우 간편하게 이를 실현할 수 있다.
+
+\subsection{ExternalLocation에 관한 첨언}
+
+폰트를 호출하는 이름은 앞서 설명한 \util{otfinfo -i}를 사용하여 확인할 수 있는
+full name이나 Postscript name을 사용하는 것이 가장 좋다. 그러나 부득이한 경우
+파일 이름으로 사용하는 것도 가능하다.
+
+이 방식은 특히 폰트 정보가 이상한 한글 폰트를 사용할 때를 위해서도
+필요하다.
+굳이 폰트 캐싱을 할 필요가 줄어들기도 하므로, 이 방식을 선호하는 경우도 있다.
+% \xobclass{}에서는
+%\textquotedblleft 별표붙인 명령\textquotedblright 으로 지정한다.
+%참고로 별표붙인 명령을 쓸 때는 fontspec 옵션을 지정하는 명령형식을
+%쓸 수 없다. 그 이유는 fontspec 명령 형식에서는 ExternalLocation
+%옵션을 줄 수 있기 때문이다.
+%\begin{boxedverbatim}
+%\setkormainfont*(BOLD)(ITALIC){REGULAR}
+%\end{boxedverbatim}
+
\TeX\,Live를 포함하여 대부분의 \TeX{} 임플리멘테이션에서 시스템의 폰트 폴더를 kpathsearch로
-찾을 수 있으므로 예컨대 Windows 폰트 폴더의 폰트들도 이 방식으로 호출할 수 있다. 한편, 한겨레결체의 경우 폰트
-이름을 라틴 문자으로 바꾸어두고 ExternalLocation으로 찾아야만 사용할 수 있다.%
-\footnote{즉, 폰트 이름 정보가 잘못되어 있는 글꼴이다.%
-}
-휴먼명조와 같은 글꼴도 마찬가지여서 이 글꼴은 ExternalLocation 옵션으로 \verb|HMKMM.TTF|를
+찾을 수 있으므로 예컨대 Windows 폰트 폴더의 폰트들도 이 방식으로 호출할 수 있다.
+% 한편, 한겨레결체의 경우 폰트
+%이름을 라틴 문자으로 바꾸어두고 ExternalLocation으로 찾아야만 사용할 수 있다.%
+%\footnote{즉, 폰트 이름 정보가 잘못되어 있는 글꼴이다.%
+%}
+휴먼명조와 같은 글꼴은 ExternalLocation 방식으로 \verb|HMKMM.TTF|를
직접 지시하는 것이 가장 안전하다.
-한글 폰트 이름은 폰트 자체의 특성에 따라서 매우 복잡한 양상을 보인다.
-이 글에서는 Windows에서 확인할 수 있는 이름을 기준으로 하고 있으나,
-플랫폼에 따라서는 이름으로 폰트를 호출하기 위해서 다른 방법을 사용해야
-할 수도 있다.
-가장 안전한 방법은 ExternalLocation으로 폰트 파일의 이름을 부르는 것이다.
+%한글 폰트 이름은 폰트 자체의 특성에 따라서 매우 복잡한 양상을 보인다.
+%이 글에서는 Windows에서 확인할 수 있는 이름을 기준으로 하고 있으나,
+%플랫폼에 따라서는 이름으로 폰트를 호출하기 위해서 다른 방법을 사용해야
+%할 수도 있다.
+%가장 안전한 방법은 ExternalLocation으로 폰트 파일의 이름을 부르는 것이다.
이 때 몇 가지 이슈가 있다.
\begin{enumerate}[(가)]\tightlist
\item Windows에서는 한글 폰트 파일 이름을 부를 수 없다. 모든 폰트 파일 이름은
@@ -684,7 +1043,7 @@ ExternalLocation으로 호출할 수 있을 것이다. 리눅스에서는 모르
이것이 가능했다.
\item texmf.cnf의 OSFONTDIR 변수를 수작업으로 수정해야 하는 경우가 있다. Windows의
-KC2008이나 TeXLive 자체가 이것을 잘 설정하여 주므로 사용자가 신경쓸 것이 없으나
+\koTeX\,Live라면 이것을 잘 설정하여 주므로 사용자가 신경쓸 것이 없으나
경우에 따라 이 변수를 설정해야 할 필요가 있을 수 있다. 맥의 경우,
/usr/local/texlive/2013/texmf.cnf 파일을 열어서\footnote{/usr/local/texlive/2013/texmf/web2c/texmf.cnf를
수정해서는 안된다.} 다음 내용을 자신의 환경에 맞게 써넣으면 될 것이다.
@@ -698,11 +1057,11 @@ OSFONTDIR = {/Library/Fonts;~/Library/Fonts;/System/Library/Fonts;}
\end{enumerate}
-폰트를 이름으로 호출하는 것은 폰트 자체에 정의된 이름과 파일이름이 다른 것이 너무 많아서
-손쉽게 말하기가 어렵다. 대부분의 시스템에서(맥 제외) \verb|fc-list| 명령은 \XeTeX 으로
-부를 수 있는 폰트 이름을 확인하게 해준다. 한편 \LuaTeX의 경우는 좀더 복잡하여
-\XeTeX 에서 호출할 수 있는 것과 같을 때도 있고 다를 때도 있다.
-파일 이름으로 호출(즉 ExternalLocation)하는 것이 가장 편리할 때도 있다.
+%폰트를 이름으로 호출하는 것은 폰트 자체에 정의된 이름과 파일이름이 다른 것이 너무 많아서
+%손쉽게 말하기가 어렵다. 대부분의 시스템에서(맥 제외) \verb|fc-list| 명령은 \XeTeX 으로
+%부를 수 있는 폰트 이름을 확인하게 해준다. 한편 \LuaTeX의 경우는 좀더 복잡하여
+%\XeTeX 에서 호출할 수 있는 것과 같을 때도 있고 다를 때도 있다.
+%파일 이름으로 호출(즉 ExternalLocation)하는 것이 가장 편리할 때도 있다.
%\subsection{파일 이름 문제: 조금 더}\myLabel{sec:nowinname}{sec:노윈네임}
@@ -750,16 +1109,16 @@ OSFONTDIR = {/Library/Fonts;~/Library/Fonts;/System/Library/Fonts;}
\subsection{이탤릭, 기울임}
한글 글꼴에 이탤릭은 없다. 그러므로 강조를 위해 기울임으로 이탤릭을 대용하는 것은 그다지 권장하지 않는다. 예를 들어
-\begin{boxedverbatim}
-\setkormainfont(* Bold)(Gungsuh){Malgun Gothic}
-\end{boxedverbatim}
+\begin{verbatim}
+\setkomainfont(Malgun Gothic)(* Bold)(Gungsuh)
+\end{verbatim}
으로 지정했을 때, 궁서체가 이탤릭에 해당하는 폰트로 설정된다. gremph가 디폴트이므로 궁서체는 곧은 모양으로 찍힌다.
그러나 디자인 상의 효과를 위해서나 다른 이유에서
이 서체를 기울이고 싶은 경우가 있을 것이다.
이 경우 \texttt{[itemph]} 클래스 옵션을 지정한다.
-그 반대의 경우는 \texttt{[gremph]}이고 이것이 디폴트이다. 부분부분 기울이려 한다면 fontspec
-명령을 써서 조작할 수 있으므로 별도로 명령을 만들어두거나 하지 않았다.
+그 반대의 경우는 \texttt{[gremph]}이고 이것이 디폴트이다. 부분부분 기울이려 한다면 \cs{hangulfontspec}이나
+\cs{hanjafontspec}, 즉 \cs{adhochangulfont}를 이용하거나 \cs{addhangulfontfeature} 명령을 써서 조작할 수 있으므로 별도로 명령을 만들어두거나 하지 않았다.
%\subsection{따옴표}
%
@@ -795,6 +1154,38 @@ OSFONTDIR = {/Library/Fonts;~/Library/Fonts;/System/Library/Fonts;}
\section{그밖의 사항들}
+\subsection{판면 설정을 위한 fapapersize}
+
+memoir는 geometry 패키지와는 다른 방식의 자체 판면 설정 명령을 가지고 있다.
+oblivoir에서도 기본적으로 memoir의 판면 설정 방식을 사용할 수 있다.
+이와 더불어, \textsf{fapapersize}라는 패키지가
+oblivoir에서 제공된다.
+
+\begin{boxedverbatim}
+\usepackage{fapapersize}
+\usefapapersize{*,*,1in,*,1in,*}
+\end{boxedverbatim}
+
+\cs{usefapapersize}는 여섯 개의 콤마로 연결된 인자를 취하는데, 첫번째, 두번째, 네번째, 여섯번째 인자를 별표(*)로 대용할 수 있다. 이 각각은
+\begin{itemize}\tightlist
+\item paperwidth
+\item paperheight
+\item left margin
+\item right margin
+\item upper margin
+\item lower margin
+\end{itemize}
+이다. 만약 \cs{setheadfoot}이라든가 marginnote 설정이 필요하다면 \cs{usefapapersize} 명령 앞에 둔다.
+적어도 left margin과 upper margin은 반드시 주어야 한다는 점과, 콤마 사이에 공백이 없도록 해야 한다는 점에 주의하여야 한다.
+
+용지(stock)를 설정하려면 다음과 같이 한다.
+\begin{boxedverbatim}
+\usepackage[stock]{fapapersize}
+\usestocksize{210mm,297mm}
+\usefapapersize{190mm,260mm,1in,*,1in,*}
+\end{boxedverbatim}
+\texttt{[showtrims]} 옵션이 주어져 있다면 crop 선이 함께 나타날 것이다.
+
\subsection{enumerate}
enumerate 패키지의 enumerate 아이템 항목 머리 설정은
@@ -810,10 +1201,9 @@ enumerate 패키지의 enumerate 아이템 항목 머리 설정은
\item 둘째 항목
\end{enumerate}
paralist에서 위와 같은 방식으로 항목 머리를 설정하려면
-레거시 텍을 위해서는 dhucs-paralist를, \XeTeX과 \LuaTeX을 위해서는
xob-paralist를 로드한다.\footnote{%
물론 paralist 자체는 그 이전에 부르거나
- xob-paralist(dhucs-paralist)가 스스로 부르도록 할 것이고 xob-paralist(dhucs-paralist) 뒤에
+ xob-paralist가 스스로 부르도록 할 것이고 xob-paralist 뒤에
paralist만 별도로 다시 부르면 안 된다.
}
@@ -856,7 +1246,7 @@ png, jpg, pdf 그림을 잘 불러온다. 즉 \obclass가 알맞게 이 패키
\end{verbatim}
\end{minipage}\hfill
\begin{minipage}{.45\textwidth}
-\hfill “소절 \ref{sec:font}\를 보라.”
+\hfill “소절 \myREF{sec:font}{sec:폰트}\를 보라.”
\end{minipage}
\noindent\hologo{XeTeX}, \hologo{LuaTeX}:\\
@@ -864,35 +1254,118 @@ png, jpg, pdf 그림을 잘 불러온다. 즉 \obclass가 알맞게 이 패키
\begin{verbatim}
“소절 \ref{sec:폰트}\를 보라.”
\end{verbatim}
+\end{minipage}\hfill
+\begin{minipage}{.45\textwidth}
+\hfill “소절 \myREF{sec:font}{sec:폰트}\를 보라.”
\end{minipage}
-
\subsection{방점}
\koTeX 에서는 \texttt{\textbackslash dotemph} 명령의 방점\footnote{%
가로쓰기에서는 \dotemph{점을 글자 위에 찍으므로} \circemph{傍점}이 아니라
\circemph{上점}이 맞겠지만 관행적으로 방점이라 불러왔다.
이 문장부호의 정확한 명칭은 “드러냄표”이다.}%
-을 지원했다. \xetexko{}에서도 이 명령을 사용할 수 있게 되었고,
-xoblivoir에서 조금 확장했다. 기본인
+을 지원했다. \xetexko와 \luatexko에서도 이 명령을 사용할 수 있으며,
+oblivoir에서 조금 확장했다. 기본인
\texttt{\textbackslash dotemph}
외에
\texttt{\textbackslash circemph}
\texttt{\textbackslash useremph}
두 개의 명령을 더 쓸 수 있다.
-\marginpar{\fbox{xe(lua)tex}}
-\xobclass에서 기원한 새로운 텍 엔진을 위한 \obclass 에서
-마지막의 \texttt{\textbackslash useremph} 명령은
-\useremph{˚}{하나의 선택 인자와 두 개의 인자}를 요구한다. 즉,
+\cs{dotemph}와 \cs{circemph}의 결과는 다음과 같다.
+
+\medskip
+
+\noindent\begin{minipage}{.45\textwidth}
+\begin{verbatim}
+\dotemph{우리나라} \circemph{대한민국}
+\end{verbatim}
+\end{minipage}\hfill
+\begin{minipage}{.45\textwidth}
+\dotemph{우리나라} \circemph{대한민국}
+\end{minipage}
+
+\medskip
+
+\cs{useremph} 명령은 이전 버전과 사용법이 달라졌다. 2014년 6월 이전 oblivoir에서
+\cs{useremph}는 pdf\TeX 에서와 \XeTeX, \LuaTeX 에서 사용법이 서로 달랐고
+하나의 선택 인자와 두 개의 인자를 요구하는 등 사용법이 복잡했으나 이것이 모두 다음과 같이
+간단하게 바뀌었다.
+\begin{boxedverbatim}
+\useremph[<raise>][<char>]{text}
+\end{boxedverbatim}
+한 번 raise 값과 char를 주고난 후에는 그 설정이 보존된다. 즉 \cs{useremph}를
+인자 없이 쓰면 이전에 설정된 것을 따라가고, 이전에 설정된 것이 없으면 \cs{useremph}와
+\cs{circemph}가 동일하다.
+
+\begin{verbatim}
+\useremph{드러냄표}
+\useremph[.3ex][\tiny★]{드러냄표}
+다시한번 \useremph{드러냄표}
+이번에는 \useremph[][\tiny+]{드러냄표}
+높이조절 \useremph[0ex]{드러냄표}
+\end{verbatim}
+
+이 코드의 결과는 다음과 같다:\\
+\useremph{드러냄표}
+\useremph[.3ex][\tiny★]{드러냄표} 다시한번 \useremph{드러냄표}
+이번에는 \useremph[][\tiny+]{드러냄표}
+높이조절 \useremph[0ex]{드러냄표}
+
+\medskip
+
+편의를 위하여 \cs{useremphstarwhite}({\useremphstarwhite})와 \cs{useremphstarblack}({\useremphstarblack})
+명령을 준비해두었다. 이것은 현재 식자하는 폰트에 해당 글자가 있으면 잘 나타난다.
+
+\medskip
+
+\noindent\begin{minipage}{.7\textwidth}
\begin{verbatim}
-\useremph[<height>]{<dotchar>}{text}
+\useremph[.5ex][\useremphstarwhite]{드러냄표}
\end{verbatim}
-height는 방점으로 사용할 문자가 올라갈 길이이고 dotchar는
-방점 문자이다. text는 방점을 찍을 텍스트.
-단, 이 \verb|\useremph| 명령은 \xetexko 에서 제공되는 같은 이름의
-명령과도 그 사용법이 다르고 레거시 텍을 위한 \obclass에서의 사용법과도 다르므로 주의를 요한다.
-
+\end{minipage}\hfill
+\begin{minipage}{.28\textwidth}
+\useremph[.5ex][\useremphstarwhite]{드러냄표}
+\end{minipage}
+
+%\marginpar{\fbox{xe(lua)tex}}
+%\xobclass에서 기원한 새로운 텍 엔진을 위한 \obclass 에서
+%마지막의 \texttt{\textbackslash useremph} 명령은
+%\useremph{˚}{하나의 선택 인자와 두 개의 인자}를 요구한다. 즉,
+%\begin{verbatim}
+%\useremph[<height>]{<dotchar>}{text}
+%\end{verbatim}
+%height는 방점으로 사용할 문자가 올라갈 길이이고 dotchar는
+%방점 문자이다. text는 방점을 찍을 텍스트.
+%단, 이 \verb|\useremph| 명령은 \xetexko 에서 제공되는 같은 이름의
+%명령과도 그 사용법이 다르고 레거시 텍을 위한 \obclass에서의 사용법과도 다르므로 주의를 요한다.
+
+\subsection{chapter styles}
+최근의 memoir는 상당히 많은 chapter style을 정의하고 있다. oblivoir의 chapter style
+정의 방식은 기본적으로 memoir와 동일하지만 다음 몇 가지가 다르다.
+
+\begin{itemize}\tightlist
+\item \cs{printchaptername} 명령이 무의미하다.
+\item \cs{prechapternum} 명령과 \cs{postchapternum} 명령이 추가되었다.
+\item \cs{hchaptertitlehead}라는 명령이 사용된다. 이것은 특히 running heading과 관련이 있다.
+\end{itemize}
+
+KTUG 사설 저장소를 통하여 설치할 수 있는\footnote{%
+ 사설 저장소를 등록할 수 없는 상황이라면 직접 다운로드하라.
+ \url{http://ftp.ktug.org/KTUG/texlive/tlnet/archive/}
+}
+ob-chapstyles라는 패키지에는 몇 가지 memoir
+chapter 스타일을 oblivoir화해둔 것이 있다. 이 자체를 그대로 써도 좋고 이를 자신만의 스타일을
+만드는 데 참고하여도 좋을 것이다.
+
+\subsection{한글 pagestyle}
+
+oblivoir가 추가적으로 제공하는 페이지 스타일로 \texttt{hangul}이 있다.
+\begin{boxedverbatim}
+\pagestyle{hangul}
+\end{boxedverbatim}
+
\section{샘플 문서}
이 작은 안내서에 더하여 간단한 \obclass\ 샘플 문서를 하나 제공한다.
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.pdf b/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.pdf
deleted file mode 100644
index 96a9a9ea606..00000000000
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-simpledoc.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-test.tex b/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-test.tex
deleted file mode 100644
index c392205ca52..00000000000
--- a/Master/texmf-dist/doc/latex/kotex-oblivoir/oblivoir-test.tex
+++ /dev/null
@@ -1,1377 +0,0 @@
-% -*- UTF-8 : LaTeX -*-
-%%
-%% 2013/09/28. xoblivoir ver2 버전으로 포팅.
-%% 2010/03/17. xoblivoir 버전으로 포팅
-%%
-%% memhangul-ucs v1.44 테스트 파일
-%% Written by 도은이아빠.
-%%
-
-\documentclass[demo,chapter,openany,amsmath,gremph,adjustmath]{xoblivoir}
-%%% amsmath 옵션은 amsmath, amssymb 패키지를 로드해준다..
-
-%\usepackage[logonly]{trace} %% for debugging.
-\let\traceon\relax\let\traceoff\relax
-
-%%% display overfullrule
-%\setlength\overfullrule{5pt}
-
-%% 페이지 레이아웃. fapapersize를 이용한다..
-\usepackage{fapapersize}
-\usefapapersize{220mm,276mm,20mm,80mm,30mm,35mm}
-
-%% 폰트 설정
-\def\DefaultFont{HCR Batang LVT}
-\ifPDFTeX
- \usepackage{mathpazo}
-\else\ifLuaOrXeTeX
- \defaultfontfeatures{Mapping=tex-text,Ligatures=TeX}
- \setmainfont{TeX Gyre Pagella}
- \usepackage{unicode-math}
- \setmathfont{Asana-Math.otf}
- \setsansfont[Scale=.95]{TeX Gyre Heros}
- \setkormainfont[ItalicFont=\DefaultFont,ItalicFeatures={FakeSlant=.167}]{\DefaultFont}[]{\DefaultFont}
- \setkorsansfont[]{NanumGothic}[]{HCR Dotum LVT}
-\fi\fi
-
-\ifLuaTeX
-\def\interHANGUL{InterHangul}
-\let\circemph=\dotemph
-\else\ifXeTeX
-\def\interHANGUL{interhchar}
-\fi\fi
-
-%% logos
-\usepackage{hologo}
-
-%%% marginfix
-%\usepackage{marginfix}
-
-%% 좌우 마진의 marginpar 위치가 혼선을 보인다면
-%% 다음을 선언한다.
-\strictpagecheck
-
-\usepackage{cite}
-
-\ifPDFTeX
-\usepackage{graphicx}
-\fi
-\usepackage[dvipsnames]{xcolor}
-%% pdf 정보
-\hypersetup{%
- bookmarks=true,%
- plainpages=false,%
- colorlinks=true,%
- pdfauthor={Karnes Kim},%
- pdfcreator={Karnes Kim}
-}
-
-\nonfrenchspacing
-%% nonfrench를 설정하는 경우에는 \xspaceskip도 정해주자.
-%% 여기서는 눈에 띄도록 이 길이를 넉넉하게 잡았음.
-%% 일반적으로 .6 내지 .7 정도를 권장함.
-\xspaceskip=.8em plus .1em minus .1em
-
-%% 이 아래 명령들은 본문에서 바꿀 수 있다.
-%% 행간설정. 두번째 인자는 fn/float에 적용되는 행간.
-\SetHangulspace{1.5}{1.1}
-%% quotespacing을 설정함. \noadjustqutespacing이 default. \adjustquotespacing
-%\adjustquotespacing
-%% float/fn의 좁은 행간 설정을 disable. \adjustfloatfnspacing
-\noadjustfloatfnspacing
-
-%% snugshade 환경에 칠할 배경색.
-\definecolor{shadecolor}{gray}{0.85}
-
-%%% from memman.tex. modified.
-%% 본문에서 한 번 사용하기 위해 설정한 chapter
-%% style 예제. 이 예제는 memman에 있다.
-%% 한글판을 위하여 조금 수정함.
-\makeatletter
-\newlength{\numberheight}
-\newlength{\barlength}
-\makechapterstyle{veelo}{%
- \setlength{\beforechapskip}{40pt}
- \setlength{\midchapskip}{25pt}
- \setlength{\afterchapskip}{40pt}
- \renewcommand{\chapnamefont}{\normalfont\LARGE\flushright}
- \renewcommand{\chapnumfont}{\normalfont\HUGE}
- \renewcommand{\chaptitlefont}{\normalfont\HUGE\bfseries\flushright}
- \renewcommand{\printchaptername}{}%
- \renewcommand{\prechapternum}{% <= 이 명령을 정의.
- \chapnamefont\MakeUppercase{chapter}}
- \renewcommand{\postchapternum}{}% <= 이 명령을 정의. 여기서는 비움.
- \renewcommand{\chapternamenum}{}
- \setlength{\numberheight}{18mm}
- \setlength{\barlength}{\paperwidth}
- \addtolength{\barlength}{-\textwidth}
- \addtolength{\barlength}{-\spinemargin}
- \renewcommand{\printchapternum}{%
- \makebox[0pt][l]{%
- \hspace{.8em}%
- \resizebox{!}{\numberheight}{\chapnumfont \thechapter}%
- \hspace{.8em}%
- \rule{\barlength}{\numberheight}
- }
- }
- \makeoddfoot{plain}{}{}{\thepage}
-}
-
-\makechapterstyle{mycompanion}{%
- \chapterstyle{default}
- \renewcommand*{\chapnamefont}{\normalfont\LARGE\scshape}
- \renewcommand*{\printchaptername}{\raggedleft\chapnamefont \@chapapp}
- \renewcommand*{\prechapternum}{\raggedleft\chapnamefont \pre@chapter}
- \renewcommand*{\chapnumfont}{\normalfont\Huge}
- \setlength{\chapindent}{\marginparsep}
- \renewcommand*{\printchaptertitle}[1]{%
- \begin{adjustwidth}{}{-\chapindent}
- \raggedleft \chaptitlefont ##1\par\nobreak
- \end{adjustwidth}}}
-
-\makeatother
-
-%%% User's commands
-%% 사용자 명령들. 인덱스 관련 명령.
-\newcommand\dispcmd[1]{%
- \texttt{\textbackslash #1}%
- \index{명령!\textbackslash #1}%
- \index{#1@\textbackslash #1}%
-}
-
-\newcommand\cls[1]{%
- \texttt{#1}\ 클래스%
- \index{클래스!#1}%
- \index{#1~클래스}%
-}
-
-\newcommand\pkg[1]{%
- \texttt{#1}\ 패키지%
- \index{패키지!#1}%
- \index{#1~패키지}%
-}
-
-\newcommand\thisclass{%
- \texttt{memoir}\ 클래스%
- \index{클래스!memoir}%
- \index{memoir~클래스}%
-}
-
-\newcommand\env[1]{%
- \textsf{#1} 환경%
- \index{환경!#1}%
- \index{#1~환경}%
-}
-
-\newcommand\wi[2][\empty]{%
- \ifx#1\empty
- \index{#2}#2%
- \else
- \index{#1!#2}#2%
- \fi
-}
-
-%% showcommand/showenv 명령.
-%% 만약 command/env 보여주기를 끄려면
-%% \showcommandfalse를 선언한다.
-\makeatletter
-\newif\if@showcommand\@showcommandtrue
-\newcommand\showcommandtrue{\@showcommandtrue}
-\newcommand\showcommandfalse{\@showcommandfalse}
-
-\strictpagechecktrue
-
-\newcommand\showcommand[1]{%
- \if@showcommand
- \checkoddpage\ifoddpage
- \marginpar{\small\texttt{\textbackslash #1}}%
- \else
- \marginpar{\hfill\small\texttt{\textbackslash #1}}%
- \fi
- \fi
-}
-
-\newcommand\showenv[1]{%
- \if@showcommand
- \checkoddpage\ifoddpage
- \marginpar{\small\textit{#1}(env.)}%
- \else
- \marginpar{\hfill\small\textit{#1}(env.)}%
- \fi
- \fi
-}
-\makeatother
-
-%% MakeShortVerb
-\MakeShortVerb{\|}
-% \DeleteShortVerb{\|}
-
-%% 인덱스의 hyperpage 처리를 위해서
-\newcommand\bfhypidx[1]{%
- \textbf{\hyperpage{#1}}%
-}
-
-%% replace \bigskip
-\newcommand\alineskip{%
- \vspace{\onelineskip}%
-}
-
-%% showindexmark
-%% 여백을 충분히 확보하고 다음 행을
-%% 활성화해볼 것.
-%\showindexmarktrue
-
-%% 문장 부호 관련 명령은 스타일에 포함시켰음.
-%% \bnm, \snm, \cnm, \ccnm.
-
-%% index를 만든다.
-%% makeindex를 실행할 때는 makeindex-dhucs.pl을 이용할 것.
-%% #> perl makeindex-dhucs.pl -s dhhangulucs.ist <filename>
-%%
-\makeindex
-
-%% newlist
-%% 새로운 리스트를 만드는 것이 정말 너무나 간단하다.
-\newcommand\queryfont{\raggedleft\sffamily\small}
-\newcommand\listofqueriesname{Queries~목록}
-\newlistof{listofqueries}{loq}{\listofqueriesname}
-\newlistentry{query}{loq}{0}
-\newcommand{\query}[2][\empty]{%
- \refstepcounter{query}
- \par\noindent\fbox{Q?}~\begingroup\queryfont #2\endgroup%
- \addcontentsline{loq}{query}{\protect\numberline{\thequery}#2}\par
- \ifx#1\empty\else\index{Query!#1}\fi
-}
-
-%% title page
-\newcommand\MakeTitle{%
- \begin{titlingpage}
- \setcounter{page}{-1}%
- \begin{adjustwidth*}{0mm}{-55mm}
- \newlength\tmplen\setlength\tmplen{\textwidth}\addtolength\tmplen{60mm}
- \fbox{%
- \begin{minipage}{\tmplen}
- \vspace*{90mm}
- \begin{center}
- \LARGE\bfseries\thetitle \\ \vskip\onelineskip
- \normalfont\normalsize\theauthor
- \end{center}
- \vspace*{100mm}
- \end{minipage}}
- \end{adjustwidth*}
- \end{titlingpage}
-}
-
-%% 각주. footmisc는 memoir와 함께 쓸 수 있다.
-%\usepackage[bottom]{footmisc}
-%% 그러나, 위의 예와 같이 [bottom] footnote를 위해서라면
-%% 다음과 같이 할 것을 권장함. raggedbottom에서 동작함.
-\renewcommand*{\footnoterule}{\kern-3pt\vfill
- \hrule width 0.4\columnwidth \kern 2.6pt}
-%% 각주를 floats 아래.
-\feetbelowfloat
-
-%% 밑줄.
-\ifLuaTeX\else
-\usepackage[normalem]{ulem}
-\fi
-
-%% 사소한 설정
-\def\util#1{\texttt{#1}\index{Utility!#1}}
-
-%% \useremph compatibility
-\ifPDFTeX
- \let\ORIGuseremph=\useremph
- \def\useremphchar{\tiny★}
- \setlength\useremphraisedim{10pt}
- \def\useremph#1{\ORIGuseremph{#1}}
-\else\ifXeTeX
- \let\ORIGuseremph=\useremph
- \def\useremph#1{\ORIGuseremph[10pt]{\tiny★}{#1}}
-\else\ifLuaTeX
- \let\ORIGdotemph=\dotemph
- \def\dotemph#1{%
- \def\dotemphraise{0.4em}
- \def\dotemphchar{˙}
- \ORIGdotemph{#1}}
- \def\circemph#1{%
- \def\dotemphraise{0.4em}
- \def\dotemphchar{˚}
- \ORIGdotemph{#1}}
- \def\useremph#1{%
- \def\dotemphraise{10pt}
- \def\dotemphchar{\tiny★}
- \ORIGdotemph{#1}}
-\fi\fi\fi
-
-%%%
-%\headnamereftrue
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%% 이제 문서를 시작.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-\title{memoir에서 한글을 쓰자!}
-\author{도은이아빠}
-\date{\today}
-
-%% 아래 \MakeTitle 명령은 이 문서의 preamble에
-%% 정의되어 있다. 표지 디자인은 이 정의를 참고하여
-%% 수정하여 볼 것.
-\MakeTitle
-\cleardoublepage
-
-\frontmatter
-% ToC, etc
-%% 차례 페이지들. 여기서는 demo chapter style과
-%% Ruled 페이지 스타일을 적용한다.
-\chapterstyle{demo}
-
-\tableofcontents
-%\clearpage
-\listoffigures
-%\clearpage
-\listoftables
-%% listofqueries는 \newlistof로 만든
-%% local \listofx임.
-%\clearpage
-\listofqueries
-
-\mainmatter
-
-%% hangul 페이지 스타일을 테스트하기
-%% 위하여 제1편 앞에 한 챕터를 둠. 다만 chapter의 첫 면은
-%% chapter 페이지 스타일을 따른다.
-\pagestyle{hangul}
-
-\chapterstyle{default}
-
-\chapter{xoblivoir}
-
-이 문서는 xoblivoir의 몇 가지 기능을 시험하기 위한 목적으로
-작성되었다. 이 문서의 원본은 memhangul을 개발하던 당시
-테스트용으로 사용된 바, 가장 먼저 만들어진 oblivoir 문서이다.
-
-해당 문단의 여백에 사용되고 있는 명령이 나와 있으므로 참고할 수 있을
-것이다. 실제로 xoblivoir 사용설명서를 작성하기 어려운 것이
-기본적인 것은 모두 memoir에 바탕을 두고 있는 데다가
-한글화하면서 변화한 점도 많아서 이것을 모두 모으면 너무나 방대한
-내용이 된다는 점이다.
-
-이 문서의 원본을 잘 연구하면 그럭저럭 oblivoir가 어떻게 동작하는지
-짐작할 수 있게 되기를 희망한다.
-
-이 문서는 다음 순서로 컴파일할 수 있다. |$ENGINE|은 \util{pdflatex}, \util{xelatex}, \util{lualatex} 가운데 하나이고
-|$JOBNAME|은 파일 이름(\texttt{xobtesttest})이다.
-한편, 색인을 만드는 유틸리티 |$MAKEINDEXENGINE|은 \util{pdflatex} 상황에서는
-\util{komkindex}이고 그밖의 경우에는 \util{kotexindy}이다.
-
-\begin{verbatim}
- # $ENGINE $JOBNAME
- # $ENGINE $JOBNAME
- # $MAKEINDEXENGINE $JOBNAME.idx
- # $ENGINE $JOBNAME
-\end{verbatim}
-
-
-
-\chapter{default 페이지 스타일}
-
-\section{맹동야를 보내는 글}
-\epigraph{한유 글, \cnm{送孟東野序}}{김학주 옮김}
-
-대개 만물은 평정을 얻지 못하면 소리를 내게 된다.
-초목은 소리가 없으나 바람이 흔들면 소리를 내게 되며, 물은 소리가 없으나 바람이
-움직이면 소리를 내게 된다. 물이 뛰어오르는 것은 바위같은 곳에 부칮쳤기
-때문이다. 물이 세차게 끓어오르는 것은 한 곳에서 물결을 막기 때문이다.
-물이 펄펄 끓어오르는 것은 불로 태우기 때문이다. 쇠나 돌은 소리가 없으나
-치면 소리를 낸다. 사람이 말하는 데 있어서도 이와 같으니,
-부득이한 일이 있은 후에야 말을 하게 된다. 노래를 하는 것은 생각이
-있기 때문이며, 우는 것은 회포가 있기 때문이다.
-
-음악이라는 것은 가슴속이 막혀 답답할 때 밖으로 새어나오는 것이며
-소리를 잘 내는 것을 선택하여 이것을 빌려서 소리를 내게 된다.
-쇠\cntrdot 돌\cntrdot 실\cntrdot 대\cntrdot 박\cntrdot 흙\cntrdot
-가죽\cntrdot 나무 등 여덟 가지 악기를 만드는 데 쓰이는 자료들은 만물
-가운데 소리를 잘 내는 것들이다.
-
-자연의 계절에 있어서도 역시 그러하니 소리를 잘 내는 것을 선택하여 그것을
-빌려서 소리를 내게 된다. 그러므로 새를 빌려 봄의 소리를 내고, 우뢰를
-빌려 여름의 소리를 내고, 벌레를 빌어 가을의 소리를 내며,
-바람을 빌어 겨울의 소리를 낸다. 사계절이 서로 바뀌어 나타나는 현상은
-반드시 그 평정을 얻지 못했기 때문일 것이다.
-
-이는 사람에게 있어서도 마찬가지이다. 사람의 소리 가운데 정묘한 것이 언어이며
-문장의 표현은 언어 가운데서도 더욱 정묘한 것이다. 그 중에서도 더욱 소리를
-잘 내는 것을 선택하여 이것을 빌려서 소리를 내게 된다.
-
-당요\cntrdot 우순 시대에는 고요와 우가 소리를 잘 내는 사람들이어서
-그들을 빌려 소리를 냈다. 기는 문사로써 소리를 내지는 못했으나
-스스로 소를 빌려서 소리를 냈다. 하나라 때에는 오자가 노래를 불러 소리를
-냈다. 이윤은 은나라에서 소리를 냈고 주공은 주나라에서 소리를 냈다.
-
-무릇 \snm{시}\cntrdot \snm{서} 등 육예에 실린 것들은 모두 소리를
-잘 낸 것들이다. 주나라가 쇠퇴해지자 공자의 무리들이 소리를 냈는데
-그 소리를 크게 멀리 들렸다. 옛 서적에 ``하늘이 장차 선생을 목탁으로
-삼으려 하는구나!''\,라고 하였는데도 믿지 못하겠는가!
-
-주나라 말엽에 이르러서는 장주가 황당한 문사로써 초나라에서
-소리를 냈다. 초나라를 큰나라였는데 망할 무렵이 되어 굴원이 소리를 냈다.
-장손진\cntrdot 맹가\cntrdot 순경은 도로써 소리를 낸 자들이고,
-양주\cntrdot 묵적\cntrdot 관이오\cntrdot 안영\cntrdot 노담\cntrdot 신불해\cntrdot
-한비\cntrdot 신도\cntrdot 전연\cntrdot 추연\cntrdot 시교\cntrdot 손무\cntrdot
-장의\cntrdot 소진의 무리들은 모두 술법으로써 소리를 냈다.
-
-진나라가 융성하자 이사가 소리를 냈으며 한나라 때에는 사마천\cntrdot 사마상여\cntrdot
-양응이 가장 소리를 잘 낸 자들이다.
-
-그 후 위\cntrdot 진 시대에는 소리를 내는 자들이 옛날 사람들에 미치지 못했지만
-또한 아직 끊이지는 않았었다. 그 가운데 괜찮은 것들도 그 소리는 맑지만
-경박하고 그 음절은 빠르고 급하며 그 문사는 음란하고 슬프며
-그 뜻은 느슨하고도 방자하며 그 표현은 난잡하고 문채가 없었으니
-하늘이 그 덕을 추하게 여겨 돌보지 않은 때문이었는가? 무엇 때문에
-소리를 잘 내는 자들로 하여금 소리를 내게 하지 않았는가!
-
-당(唐)나라가 천하를 장악하고나서는 진자앙\cntrdot 소원명\cntrdot 원결\cntrdot
-이백\cntrdot 두보\cntrdot 이관 등이 모두 자신의 잘하는 것으로써 소리를 내었다.
-
-현재 살아 있으면서 아랫자리에 있는 사람으로 동야 맹교가 비로소 시로써
-소리를 내었다. 그는 위\cntrdot 진 시대 사람들보다 훨씬 뛰어나며
-게을리하지 않으면 옛사람들의 수준에 미칠 수 있겠고
-그밖의 작품들은 한나라의 문풍에 젖어 있다. 나에게서 배운 자들로서
-이고와 장적이 가장 뛰어나다. 이 세 사람의 소리는 진실로 훌륭하다.
-
-그런데 하늘이 장차 그들의 소리를 온화하게 하여 국가의 성대함을 소리내게
-할 것인지 아니면 장차 그들 자신을 가난하고 굶주리게 하고
-그들의 마음을 근심스럽게 하여 그 불행을 스스로 소리내게 할 것인지 모르겠다.
-이 세 사람의 운명은 하늘에 달려 있는 것이니 윗자리에 있다고 해서 어찌
-기뻐하겠으며 아랫자리에 있다고 해서 어찌 슬퍼하겠는가.
-
-동야가 강남에 근무하러 떠나면서 즐거워하지 않는 것 같아서 내가 그의
-운명이 하늘에 달려 있다고 말하며 이를 풀어주려고 하는 것이다.
-
-%% 본문시작.
-%% 본문은 companion chapter style로 식자할 것인데,
-%% default를 한 번 부른 이유는 앞서 사용한 demo의
-%% 글꼴 설정에 영향을 받기 때문이다.
-
-\part{xoblivoir 테스트}
-
-\chapterstyle{mycompanion}
-\pagestyle{companion}
-
-%% 제목은 두 줄로 식자하되, heading과 toc에는 개행 없이.
-% \chapter[memoir 클래스에서 한글을 쓰자][memoir 클래스에서...]{memoir
-% 클래스에서\\ 한글을 쓰자} % -> [toc][heading]{title}
-% \chapter[memoir 클래스에서 한글을 쓰자]{memoir 클래스에서\\ 한글을
-% 쓰자} % -> [toc,heading]{title} %% 이 부분이 memoir와 다르다.
-% \chapter{memoir 클래스에서 한글을 쓰자} % {toc,heading,title}
-% \chapter[memoir 클래스에서 한글을 쓰자][memoir 클래스에서
-% 한글...]{memoir 클래스에서\\ 한글을 쓰자}
-% \chapter[memoir 클래스에서 한글...]{memoir 클래스에서\\ 한글을 쓰자}
-% 주의: titleref에 \\ 문자가 들어가면 안된다. titleref에서 사용하는
-% 것은 두번째 옵션인자이므로, 다음과 같이 두번째 옵션 인자를 밝혀줄
-% 것.
-\chapter[memoir 클래스에서 한글...][memoir 클래스에서 한글을 쓰자]{%
- memoir 클래스에서\\ 한글을 쓰자}
-\traceon\label{sec:firstchap}\traceoff
-
-\chapterprecis{\noindent 이 장에서는 memoir 클래스에 대해 간략히
- 소개하고 한글화에 대하여 개관한다.}
-
-\showcommand{chapterprecis}\showcommand{chapterstyle}\showcommand{pagestyle}
-\thisclass\는 Peter Wilson 씨가 작성한 \LaTeX\ 클래스이다. \LaTeX 이 제공하는
-표준 클래스\index{표준~클래스|bfhypidx}는 \cls{book}, \cls{report}, \cls{article}, \cls{letter}
-등이 있지만, 어딘가 모르게 세세한 부분에서 부족한 점이 있어서 수많은 추가 패키지를
-사용해야 원하는 문서 모양을 구현할 수 있는 경우가 많았다. \thisclass\는 그 동안 개발된
-문서 조판의 세세한 부분을 하나의 클래스로 통합한 것으로, 사용자 입장에서는
-정말 획기적인 환상적인 클래스가 아닐 수 없다. 매우 많은 패키지들을 이
-클래스는 통합\cntrdot 내장하거나 그와 유사한 기능을 제공한다.
-이 패키지의 결점은, 한번 사용하기 시작하면 다시는 book과 같은
-표준 클래스로 돌아가기 어렵다는 점이다.
-
-EUC-KR\index{한글!EUC-KR|bfhypidx} 한글을 \thisclass 에서 사용하도록 만들었던 것이
-\pkg{memhangul}였다.
-이제 여기서 제공하는 클래스는 본질적으로 \pkg{memhangul}\과 동일하지만
-한글을 UTF-8 유니코드로 입력할 수 있게 만든 것이다. \wi[유니코드]{유니코드 한글}을
-처리하기 위해서 \pkg{dhucs}\를 채택하였다.
-\query[유니코드]{유니코드 한글 처리}
-
-\alineskip
-
-\hangfrom{한글 }사용을 위해서 H\LaTeX 을 채택한 결과는 어느 정도
-괜찮은 결과를 가져왔다. 그러나 \pkg{dhucs}\를 이용하여 구현한 \pkg{memhangul-ucs}\는
-괜찮은 정도가 아니라 아주 훌륭한 결과를 얻게 되었다.
-
-\showcommand{hangpara}\showcommand{hangfrom}%
-\hangpara{2.6em}{2}%
-{\SetAdhocFonts{unpg}{ungt}\showcommand{SetAdhocFonts}%
-유니코드 한글 입력이 가능하도록 하는 것은 \pkg{dhucs}에서였다. 이것은
-\LaTeX-ucs 패키지와 한글 자동조사 및 한글 문서서식을 합친 것인데,
-핵심적인 한글 식자와 자동조사의 구현은 김도현 교수가 작성하였다.
-필자는 사용자 인터페이스를 조금 추가하고 한글 문서서식을 보충하는
-정도로 미미한 기여를 하였다.}
-
-이 패키지의 장점은 대강 다음과 같다.
-\tightlists\showcommand{tightlists}
-\begin{itemize}
-
-\item 유니코드를 쓴다는 것 자체가 장점이다. EUC-KR 한글의 범위를
-넘어서서 맞춤법에는 어긋나지만 꼭 써야할 경우가 없지 않은 ``띡''과 같은
-완성형 밖 글자를 식자할 수 있다.\footnote{%
- 중세 한글 문제는 코드와 폰트의 문제가 얽혀 있어서
- 여기에서는 다루지 않는다.}
-
-\item 절에 \wi{한글식 절카운터 모양}(section counter format), \dispcmd{pgana} 등을
-사용하는 것이 쉽다.
-
-\item \wi{자동조사} 기능이 구현되어 있다.
-
-\item 주요 pagestyle과 chapterstyle이 \wi{한글}과 호환되게 하였다. 이호재 님의
-말씀에 의하면, \thisclass 는 여러 가지 면에서 매우 편리하다고 한다.
-
-\item 인덱스 만들기가 구현되었다.
-
-\item \thisclass 의 여러 기능을 그대로 쓸 수 있다.
-
-\end{itemize}
-
-\section{이 문서의 컴파일 방법}
-
-다음과 같은 순서로 컴파일한다.
-
-\bvtopandtail\showcommand{bvtopandtail}\showenv{boxedverbatim}
-\begin{boxedverbatim}
-#> latex memucstest
-#> latex memucstest
-#> makeindex-dhucs -s dhucs memucstest
-#> latex memucstest
-\end{boxedverbatim}
-
-|makeindex(-dhucs)|에 앞서서 |latex|을 두 번 실행하는 이유는,
-memoir 패키지의 인덱스 만들기의 특징 때문이다. 처음 한 번만 실행해서는
-|.idx| 파일이 만들어지지 않는다.
-
-\section{chapter 스타일}
-
-\showcommand{prechapternum}\showcommand{postchapternum}
-사용자가 자신의 |chapterstyle|을 정의(定義)할 때는 반드시
-\dispcmd{prechapternum}과 \dispcmd{postchapternum}을 함께 정의해주도록 한다.
-그림~\ref{fig:examchapstyle}\은 |hangnum| chapter style을
-정의하는 방법을 보여준다.
-\begin{figure}
-%% 웬만한 환경은 memoir에 다 있다.!!!
-\begin{boxedverbatim}
-\makechapterstyle{hangnum}{%
- \renewcommand{\chapnumfont}{\chaptitlefont}
- \settowidth{\chapindent}{\chapnumfont 999}
-% \renewcommand{\printchaptername}{} % <= 쓰지 않음.
- \renewcommand{\prechapternum}{} % <= 이 행을 정의
- \renewcommand{\chapternamenum}{}
- \renewcommand{\postchapternum}{}% <= 이 행을 정의
- \renewcommand{\printchapternum}{%
- \noindent\llap{\makebox[\chapindent][l]{\chapnumfont
- \thechapter}}}
- \renewcommand{\afterchapternum}{}
-}
-\end{boxedverbatim}
-\caption{chapterstyle 정의 예제}\label{fig:examchapstyle}
-\end{figure}
-
-장 스타일을 수정하는 구체적인 예는 |memman.tex|\cite{memman}에서
-가져온 |veelo| chapter style의 정의를 참조하라. 이 문서의
-소스 Preamble에 있다. 예제는 \Cref{sec:math} \titleref{sec:math}\을 보라.
-%% disable \nameref
-\textbf{\nameref{sec:appchap}}\를 보라.
-
-\textbf{\titleref{sec:appchap}}\를 보라. \pref{sec:appchap}\을,
-\ref{sec:appchap}\을, \Cref{sec:appchap}\을
-\Sref{sec:appsec}\가, \ref{sec:appsec}\가, \titleref{sec:appsec}\가.
-\titleref{sec:appsec}\을.
-\showcommand{Cref}\showcommand{ref}\showcommand{pageref}\showcommand{titleref}
-%% \Cref 명령으로 식자되는 결과를 주의깊게 보라.
-
-\section{시집}\label{sec:poembook}
-
-\wi{어머님}이 \wi{수술} 후에 거동이 불편해지신 후, 집에만
-계시는 것이 무척 \wi{무료}하신 듯하다. 예전에 내가 보던
-\wi{시집}을 꺼내 보고 계시다. \showcommand{titleref}\showcommand{Sref}%
-\Sref{sec:poembook} \textit{\titleref{sec:poembook}}\는
-텍스트 입력의 예제이다.
-
-%% memoir는 poem 스타일을 자체 내장하고 있다.
-%% plain poem title을 선언함.
-\PlainPoemTitle\showcommand{PoemTitle}\showcommand{PlainPoemTitle}
-\showenv{snugshade}\showcommand{poemtitle}\showenv{verse}
-\begin{snugshade}
-\renewcommand\poemtoc{subsection}
-\settocdepth{subsection}
-\poemtitle{신안리에서}
-\settowidth{\versewidth}{\hbox{사람들은 굳이 한 마디 말 하려 하지 않는다.}}
-\ifpdf\begin{verse}\else\begin{verse}[\versewidth]\fi
-
-실개천 너머 나 있는 샛길로\\
-택시가 들어오고 나가며 \\
-겨르로운 달빛에 감출 부끄러움도 없는\\
-사람들은 굳이 한 마디 말 하려 하지 않는다.\\!
-
-나는 톱밥 같은 달빛을 한 웅큼\\
-멀리 철길 쪽으로 뿌렸다.\\
-매달린 불빛보다\\
-아침이 먼저 깨어나는 광경을 보며.\\
-삶은 새의 낮은 날음새 같은 것,\\
-이대로 누워 잠들기\\
-두렵지 않은 작은 마을에\\
-더 작은 풀꽃 인사한다.\\
-잊혀짐 너머 안부 묻는다.\\
-\end{verse}
-\end{snugshade}
-
-이 스타일은 \pkg{memucs-setspace}\를 이용한다. 이 패키지는\footnote{
- 이 스타일은 \pkg{setspace}\를 수정한 것이다.
- \env{verse}, \env{quote}\와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
- 기능이 있다.}
-verse, quote와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
-기능이 있다. 이 부분에서 \dispcmd{adjustfloatfnspacing}을 불러보겠다.
-\showcommand{adjustfloatfnspacing}
-다음번 각주는 행간이 조금 달라져야 한다.
-\adjustfloatfnspacing
-float 안에 놓인 것과 같아지도록.\footnote{%
-이 스타일은 \pkg{setspace}\를 수정한 것이다.
-verse, quote와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
-기능이 있다.}
-
-%%%\showcommand{memucsfninterwordhook}\showcommand{xspaceskip}
-%%%만약 각주의 자간을 조절하고 싶으면 어떻게 할 것인가?
-%%%이 때는 \dispcmd{memucsfninterwordhook}이라는 명령을 재정의해준다.
-%%%이것을 간편하게 재정의하는 명령을 따로 제공하지 않는 이유는,
-%%%이것을 재정의하는 것이 그다지 바람직하지 않기 때문이다.
-%%%게다가 만약 이 명령에서 \dispcmd{xspaceskip} 등을 수정하면
-%%%본문에도 영향을 미치기 때문에, 본문 중에서는
-%%%되도록 사용하지 않는 것이 좋다. 여기서는 오직 예시만을
-%%%위하여 간단한 예를 들어두겠다.
-%%%\let\ORIGmemucsfninterwordhook\memucsfninterwordhook
-%%%\renewcommand\memucsfninterwordhook{%
-%%% \ifLuaTeX
-%%% \hangulfontspec[InterHangul=.5em]{\DefaultFont}
-%%% \else\ifXeTeX
-%%% \hangulfontspec[interhchar=.5em]{\DefaultFont}
-%%% \else\ifPDFTeX
-%%% \interhchar{.5em}
-%%% \fi\fi\fi
-%%% \spaceskip=.8em plus .133em minus .111em
-%%%% \xspaceskip=1em plus .05em minus .05em
-%%%}%
-%%%이제 각주를 붙여보자.\footnote{%
-%%%각주의 자간을 수정하려면
-%%%위와 같이 한다. 잘 되는가?}
-%%%
-%%%\let\memucsfninterwordhook=\ORIGmemucsfninterwordhook
-
-%\DefaultInterHchar
-
-\showcommand{noadjustquotespacing}\showcommand{adjustquotespacing}
-이 아래는 본문 중에서 \dispcmd{noadjustquotespacing}과 \dispcmd{adjustquotespacing}을
-불렀을 때 \env{quote} 안에서 행간이 어떻게 변하는지 보여준다.
-기본값은 \dispcmd{noadjustquotespacing}이다.
-
-\begin{quote}
-이 스타일은 \pkg{setspace}\를 수정한 것이다.
-verse, quote와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
-기능이 있다. 마치 float 안에 놓인 것과 같이.
-\end{quote}
-
-여기서 \dispcmd{adjustquotespacing}을 호출함.
-
-\adjustquotespacing
-\begin{quote}
-이 스타일은 \pkg{setspace}\를 이용한다. 이 패키지는
-verse, quote와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
-기능이 있다. 마치 float 안에 놓인 것과 같이.
-\end{quote}
-
-verse류 환경의 행간은 quote를 따른다. 앞서 보인 시를 여기에서
-다시 식자해보자.
-\begin{snugshade}
-\renewcommand\poemtoc{subsection}
-\settocdepth{subsection}
-\PoemTitle{신안리에서}
-\settowidth\versewidth{사람들은 굳이 한 마디 말 하려 하지 않는다.}
-\ifpdf\begin{verse}\else\begin{verse}[\versewidth]\fi
-
-실개천 너머 나 있는 샛길로\\
-택시가 들어오고 나가며 \\
-겨르로운 달빛에 감출 부끄러움도 없는\\
-사람들은 굳이 한 마디 말 하려 하지 않는다.\\!
-
-나는 톱밥 같은 달빛을 한 웅큼\\
-멀리 철길 쪽으로 뿌렸다.\\
-매달린 불빛보다\\
-아침이 먼저 깨어나는 광경을 보며.\\
-삶은 새의 낮은 날음새 같은 것,\\
-이대로 누워 잠들기\\
-두렵지 않은 작은 마을에\\
-더 작은 풀꽃 인사한다.\\
-잊혀짐 너머 안부 묻는다.\\
-\end{verse}
-\end{snugshade}
-
-여기서 다시 \dispcmd{noadjustquotespacing}을 선언함.
-
-\noadjustquotespacing
-\begin{quote}
-이 스타일은 \pkg{setspace}\를 이용한다. 이 패키지는
-verse, quote와 같은 환경을 조금 바꾸어서 행간을 약간 줄여주는
-기능이 있다. 마치 float 안에 놓인 것과 같이.
-\end{quote}
-
-\section{강조}
-
-강조를 구현하는 데는 여러 가지 방법이 있다. 서구 문헌의
-경우 이탤릭체를 사용하는 것이 일반적이고, 예전의 독일 문헌에서는
-자간을 띄우는 강조 방법을 사용한 적도 있다고 한다.
-
-우리말 문헌은 일관되어 있지 않다.
-
-\subsection{방점 강조}
-
-예를 들면 \circemph{방점 강조} 방법을 사용하는 것이 가능하다.
-\wi[강조]{방점 강조}는 \dotemph{한글 맞춤법}의 문장부호 조항에서 규정하고 있는 방법이기도
-하다.\showcommand{circemph}\showcommand{dotemph}
-맨처음에 이 명령은 H\LaTeX\ 1.01에서 구현된 것이었는데,
-그 후
-\useremph{발전을 거듭하여}
-현재에 이르렀다.
-\showcommand{useremph}
-
-\subsection{기울인 글꼴 또는 글꼴 대체}
-
-\ifPDFTeX \ungremph \fi
-H\LaTeX{}에서는 {\itshape\wi[강조]{기울인 글꼴}}을 쓰는 방법을 오랫동안 사용해왔다.
-그러나 실제로 출판되는 서적에서는 \wi[강조]{글꼴 대체} 방법을 사용하는
-경우가 많다.
-
-\ifPDFTeX \begingroup
- \regremph
- |gremph| 옵션은 다음과 같은 효과를 낸다. \emph{gremph 옵션}.
- \ungremph
- 이번에는 이것을 disable한다. \emph{gremph 옵션}.
-
- |\bfemtrue|와 |\bfemfalse|는 그래픽 글꼴 대신
- 은바탕 굵은 글꼴로 식자하게 한다. 또, |\SetGremphFonts|
- 명령으로 직접 폰트를 지정할 수 있다.\showcommand{regremph} \showcommand{ungremph}
- \showcommand{SetGremphFonts}\showcommand{bfemtrue, \textbackslash bfemfalse}
- 다만 |\SetGremphFonts| 명령은 preamble에서만 쓸 수 있다.
-\endgroup \else\ifLuaOrXeTeX \begingroup
- \hologo{LuaLaTeX}이나 \hologo{XeLaTeX}을 쓰는 경우,
- 강조 글꼴의 선택은 폰트 속성과 연계된다. 즉, \textit{Italic Font}로
- 지정된 글꼴이 강조 글꼴로 사용된다.
- |[itemph]| 옵션은 이 부분의 글꼴을 기울어지게 만든다.
-\endgroup \fi\fi
-
-\showcommand{MakeShortVerb}
-
-%% 한글 섹션 카운터 포맷을 가능하게 함.
-\renewcommand\thesection{\pgana{section}}
-\section{두번째 절}
-
-\epigraphtextposition{flushleftright}
-\epigraph{%
-나는 십대에 \wi{철학책}을 읽기 시작한 무렵부터
-거기에 언제나 이 `나(私)'가 빠져 있다고 느껴왔다.}
-{\emph{탐구}\\ \textsf{\wi[인명]{카라타니 코진(柄谷行人)}}}
-
-\showcommand{pgana}\showcommand{epigraph}
-\showcommand{epigraphtextposition}
-
-\wi{수학}에서는 어떤 공리계가 하나의 해석 모델에서는 참이지만
-다른 해석 모델에서는 거짓인 일이 있을 수 있다.
-이것은 \wi{공리계}가 불충분한 경우이다.
-
-\renewcommand\thesection{\onum{section}}
-\section{표}
-
-\showcommand{legend}\showcommand{onum}
-\thisclass\는 다양한 표작성 환경을 제공한다.
-\tref{tab:test}\과 \tref{tab:test2}\를 보라.
-\showcommand{tref}
-
-%% tabular에는 legend를 붙일 수 있다.
-\begin{table}
-\caption{test table}\label{tab:test}
-\centering
-\begin{tabular}{cc}
-\hline
-두 줄 짜리 & 3 \\
-하단 제목 붙은 & 4 \\
-\hline
-\end{tabular}
-\legend{caption 아닌 소제목}
-\end{table}
-
-\begin{table}
-\caption{test table 2}\label{tab:test2}
-\centering
-\begin{tabular}{cc}
-\hline \hline
-두 줄 짜리 & 6 \\ \hline
-하단 제목 안 붙은 & 5 \\
-\hline \hline
-\end{tabular}
-\end{table}
-
-(여기서 페이지를 나눈다. 페이지 나누기 명령으로는
-\dispcmd{cleartoverso}를 사용하겠다. 이것은 이 뒤에 새로
-시작하는 페이지가 짝수쪽(verso)이 되게 한다. \dispcmd{cleartorecto}
-명령도 있다.)
-\showcommand{cleartoverso}\cleartoverso
-
-\namesubappendixtrue
-\begin{subappendices}
-\addappheadtotoc
-\section{자동조사 테스트}
-\showcommand{namesubappendixtrue}
-\showcommand{addappheadtotoc}
-\showenv{subsppendices}
-
-간단한 \dispcmd{ref}-like 명령으로 \wi{자동조사}를 테스트한다.
-\dispcmd{cite}도 잘 된다.
-
-\tref{tab:test}\와 \tref{tab:test2}\이 어떻게 보이나요?
-그리고 \fref{fig:examchapstyle}\은 \pref{fig:examchapstyle}\로
-가면 볼 수 있어요. 페이지~\pref{fig:examchapstyle}\로 가보세요.
-\showcommand{tref, \textbackslash fref}\showcommand{pref}
-
-위의 문장 입력:
-\bvsides\showcommand{bvsides}\showenv{boxedverbatim}
-\begin{boxedverbatim}
-\tref{tab:test}\와 \tref{tab:test2}\이 어떻게 보이나요?
-그리고 \fref{fig:examchapstyle}\은
-\pageref{fig:examchapstyle}\AltPageName\로 가면 볼 수 있어요.
-페이지~\pageref{fig:examchapstyle}\로 가보세요.
-\end{boxedverbatim}
-
-\section{그림 테스트}
-
-\newlength{\mylength}
-\begin{figure}
-\calccentering{\mylength}
-\begin{adjustwidth*}{\mylength}{-\mylength}
-\centering
-\includegraphics[width=.6\textwidth]{doeun}
-\caption{공부하는(?) 도은이}\label{doeunbike}
-\end{adjustwidth*}
-\end{figure}
-
-그림이 잘 들어가는지도 테스트해야 한다고 한다. \fref{doeunbike}\를 볼 것.
-이 그림은 마진폭을 계산해서 편집영역의 중간이 아니라 페이지 전체의
-중간으로 가도록 \dispcmd{calccentering}을 이용했다.\showcommand{calccentering}
-\showenv{adjustwidth*}
-이 계산이 표준 \LaTeX\ 클래스에서 얼마나 귀찮은 것이었는지 상상할 수
-있겠는가?
-\query{그림넣기}
-
-\begin{boxedverbatim}
-\newlength{\mylength}
-\begin{figure}
-\calccentering{\mylength}
-\begin{adjustwidth*}{\mylength}{-\mylength}
-\centering
-\includegraphics[width=.6\textwidth]{doeun}
-\caption{공부하는(?) 도은이}\label{doeunbike}
-\end{adjustwidth*}
-\end{figure}
-\end{boxedverbatim}
-
-\end{subappendices}
-
-%%% part 페이지를 깨끗하게...
-\copypagestyle{part}{empty}
-
-%%%%%%%%%% Ruled를 사용하되 partmark를 정의함.
-\copypagestyle{MyRuled}{Ruled}
-\newlength{\MyRuledheadwidth}
-\setlength{\MyRuledheadwidth}{\textwidth}
-\addtolength{\MyRuledheadwidth}{\marginparsep}
-\addtolength{\MyRuledheadwidth}{\marginparwidth}
-\makerunningwidth{MyRuled}{\MyRuledheadwidth}
-\makeheadrule{MyRuled}{\MyRuledheadwidth}{\normalrulethickness}
-\makeheadposition{MyRuled}{flushright}{flushleft}{flushright}{flushleft}
-\makeatletter
-\makepsmarks{MyRuled}{%
- \let\@mkboth\markboth
- \def\partmark##1{\markboth{\hparttitlehead. ##1}{##1}}
- \def\chaptermark##1{\markright{\hchaptertitlehead. ##1}}
- \def\sectionmark##1{}
-}
-\def\partmark#1{\markboth{\hparttitlehead. #1}{#1}}
-\makeatother
-
-%%% 제2장. 페이지 스타일과 챕터 스타일을 바꿈.
-%%% 새로운 장에 새로운 스타일을 적용하려 할 때는,
-%%% chapterstyle은 \chapter명령보다 먼저 부르고 \pagestyle은
-%%% \chapter보다 나중에 부르는 것이 좋다.
-
-\part{테스트는 즐거워}
-\oblivoirchapterstyle{veelo}
-\pagestyle{MyRuled}
-
-\chapter{수학질문상자}\traceon\label{sec:math}\traceoff
-
-%% 절의 카운터를 \pnum으로.
-\renewcommand\thesection{\pnum{section}}
-
-\showcommand{makepagestyle}\showcommand{copypagestyle}
-
-\section{자연로그의 밑}
-
-이 절은 \cite{Kentaro}\을 인용하였다. \env{singlespacing}\을
-사용하였다.\showenv{singlespacing}
-
-%\begin{singlespacing}
-\[
-e^x =1+ \frac{x}{1!} + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots
-\]
-이라는 사실이 알려져 있다. 여기에서 $x=1$이라 하면,
-\[
-e=1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!} +\cdots
-\]
-가 된다.
-
-우선
-\[
-\lim_{n\to\infty}\left(1+ \frac{1}{n}\right)^{n} = e
-\]
-에서 $1/n = h$라 두면,
-\[
-\lim_{h\to 0}\left(1+h\right)^{\frac{1}{h}} = e
-\]
-라고 쓸 수 있다. $e$를 밑으로 하는 대수를 $\log$라고 표시하면,
-\[
-\frac{\log(1+h)}{h} = \log(1+h)^{\frac{1}{h}}
-\]
-인데, 여기에서 $h \to \infty$이라면,
-\[
-\lim_{h\to 0}\frac{\log(1+h)}{h} = \lim_{h\to 0}\log(1+h)^{\frac{1}{h}} =\log e.
-\]
-
-따라서,
-\[
-\log(1+h)=x, \quad\text{즉}\quad h=e^{x} -1
-\]
-이다. 여기에서,
-\[
-1=\lim_{h\to0}\frac{\log(1+h)}{h}=\lim_{x\to0}\frac{x}{e^x -1}.
-\]
-
-따라서,
-\[
-\lim_{x\to0}\frac{e^x -1}{x}=1
-\]
-을 얻는다. 그런데 여기에서,
-\[
-y=e^x
-\]
-의 도함수 $y'$를 구해본다.
-\[
-y'=\lim_{h\to0}\frac{e^{x+h}-e^x}{h}=e^x \lim_{h\to0}\frac{e^h -1}{h}=e^x.
-\]
-따라서,
-\[
-y=e^x \text{라면}, \qquad y'=e^x
-\]
-이다.
-
-또, $y=\log x$의 도함수를 구해본다.
-\begin{displaymath}
-\begin{split}
-y' &= \lim_{h\to0}\frac{\log(x+h)-\log x}{h} \\
- &= \lim_{h\to0}\frac{1}{h}\log\left(1+ \frac{h}{x}\right) \\
- &= \frac{1}{x}\lim_{h\to0}\frac{x}{h}\log\left(1+\frac{h}{x}\right) \\
- &= \frac{1}{x}\lim_{\frac{h}{x}\to0}\log\left(1+\frac{h}{x}\right)^{\frac{x}{h}} \\
- &= \frac{1}{x}\log e \\
- &= \frac{1}{x}.
-\end{split}
-\end{displaymath}
-
-따라서,
-\[
-y=\log x \text{라면}, \qquad y'=\frac{1}{x}.
-\]
-
-%\end{singlespacing}
-
-이와 같이 간단한 공식으로 얻어진 것은 대수의 밑으로 $e$를 썼기
-때문이다. $e$ 이외의 밑을 사용하면, 공식은 보다 복잡하게 된다.
-이런 의미에서 $e$를 밑으로 하는 대수를 \emph{자연로그}라고 부른다.\showcommand{emph}
-이상으로부터 상상할 수 있듯이, 미적분학과 같은 이론을 전개할 때는
-$e$를 밑으로 하는 대수를 사용하고, 실제의 수치계산에서는
-$10$을 밑으로 하는 상용로그를 사용한다.
-
-\fancybreak{* * *}
-
-$0 \le t \le 1$에 있어서, $f(t)$는 연속인 도함수 $f'(t)$를 가지고,\showcommand{fancybreak}
-$0 < f'(t) \le 1,\quad f(0)=0$이다. 이 때 다음 부등식이 성립함을 보여라.
-\[
-\left[ \int_{0}^{1} f(t)dt \right ] ^2 \ge \int_{0}^{1} [f(t)]^3 dt
-\]
-
-\vskip\onelineskip
-
-적분구간의 상한을 변수 $x$로 바꾸어본다.
-\[
-\left[ \int_{0}^{x} f(t)dt \right]^2 \ge \int_0^x [f(t)]^3 dt
-\]
-이 식의 좌변에서 우변을 빼서 그것을 $F(x)$라고 두자.
-\[
-F(x) = \left[ \int_{0}^{x} f(t)dt \right]^2 - \int_0^x [f(t)]^3 dt
-\]
-이 때 $F(0)=0$이다.
-
-$F(x)$를 $x$로 미분하면
-\begin{equation}
-\begin{split}
-F'(x) &= 2\left[ \int_{0}^{x} f(t)dt \right]f(x) - \{f(x)\}^3 \\
- &= f(x) \left[ 2\int_{0}^{2} f(t)dt - \{f(x)\}^2 \right]
-\end{split}
-\end{equation}
-
-문제의 의미에 의해 $0<x<1$에서 $f(x) > 0$이다.
-\[
-G(x) = 2 \int_{0}^{x} f(t)dt - \{f(x)\}^2 \qquad (0 \le x \le 1)
-\]
-이라 놓으면 $G(0)=0$이고,
-\begin{equation}
-\begin{split}
-G'(x) &= 2f(x) - 2f(x)f'(x) \\
- &= 2f(x) \{1-f'(x)\} \ge 0
-\end{split}
-\end{equation}
-이다. $0 \le x \le 1$인 모든 $x$에 관하여 $f'(x) \le 1$이므로
-$G'(x) \ge 0$. 따라서 $G(x) \ge 0$임을 말할 수 있다. 그러므로
-\uline{$F(x) \ge 0$이 성립한다.}\showcommand{uline (ulem package)}
-
-%% 부록 관련 명령
-%% \appendix 또는 appendices 환경
-%\appendix
-%% 부록 면주에 \hparttitlehead, \hchaptertitlehead 를 표시하지 않는다.
-\def\partmark#1{\markboth{#1}{#1}}
-\def\chaptermark#1{\markright{#1}}
-%
-
-\AppendixTitleToToc
-\AttachAppendixTitleToSecnum
-
-%\begin{appendices}
-\appendix
-\appendixpage*
-
-\renewcommand\thechapter{\Roman{APPchapter}}
-\renewcommand\thesubsection{\thesection.\arabic{APPsubsection}}
-\setcounter{APPchapter}{0}
-
-\chapterstyle{appendixdefault}
-\renewcommand*\prechapternum{\chapnamefont 부록\ \ 제}
-\renewcommand*\postchapternum{\chapnamefont 장}
-\renewcommand*\printchapternum{\chapnumfont\thechapter}
-%% appendix에서는 chaptersyle을 appendixcompanion,
-%% appendixdefault, appendixsection 등으로 지정할 것.
-%% 사용자가 새로운 chapterstyle을 설정하려 할 때는
-%% appendixXXXX 환경을 새로 만들어야 한다.
-%% appendix에서의 절 모양은 \thechapter.\arabic{section}으로
-%% 된다. 이것은 renewcommand할 수 있다.
-
-\pagestyle{hangul}
-
-\chapter{19세기 초중엽}\label{sec:appchap}
-
-\chapterprecis{\noindent 부록에서는 한자가 많은 문장과 상호참조가 많은 문장을
- 시험한다.}
-\showcommand{chapterprecis}
-
-\showcommand{appendix}\showenv{appendices}
-\ResetHangulspace{1.333}{1.2}
-\showcommand{ResetHangulspace}
-\paragraphfootnotes
-\showcommand{paragraphfootnotes}
-
-\section{평안도 광산}\label{sec:appsec}
-19세기에 들어와서도 1807년 \wi{평안도} \wi[위원]{渭原} 지방에서
-\wi{광산}이 개발되자 단시일내에 수많은 광산노동자가 집결하여 커다란
-광산촌을 형성하였는데 이 광산도 앞의 遂安광산과 동일한 형태로
-운영되었을 것은 틀림없다. 1811년 평안도 농민전쟁 당시 서울에 있던
-禹君則의 物主(資本主)가 수천 냥의 자금을 보내어 그것으로 雲山의 금광을
-운영하게끔 한 사실, 또한 앞서 본 대로 雲山 광산노동자 800명을 官軍으로
-강제적으로 끌어들이려 한 계획, \wi[김창시]{金昌始}가
-\wi[운산광산]{雲山광산}의 \wi[우욱]{禹郁}과 연계하에 그곳의
-광산노동자를 농민전쟁에 끌어들이는 조직 사업을 진행하였다고 하는
-사실은\footnote{\bnm{日省錄} 哲宗 9年 2月 3日條} 이 시기에
-雲山금광에서도 수많은 광산노동자가 집결하여 있었음을 確證하여
-준다. 또한 1858년 함경도 암행어사 洪承裕의 보고에 의하면 당시
-함경도에서는 金, 銀, 銅의 潛採가 광범하게 이루어져서 하나의 광산이
-開發되기만 하면 도처에서 金店軍이 몇천 명씩 몰려와서 鑛山村이 형성되고
-場市가 열려서 각종 日用品이 광범하게 매매되고 있고 광산의 坑의 깊이가
-千餘尺에 달하는 경우도 적지 않았다.\footnote{\bnm{關南平亂錄} 卷五
- 安州牧使 牒報條.}
-
-\section{술어 논리의 완전성 정리}
-
-이 절의 텍스트는 \cite{incompl}\ pp.\ 155ff.에서 취하였다.
-\showcommand{cite}
-
-\subsection{먼저 기호의 설명을 잠깐\texorpdfstring{\ldots}{...}}
-
-술어논리의 형식화는 모든 대상과 논리법칙(공리)의 기호화로부터
-시작된다. ``태초에 기호가 있다''이다.
-
-\showcommand{texorpdfstring}
-기본 기호는 \fref{fig:syms}의 여섯 종류이다.
-\showcommand{fref}
-
-\begin{figure}
-\centering
-\begin{minipage}{.75\textwidth}
-\begin{tabbing}
-1111\=11111111111111111111\= \kill
-(1) \> 대상기호(상수) \> $ c_{1}, c_{2}, c_{3}, c_{4}, \ldots $ \\
-(2) \> 함수기호 \> $ f_{1}, f_{2}, f_{3}, f_{4}, \ldots $ \\
-(3) \> 술어기호 \> $ P_{1}, P_{2}, P_{3}, P_{4}, \ldots $ \\
-(4) \> 자유변수 \> $ a_{1}, a_{2}, a_{3}, a_{4}, \ldots $ \\
-(5) \> 속박변수 \> $ x_{1}, x_{2}, x_{3}, x_{4}, \ldots $ \\
-(6) \> 논리기호 \> $ \land, \lor, \rightarrow, \lnot, \forall, \exists $
-\end{tabbing}
-\end{minipage}
-\caption{기본 기호}\label{fig:syms}
-\end{figure}
-
-\showenv{tabbing}\showenv{minipage}
-
-이 중, `자유변수'란 불특정의 대상, `속박변수'란 논리기호 $\forall$과
-$\exists$의 어느 것인가와 함께 사용하는 변수를 나타낸다. $\forall$과
-$\exists$는 `속박기호' 또는 `양화기호'라 부르고 $\forall$을
-`전칭기호', $\exists$를 `존재기호'라고 말한다.
-
-이 $\forall$과 $\exists$를 포함하지 않는 논리 체계가 \bnm{프린키피아
- 마테마티카}에서 처음으로 체계화된 ``명제논리학''이다. 이쪽은 벌써
-1920년에 그 무모순성과 완전성이 당시 컬럼비아 대학의 학생에 지나지
-않았던 E.~L.~포스트에 의해서 증명되고 있다.
-
-논리기호는 초수학에 있어서는 추상적인 기호에 지나지 않는다. 그러나
-근원을 밝히면 그것들에는 원래 각각 고유한 의미가 있다. 즉 `$\lnot$'는
-``\ldots 이 아니다'', `$\lor$'는 ``또는'', `$\land$'는 ``동시에'',
-`$\rightarrow$'는 ``이라면'', $\forall$은 ``모든'', $\exists$는 ``어떤
-\ldots 가 존재한다''는 의미이다.
-
-이 해석으로 말하면 대상이 유한집합의 경우는 술어논리도 명제논리로
-환원될 수 있다. $\forall$과 $\exists$는 무한집합을 대상으로 할 때
-비로소 의미를 갖는 논리기호이다. 수학은 본질적으로 무한집합을 대상으로
-하고 있기 때문에 술어논리는 수학의 논리로 되어 있는 것이다.
-
-그러나 지금은 이러한 유래를 제외하고 형식적 체계만을 문제삼고 있기
-때문에 당분간 기호의 의미는 잊어버려도 상관없다. 오히려 적극적으로
-잊어버려서 기호의 조작에만 전념하려고 하는 것이 초수학의 기본
-방침이다.
-
-\subsection{`항', `논리식'의 정의와 논리법칙}
-
-기호가 갖추어진 곳에서 추론의 대상이 되는 `항'을 \pref{fig:term}의
-\fref{fig:term}\과 같이 정의한다.\showcommand{pref}
-
-\begin{figure}
-\centering
-\begin{minipage}{.75\textwidth}
-\begin{enumerate}[(1)]\tightlist\small\raggedright
-\item \label{itemone} 대상 기호와 자유변수는 항이다.
-\item \label{itemtwo} $f$가 $n$ 변수의 함수기호이고, $t_1 , t_2 ,
- \ldots, t_n$이 항이라면 $f(t_1 , t_2 , \ldots t_n )$은 항이다.
-\item (\ref{itemone})\와 (\ref{itemtwo})\으로부터 얻어지는 것만이 항이다.
-\end{enumerate}
-\end{minipage}
-\caption{`항'의 정의}\label{fig:term}
-\end{figure}
-
-다음으로 이 항을 사용해서 `논리식'을 \fref{fig:logi}\과 같이 정의한다.
-
-\begin{figure}
-\centering
-\begin{minipage}{.85\textwidth}
-\begin{enumerate}[(1)]\tightlist\small\raggedright
-\item \label{st} $P$가 $n$ 변수의 술어기호이고, $t_1 , t_2 , \ldots ,
- t_n $이 항이라면 $P(t_1 , t_2 , \ldots , t_n )$은 논리식이다. 특히
- 이것을 \emph{원시논리식}이라 부른다.
-\item \label{nd} $A, B$가 논리식일 때 $\lnot A, A \lor B, A \land B, A
- \to B$도 논리식이다.
-\item \label{rd} $A(a)$가 자유변수 $a$를 포함하는 논리식이고 $x$가
- $A(a)$ 속에 나타나지 않는 속박변수일 때 $\forall xA(x), \exists
- xA(x)$는 논리식이다.
-\item (\ref{st}), (\ref{nd}), (\ref{rd})에 의해서 얻어지는 것만이
- 논리식이다.
-\end{enumerate}
-\small
-덧붙여 말하면, $\forall xA(x)$는 ``모든 $x$는 $A$를 충족시킨다'',
-$\exists xA(x)$는 ``$A$를 충족시키는 $x$가 존재한다''라고 해석한다.
-\end{minipage}
-\caption{`논리식'의 정의}\label{fig:logi}
-\end{figure}
-
-그러면 다음은 이들 논리식을 사용해서 추론을 행하기 위한 논리법칙의
-설정인데, 힐베르트-아카만의 공리계에서는 다음 \fref{fig:rules}\과 같이
-되어 있다.
-
-\begin{figure}
-\centering
-\begin{minipage}{.85\textwidth}\small
-\noindent\textsf{공리}\\
-\begin{enumerate}[(1)]\tightlist
-\item $A \to (B\to A)$
-\item $(A\to B)\to ((A\to (B\to C))\to (A\to C))$
-\item $A\to (B\to A\land B)$
-\item $A\land B\to A,\quad A\land B\to B$
-\item $A\to A\lor B,\quad B\to A\lor B$
-\item $(A\to C)\to ((B\to C)\to(A\lor B\to C))$
-\item $(A\to B)\to ((A\to \lnot B)\to \lnot A))$
-\item $\lnot\lnot A\to A$
-\item $A(t)\to \exists xA(x)$ ($t$는 항)
-\item $\forall xA(x) \to A(t)$ ($t$는 항)
-\end{enumerate}
-
-\bigskip
-
-\noindent\textsf{추론 규칙}\\
-\begin{enumerate}[1~~]
-\item \label{rules:st} $\dfrac{A,\; A\to B}{B}$
-\item $\dfrac{A(a)\to C}{\exists xA(x)\to C}$
-\item $\dfrac{C\to A(a)}{C\to \forall xA(x)}$
-\end{enumerate}
-다만, $A, B, C, \ldots, \forall xA(x), \ldots$ 등은 모두 논리식으로
-한다.
-\end{minipage}
-\caption{논리법칙 (힐베르트-아카만의 공리계를 따름)}\label{fig:rules}
-\end{figure}
-
-`추론규칙'이 형성하는 ``도형''을 ``연역도'' 또는 ``증명도''라 부르고
-이 도형은 ``위의 기호열로부터 아래의 기호열을 추론한다''라고
-해석한다. 예컨대 추론규칙 \ref{rules:st}\는 ``$A$와 $A\to B$로부터
-$B$를 추론한다''라고 해석하는 것이다.
-
-\subsection{증명과 해석}
-
-이만큼 준비가 된 곳에서 `증명가능'의 개념을 다음과 같이 정의한다.\showcommand{tightlist}
-\showenv{enumerate}
-\begin{enumerate}[(1)]\tightlist
-\item \label{ev:st} 공리는 증명가능하다.
-\item \label{ev:nd} 증명가능한 논리식에 추론규칙을 적용해서 얻어지는 논리식은
- 증명가능하다.
-\item (\ref{ev:st})\과 (\ref{ev:nd})에서 얻어진 논리식만이
- 증명가능하다.
-\end{enumerate}
-
-논리식 $A$가 $B_1 , B_2 , \ldots , B_n $을 가정했을 때 증명할 수
-있다면,
-\begin{displaymath}
-B_1 , B_2 , \ldots , B_n \vdash A
-\end{displaymath}
-라고 쓴다.\showenv{displaymath}
-
-또한 $A$가 술어논리의 공리만을 사용해서 증명가능할 때는
-\begin{displaymath}
-\vdash A
-\end{displaymath}
-라고 쓴다.
-
-\begin{snugshade}
-실례를 두 가지 대비시켜서 보여주자.
-
-예컨대 논리식,
-$$
-\forall x \exists y (y < x)
-$$
-는 ``모든 $x$에 대해서 $y$가 존재하고 $y$는 $x$보다 작다''라고 해석할
-수 있다. 이 해석 아래에서는 실수의 영역이면 모델이 되나 자연수의
-영역에서는 모델이 되지 않는다. 자연수로 $x$를 $0$으로 잡으면 그것보다
-작은 자연수 $y$는 존재하지 않기 때문이다.
-
-대비적인 실례로서 논리식,
-$$
-\exists x \forall y (x \le y)
-$$
-를 취하자. 그 해석은 ``어떤 $x$가 존재하고 모든 $y$에 대해서 $y$는
-$x$와 같거나 $x$보다 크다''로 된다. 이것은 자연수가 모델이라면
-$0$이라는 최소수가 존재하기 때문에 진실이 되나 실수의 모델에서는 허위로
-되는 논리식이다.
-\end{snugshade}
-\showenv{snugshade}
-
-그래서 모든 해석에 대해서 진실이 되는 논리식을 `항진식' 또는
-`토톨로지'라 부르고 $A$가 토톨로지일 때
-\begin{displaymath}
-\vDash A
-\end{displaymath}
-라고 쓰기로 한다.
-
-\chapter{이 문서에 관하여}
-
-이 문서는 \pkg{memhangul-ucs}를 처음 만들 때 테스트용으로 작성한
-것이다.
-
-\pkg{oblivoir}는 원래 \pkg{dhucs}를 백그라운드 드라이버로 하여
-구현된 것이었다. 그러다가 \hologo{XeTeX}ko, \hologo{LuaTeX}ko를
-백그라운드로 한 \pkg{xoblivoir}가 만들어졌다.
-현재 버전의 \pkg{xoblivoir}는 이 둘을 합쳐서 어떤 엔진으로 컴파일해도
-거의 같은 결과를 얻게끔 되어 있다.
-따라서, 이 문서는 \hologo{pdfLaTeX}, \hologo{XeLaTeX}, \hologo{LuaLaTeX} 어느 것으로도 컴파일된다. \showcommand{hologo}
-
-\section{kotexindy에 관하여}
-찾아보기를 만들려면 |kotexindy|를 사용하라. 예를 들면 다음과 같다.
-\begin{verbatim}
-$ kotexindy memucstest.idx
-\end{verbatim}
-찾아보기를 찍는 명령은 |\printindex|이다. \showcommand{printindex}
-
-%\restorechapsec \showcommand{restorechapsec}
-%% 만약 appendix가 문서의 가장 끝에 오는 것이 아니라면
-%% 이 명령을 appendix 이후에 실행해준다.
-%% 아래와 같이 appendices 환경을 쓰는 경우에는
-%% 환경을 종료하기만 하면 된다.
-%\end{appendices}
-
-%%% 본문의 끝.
-\backmatter
-\chapterstyle{demo}
-
-%% \bibintoc 하면 참고문헌이 목록에 나온다.
-%% 기본값이므로 별도로 설정할 필요는 없다.
-%\bibintoc
-\renewcommand\prebibhook{%
- \showcommand{bibintoc}%
- 이 참고문헌 예제는 시험을 위해서 작성된 것으로 실제 문서의
- 내용과는 무관하다.%
- \showcommand{prebibhook}}
-\begin{thebibliography}{00}
-\bibitem[카누쓰86]{Knuth} Donald Knuth. \textit{The
- \TeX{}book}. Addison-Wesley. 1986.
-\bibitem{memman} Peter Wilson. ``The Memoir Class for Configurable
- Typesetting --- User Guide,'' On-line 문서.
- \url{http://www.ctan.org/tex-archive/macros/latex/contrib/memoir/}.
-\bibitem{incompl} 요시나가 요시마사, 임승원 (옮김), \bnm{불완전성 정리
- --- ``이성의 한계''의 발견}. 전파과학사. 1993.
-\bibitem[수학질문상자]{Kentaro} 야노 겐타로(矢野健太郞), 전재복
- (옮김). \bnm{수학 질문 상자 --- 왜일까? 그것을 알고
- 싶다}. 전파과학사. 1991. (원저: 고단샤, 1973).
-\end{thebibliography}
-
-\indexintoc
-\renewcommand\preindexhook{%
- 찾아보기는 테스트를 위해서 임의의 단어들로 선정되었다.
- \bigskip}
-\printindex
-
-%% memoir에서는 \listof... 명령을 아무데나 선언할
-%% 수 있다. 신기하다.
-\clearpage
-\showcommand{listof...}
-\listofqueries
-
-\end{document}
-
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-common.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-common.sty
index f4681e39a9f..76efd7e80c8 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-common.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-common.sty
@@ -1,6 +1,6 @@
%% File `memhangul-common.sty`
%%
-%% (C) Copyright 2013 Kangsoo Kim <karnes at ktug org>
+%% (C) Copyright 2013-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -17,7 +17,7 @@
%%% 편, 장 섹션 타이틀 재설정
%%% 절의 섹션 타이틀은 수정하지 않음.
%%
-\ProvidesPackage{memhangul-common}[2013/10/22]
+\ProvidesPackage{memhangul-common}[2014/06/12]
\let\@CHAPAPP\@chapapp
\def\refreshprepostchapters{%
@@ -46,27 +46,53 @@
\newcommand\hparttitlehead{\pre@part\partnamenum\thepart\partnamenum\post@part}
%% PART
+%\long\def\@part[#1]#2{%
+% \M@gettitle{#1}%
+% \ifnum \c@secnumdepth >-2\relax
+% \refstepcounter{part}%
+% \addcontentsline{toc}{part}%
+% {\protect\partnumberline{\hparttitlehead}#1}%
+% \else
+% \addcontentsline{toc}{part}{#1}%
+% \fi
+%% \markboth{}{}%
+% \ifx#1\@empty\partmark{#2}\else\partmark{#1}\fi
+% {\centering
+% \interlinepenalty \@M
+% \normalfont
+% \ifnum \c@secnumdepth >-2\relax
+% \prepartnum \partnamenum \printpartnum \partnamenum \postpartnum
+% \midpartskip
+% \fi
+% \printparttitle{#2}\par}%
+% \@endpart}
\long\def\@part[#1]#2{%
+% \ifx#1\@empty\PrerenderUnicode{#2}\else\PrerenderUnicode{#1}\fi
\M@gettitle{#1}%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}%
+% {\protect\partnumberline{\thepart}#1}%
{\protect\partnumberline{\hparttitlehead}#1}%
+ \mempartinfo{\thepart}{#1}{#2}%
\else
\addcontentsline{toc}{part}{#1}%
+ \mempartinfo{}{#1}{#2}%
\fi
-% \markboth{}{}%
- \ifx#1\@empty\partmark{#2}\else\partmark{#1}\fi
+ \partmark{#1}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
+% \printpartname \partnamenum \printpartnum
+% \midpartskip
\prepartnum \partnamenum \printpartnum \partnamenum \postpartnum
\midpartskip
\fi
\printparttitle{#2}\par}%
\@endpart}
+
\def\@spart#1{%
\M@gettitle{#1}%
{\centering
@@ -89,31 +115,136 @@
%% CHAPTER
%%%%%%%%%%%
-%% we don't adapt mempatch 3.6, just retrieved to memoir-original manner.
\renewcommand{\@m@mchapter}[1][\@empty]{%
\def\ch@pt@c{#1}% capture first optional arg
\@dblarg{\@chapter}}
%%\def\m@m@empty{\@empty}
+%%%%\def\@chapter[#1]#2{%
+%%%% \ifx\ch@pt@c\m@m@empty % no optional args
+%%%% \def\f@rtoc{#1}%
+%%%% \def\f@rhdr{#1}%
+%%%% \else % at least one opt arg
+%%%% \def\f@rtoc{\ch@pt@c}%
+%%%% \nametest{#1}{#2}%
+%%%% \ifsamename % one opt arg
+%%%% \def\f@rhdr{\ch@pt@c}%
+%%%% \else % two opt args
+%%%% \def\f@rhdr{#1}%
+%%%% \fi
+%%%% \fi
+%%%% \ifnum \c@secnumdepth >\m@ne
+%%%% \if@mainmatter
+%%%% \refstepcounter{chapter}%
+%%%% \fi
+%%%% \fi
+%%%% \chaptermark{\f@rhdr}%
+%%%% \ifartopt
+%%%% \@makechapterhead{#2}%
+%%%% \@afterheading
+%%%% \else
+%%%% \insertchapterspace
+%%%% \if@twocolumn
+%%%% \@topnewpage[\@makechapterhead{#2}]%
+%%%% \else
+%%%% \@makechapterhead{#2}%
+%%%% \fi
+%%%% \@afterheading
+%%%% \fi
+%%%% \ifnum \c@secnumdepth >\m@ne
+%%%% \if@mainmatter
+%%%% \addcontentsline{toc}{chapter}{%
+%%%%% \protect\chapternumberline{\thechapter}\f@rtoc}%
+%%%% \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}%
+%%%% \else
+%%%% \addcontentsline{toc}{chapter}{\f@rtoc}%
+%%%% \fi
+%%%% \else
+%%%% \addcontentsline{toc}{chapter}{\f@rtoc}%
+%%%% \fi
+%%%% \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi
+%%%%}
+%%%%
+%%%%\def\@makechapterhead#1{%
+%%%% \chapterheadstart% \vspace*{50\p@}%
+%%%% {\parindent \z@ \raggedright \normalfont
+%%%% \ifnum \c@secnumdepth >\m@ne
+%%%% \if@mainmatter
+%%%% \memucsinterwordchapterskiphook
+%%%%% \printchaptername \chapternamenum \printchapternum \chapternamenum \postchapternum
+%%%% \prechapternum \chapternamenum \printchapternum \chapternamenum \postchapternum
+%%%% \afterchapternum % \par\nobreak \vskip 20\p@
+%%%% \else
+%%%% \printchapternonum
+%%%% \fi
+%%%% \else
+%%%% \printchapternonum
+%%%% \fi
+%%%% \interlinepenalty\@M
+%%%% \printchaptertitle{#1} % \Huge \bfseries #1
+%%%% \afterchaptertitle % \par\nobreak \vskip 40\p@
+%%%% }}
+%%%%
+%%%%\def\@makeschapterhead#1{%
+%%%% \chapterheadstart
+%%%% {\parindent \z@ \raggedright \normalfont \memucsinterwordchapterskiphook
+%%%% \printchapternonum
+%%%% \interlinepenalty\@M
+%%%% \printchaptertitle{#1}
+%%%% \afterchaptertitle
+%%%% }
+%%%%}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% CHAPTER
+%% memhangul : opt args : different from memoir 1.618
+%% \chapter[toc][hdr]{title}
+%% \chapter[toc]{hdr/title}
+%% \chapter{toc/hdr/title}
\def\@chapter[#1]#2{%
+% \ifx\ch@pt@c\@empty % no optional args
+% \def\f@rtoc{#2}%
+% \def\f@rhdr{#2}%
+% \PrerenderUnicode{#2}%
+% \else % at least one opt arg
+% \let\f@rtoc\ch@pt@c
+% \ifx\@empty#1\@empty
+% \let\f@rhdr\ch@pt@c
+% \PrerenderUnicode{#1#2}%
+% \else
+% \def\f@rhdr{#1}%
+% \PrerenderUnicode{#1}%
+% \fi
+% \fi
\ifx\ch@pt@c\m@m@empty % no optional args
\def\f@rtoc{#1}%
\def\f@rhdr{#1}%
+% \PrerenderUnicode{#1}%
\else % at least one opt arg
\def\f@rtoc{\ch@pt@c}%
\nametest{#1}{#2}%
\ifsamename % one opt arg
\def\f@rhdr{\ch@pt@c}%
+% \PrerenderUnicode{#1#2}%
\else % two opt args
\def\f@rhdr{#1}%
+% \PrerenderUnicode{#1}%
\fi
\fi
+ \m@m@Andfalse
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
- \refstepcounter{chapter}%
+ \m@m@Andtrue
\fi
\fi
- \chaptermark{\f@rhdr}%
+ \ifm@m@And
+ \ifanappendix
+ \refstepcounter{APPchapter}%
+ \else
+ \refstepcounter{chapter}%
+ \fi
+ \fi
+ \chaptermark{\f@rhdr}
\ifartopt
\@makechapterhead{#2}%
\@afterheading
@@ -126,42 +257,73 @@
\fi
\@afterheading
\fi
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
+ \ifm@m@And
+ \ifanappendix
+ \addcontentsline{toc}{appendix}{%
+% \protect\chapternumberline{\thechapter}\f@rtoc}%
+ \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}%
+% \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
+ \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
+ \else
\addcontentsline{toc}{chapter}{%
% \protect\chapternumberline{\thechapter}\f@rtoc}%
\protect\chapternumberline{\hchaptertitlehead}\f@rtoc}%
- \else
- \addcontentsline{toc}{chapter}{\f@rtoc}%
+% \memchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
+ \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}%
\fi
\else
\addcontentsline{toc}{chapter}{\f@rtoc}%
+ \ifanappendix
+ \memappchapinfo{}{\f@rtoc}{\f@rhdr}{#2}%
+ \else
+ \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}%
+ \fi
\fi
\ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi
-}
+%%% for chapter
+ \ifanappendix
+ \protected@edef\@currentlabel{\thechapter}%
+ \fi
+}
\def\@makechapterhead#1{%
\chapterheadstart% \vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \memucsinterwordchapterskiphook
-% \printchaptername \chapternamenum \printchapternum \chapternamenum \postchapternum
- \prechapternum \chapternamenum \printchapternum \chapternamenum \postchapternum
- \afterchapternum % \par\nobreak \vskip 20\p@
- \else
- \printchapternonum
- \fi
+ \ifm@m@And
+ \memucsinterwordchapterskiphook
+% \printchaptername \chapternamenum \printchapternum
+% \afterchapternum % \par\nobreak \vskip 20\p@
+ \prechapternum \chapternamenum \printchapternum \chapternamenum \postchapternum
+ \afterchapternum % \par\nobreak \vskip 20\p@
\else
\printchapternonum
\fi
\interlinepenalty\@M
\printchaptertitle{#1} % \Huge \bfseries #1
- \afterchaptertitle % \par\nobreak \vskip 40\p@
+ \afterchaptertitle % \par\nobreak \vskip 40\p@
}}
+\renewcommand{\@m@mschapter}[2][\@empty]{%
+ \@schapter{#2}%
+ \ifx \@empty#1
+ \def\f@rhdr{#2}%
+% \PrerenderUnicode{#2}%
+ \else % opt arg
+ \def\f@rhdr{#1}%
+% \PrerenderUnicode{#1}%
+ \setcounter{secnumdepth}{-10}%
+ \chaptermark{#1}%
+ \setcounter{secnumdepth}{\value{maxsecnumdepth}}%
+ \fi
+ \ifanappendix
+ \memappchapstarinfo{\f@rhdr}{#2}%
+ \else
+ \memchapstarinfo{\f@rhdr}{#2}%
+ \fi}
+
\def\@makeschapterhead#1{%
\chapterheadstart
+% {\parindent \z@ \raggedright \normalfont
{\parindent \z@ \raggedright \normalfont \memucsinterwordchapterskiphook
\printchapternonum
\interlinepenalty\@M
@@ -170,6 +332,8 @@
}
}
+%%%%%%%%%%%%%
+
\renewcommand{\@chs@def@ult}{%
\def\chapterheadstart{\vspace*{\beforechapskip}}
% \def\printchaptername{\chapnamefont \@chapapp}
@@ -904,19 +1068,22 @@
\fi
%% 할주.
-%% still experimental not complete.
+%% still experimental
%% \hbox로 처리하기 때문에 행끝에서 할주 행나눔은 이루어지지 않는다.
%% 글꼴이 \tiny로 고정. \footnotesize를 쓰면 행간이 흐트러짐.
%% TODO: 현재 설정은 10pt 문서에서 1pt정도가 행간에 추가됨.
%% \lineskiplimit를 이용해서 행간을 고정시켜둘 것인지는 아직
%% 결정하지 못하였음.
\newskip\divnoteskip
+\def\divnotedelimopen{\hskip.1em$\big($}
+\def\divnotedelimclose{$\big)$\hskip.1em}
\divnoteskip = .18em plus .02em minus .02em
\def\divnotestyle{%
\spaceskip\divnoteskip\normalfont\tiny}
-\def\divnote#1{%
+\protected\def\divnote#1{%
\settowidth{\@tempdima}{\divnotestyle #1}%
- \hskip.1em$\big($\raise.2em\hbox{\parbox{.525\@tempdima}{\divnotestyle\singlespace #1}}$\big)$\hskip.1em%
+ \ifvmode\leavevmode\fi\divnotedelimopen
+ \raise.2em\hbox{\parbox{.525\@tempdima}{\divnotestyle\singlespace #1}}\divnotedelimclose
}
%% 각주 설정을 위한 추가 매크로
@@ -936,14 +1103,39 @@
\def\obCaptionFont#1{\def\@figtabcaptfont@{#1}}
\providecommand\@figtabcaptfont@{\normalfont}
\if@figtabcapt@
-\precaption{{\@figtabcaptfont@\cnm@char@open}}
-\captiondelim{{\@figtabcaptfont@\cnm@char@close}\quad}
-\renewcommand\cfttablepresnum{\cnm@char@open\tablename\space}
-\renewcommand\cfttableaftersnum{\cnm@char@close}
-\renewcommand\cfttablenumwidth{3.8em}
-\renewcommand\cftfigurepresnum{\cnm@char@open\figurename\space}
-\renewcommand\cftfigureaftersnum{\cnm@char@close}
-\renewcommand\cftfigurenumwidth{4.5em}
+\AtBeginDocument{
+\@ifpackageloaded{caption}{% requested by Progress
+ \DeclareCaptionLabelFormat{xob-cnm-parens}{\cnm{#1~#2}}
+ \captionsetup{labelformat=xob-cnm-parens,labelsep=space}
+}%
+{%
+ \precaption{{\@figtabcaptfont@\cnm@char@open}}
+ \captiondelim{{\@figtabcaptfont@\cnm@char@close}\quad}
+ \renewcommand\cfttablepresnum{\cnm@char@open\tablename\space}
+ \renewcommand\cfttableaftersnum{\cnm@char@close}
+ \setlength\cfttablenumwidth{3.8em}
+ \renewcommand\cftfigurepresnum{\cnm@char@open\figurename\space}
+ \renewcommand\cftfigureaftersnum{\cnm@char@close}
+ \setlength\cftfigurenumwidth{4.5em}
+}
+}
\fi
+%%% LuaTeX, XeTeX logos
+\RequirePackage{xparse}
+\ExplSyntaxOn
+\tl_if_exist:NF \XeTeX
+{
+ \RequirePackage{hologo}
+ \ProvideDocumentCommand \XeTeX { } { \hologo{XeTeX} }
+ \ProvideDocumentCommand \XeLaTeX { } { \hologo{XeLaTeX} }
+}
+\tl_if_exist:NF \LuaTeX
+{
+ \RequirePackage{hologo}
+ \ProvideDocumentCommand \LuaTeX { } { \hologo{LuaTeX} }
+ \ProvideDocumentCommand \LuaLaTeX { } { \hologo{LuaLaTeX} }
+}
+\ExplSyntaxOff
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-patch.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-patch.sty
index 260e711ffe4..b3cf7299587 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-patch.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-patch.sty
@@ -17,173 +17,4 @@
%% 2006/04/27
%% remove redundant prerenderunicodes according to dhucs 3.0.0
%%
-\typeout{memhangul-ucs patch for memoir 1.618, 2006/04/27}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% PART
-\long\def\@part[#1]#2{%
-% \ifx#1\@empty\PrerenderUnicode{#2}\else\PrerenderUnicode{#1}\fi
- \M@gettitle{#1}%
- \ifnum \c@secnumdepth >-2\relax
- \refstepcounter{part}%
- \addcontentsline{toc}{part}%
-% {\protect\partnumberline{\thepart}#1}%
- {\protect\partnumberline{\hparttitlehead}#1}%
- \mempartinfo{\thepart}{#1}{#2}%
- \else
- \addcontentsline{toc}{part}{#1}%
- \mempartinfo{}{#1}{#2}%
- \fi
- \partmark{#1}%
- {\centering
- \interlinepenalty \@M
- \normalfont
- \ifnum \c@secnumdepth >-2\relax
-% \printpartname \partnamenum \printpartnum
-% \midpartskip
- \prepartnum \partnamenum \printpartnum \partnamenum \postpartnum
- \midpartskip
- \fi
- \printparttitle{#2}\par}%
- \@endpart}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% CHAPTER
-%% memhangul : opt args : different from memoir 1.618
-%% \chapter[toc][hdr]{title}
-%% \chapter[toc]{hdr/title}
-%% \chapter{toc/hdr/title}
-\def\@chapter[#1]#2{%
-% \ifx\ch@pt@c\@empty % no optional args
-% \def\f@rtoc{#2}%
-% \def\f@rhdr{#2}%
-% \PrerenderUnicode{#2}%
-% \else % at least one opt arg
-% \let\f@rtoc\ch@pt@c
-% \ifx\@empty#1\@empty
-% \let\f@rhdr\ch@pt@c
-% \PrerenderUnicode{#1#2}%
-% \else
-% \def\f@rhdr{#1}%
-% \PrerenderUnicode{#1}%
-% \fi
-% \fi
- \ifx\ch@pt@c\m@m@empty % no optional args
- \def\f@rtoc{#1}%
- \def\f@rhdr{#1}%
-% \PrerenderUnicode{#1}%
- \else % at least one opt arg
- \def\f@rtoc{\ch@pt@c}%
- \nametest{#1}{#2}%
- \ifsamename % one opt arg
- \def\f@rhdr{\ch@pt@c}%
-% \PrerenderUnicode{#1#2}%
- \else % two opt args
- \def\f@rhdr{#1}%
-% \PrerenderUnicode{#1}%
- \fi
- \fi
- \m@m@Andfalse
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \m@m@Andtrue
- \fi
- \fi
- \ifm@m@And
- \ifanappendix
- \refstepcounter{APPchapter}%
- \else
- \refstepcounter{chapter}%
- \fi
- \fi
- \chaptermark{\f@rhdr}
- \ifartopt
- \@makechapterhead{#2}%
- \@afterheading
- \else
- \insertchapterspace
- \if@twocolumn
- \@topnewpage[\@makechapterhead{#2}]%
- \else
- \@makechapterhead{#2}%
- \fi
- \@afterheading
- \fi
- \ifm@m@And
- \ifanappendix
- \addcontentsline{toc}{appendix}{%
-% \protect\chapternumberline{\thechapter}\f@rtoc}%
- \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}%
-% \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
- \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
- \else
- \addcontentsline{toc}{chapter}{%
-% \protect\chapternumberline{\thechapter}\f@rtoc}%
- \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}%
-% \memchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}%
- \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}%
- \fi
- \else
- \addcontentsline{toc}{chapter}{\f@rtoc}%
- \ifanappendix
- \memappchapinfo{}{\f@rtoc}{\f@rhdr}{#2}%
- \else
- \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}%
- \fi
- \fi
- \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi
-%%% for chapter
- \ifanappendix
- \protected@edef\@currentlabel{\thechapter}%
- \fi
-}
-
-\def\@makechapterhead#1{%
- \chapterheadstart% \vspace*{50\p@}%
- {\parindent \z@ \raggedright \normalfont
- \ifm@m@And
- \memucsinterwordchapterskiphook
-% \printchaptername \chapternamenum \printchapternum
-% \afterchapternum % \par\nobreak \vskip 20\p@
- \prechapternum \chapternamenum \printchapternum \chapternamenum \postchapternum
- \afterchapternum % \par\nobreak \vskip 20\p@
- \else
- \printchapternonum
- \fi
- \interlinepenalty\@M
- \printchaptertitle{#1} % \Huge \bfseries #1
- \afterchaptertitle % \par\nobreak \vskip 40\p@
- }}
-
-
-\renewcommand{\@m@mschapter}[2][\@empty]{%
- \@schapter{#2}%
- \ifx \@empty#1
- \def\f@rhdr{#2}%
-% \PrerenderUnicode{#2}%
- \else % opt arg
- \def\f@rhdr{#1}%
-% \PrerenderUnicode{#1}%
- \setcounter{secnumdepth}{-10}%
- \chaptermark{#1}%
- \setcounter{secnumdepth}{\value{maxsecnumdepth}}%
- \fi
- \ifanappendix
- \memappchapstarinfo{\f@rhdr}{#2}%
- \else
- \memchapstarinfo{\f@rhdr}{#2}%
- \fi}
-
-\def\@makeschapterhead#1{%
- \chapterheadstart
-% {\parindent \z@ \raggedright \normalfont
- {\parindent \z@ \raggedright \normalfont \memucsinterwordchapterskiphook
- \printchapternonum
- \interlinepenalty\@M
- \printchaptertitle{#1}
- \afterchaptertitle
- }
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\endinput
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-ucs.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-ucs.sty
index d624cf26562..cb62187ed8d 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-ucs.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memhangul-ucs.sty
@@ -12,8 +12,8 @@
%%
%%
\NeedsTeXFormat{LaTeX2e}
-\def\filedate{2013/10/22}
-\def\fileversion{1.7.6}
+\def\filedate{2014/06/12}
+\def\fileversion{1.7.7}
\ProvidesPackage{memhangul-ucs}[\filedate UCS Hangul Package for memoir class]
\typeout{memhangul-ucs\space v\fileversion\space \filedate}
@@ -388,7 +388,7 @@
\def\bfemtrue{\@bfemtrue}
\def\bfemfalse{\@bfemfalse}
-\if@unfonts
+\if@unfont
\if@bfem
\def\GrEmphFont{outbt}
\def\GrEmphHanjaFont{outbt}
@@ -493,7 +493,7 @@
\newdimen\useremphraisedim\useremphraisedim\z@
-\protected\def\useremph#1{\begingroup
+\def\@@user@emph#1{\begingroup
\ifdim\useremphraisedim=\z@\relax
\settoheight{\dhucs@emph@raise}{#1}%
\addtolength{\dhucs@emph@raise}{-.4em}%
@@ -511,10 +511,46 @@
\let\useremph\@firstofone
}
+\RequirePackage{xparse}
+\ExplSyntaxOn
+
+\dim_new:N \tmp_user_emph_dim
+\dim_set:Nn \tmp_user_emph_dim { 1ex }
+\tl_set:Nn \tmp_user_emph_char { ˚ }
+\DeclareDocumentCommand \useremph { o o m }
+{
+ \IfValueT { #1 }
+ {
+ \tl_if_empty:nF { #1 }
+ {
+ \settoheight \tmp_user_emph_dim { #3 }
+ \dim_add:Nn \tmp_user_emph_dim { #1 }
+ }
+ }
+ \IfValueT { #2 }
+ {
+ \tl_if_empty:nF { #2 }
+ {
+ \tl_set:Nn \tmp_user_emph_char { #2 }
+ }
+ }
+
+ \dim_set_eq:NN \useremphraisedim \tmp_user_emph_dim
+ \tl_set_eq:NN \useremphchar \tmp_user_emph_char
+ \@@user@emph{#3}
+}
+
+\ExplSyntaxOff
+
+\def\useremphstarblack{\tiny★}
+\def\useremphstarwhite{\tiny☆}
+
\endinput
% CHANGE LOG
%
+% 2014/06/15: \useremph[raise][char]{text} compatible to xoblivoir
+% 2014/06/12: \if@unfonts => \if@unfont
% 2013/10/22: introduce memhangul-common.sty
% 2013/10/16: [kosection] bug fix
% 2013/09/27: xoblivoir-related fixes.
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memucs-gremph.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memucs-gremph.sty
index 24268f96710..475fa8238c8 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memucs-gremph.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/memucs-gremph.sty
@@ -1,6 +1,6 @@
%% File `memucs-gremph.sty`
%%
-%% Copyright (c) 2006-2013 Kangsoo Kim <karnes at ktug org>
+%% Copyright (c) 2006-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -33,7 +33,7 @@
% \def\GrEmphFont{utbt}
% \def\GrEmphHanjaFont{utbt}
%\else
-\if@unfonts
+\if@unfont
\if@vargremphhangulfont\else
\def\GrEmphFont{outgr}\fi
\if@vargremphhanjafont\else
@@ -109,6 +109,7 @@
% end of style.
%
% CHANGE LOG.
+% * 2014/06/12. \if@unfonts => \if@unfont
% * 2007/08/02. redundant space bug fix
% * 2007/06/08. \slshape independent from \itshape
% * 2005/08/17. \slhangul added.
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/luatexko-xobfont.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/luatexko-xobfont.sty
deleted file mode 100644
index 6fe0a4e97c1..00000000000
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/luatexko-xobfont.sty
+++ /dev/null
@@ -1,608 +0,0 @@
-%% luatexko-xobfont.sty
-%%
-%% Copyright (c) 2012-2013 Kangsoo Kim <karnes at ktug org>
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2006/05/20 or later.
-%%
-%% oblivoir style font commands for luatex
-%% part of oblivoir package
-%%
-%% Version 0.1: oldhangul option is not implemented
-%% 0.1.1: bug fix (2012/07/28)
-%% 0.1.2: [unfonts], [nounfonts] (2012/10/29)
-%%
-\ProvidesPackage{luatexko-xobfont}[2012/07/12]
-
-%% options: latinquote,oldhangul,gremph,itemph,nowinname,manualfontspec
-\newif\if@latinquote\@latinquotefalse
-\DeclareOption{latinquote}{\@latinquotetrue}
-\newif\if@oldhangul\@oldhangulfalse
-\DeclareOption{oldhangul}{\@oldhangultrue}
-\newif\if@gremph\@gremphtrue
-\DeclareOption{gremph}{\@gremphtrue}
-\DeclareOption{itemph}{\@gremphfalse}
-\newif\if@nowin\@nowinfalse
-\DeclareOption{nowinname}{\@nowintrue}
-\newif\if@manualfontspec\@manualfontspecfalse
-\DeclareOption{manualfontspec}{\@manualfontspectrue}
-\newif\if@unfonts\@unfontstrue
-\DeclareOption{unfonts}{\@unfontstrue}
-\DeclareOption{nounfonts}{\@unfontsfalse}
-\newif\if@nanumfonts\@nanumfontsfalse
-\DeclareOption{nanum}{\@nanumfontstrue}
-\ProcessOptions
-
-%%%
-\if@manualfontspec \endinput \fi
-
-%%% fixed options
-\if@oldhangul
- \edef\LKOV@oldhangulscript{Script=Hangul}
- \edef\LKOV@oldhangullanguage{Language=Korean}
- \edef\LKOV@oldhangulfeatures{RawFeature=+ccmp;+ljmo;+vjmo;+tjmo}
-\else
- \edef\LKOV@oldhangulscript{}
- \edef\LKOV@oldhangullanguage{}
- \edef\LKOV@oldhangulfeatures{}
-\fi
-
-%%% note: FakeBold is disabled under LuaTeX
-\if@gremph
- \edef\LKOV@italicfeatures{}
-\else
- \edef\LKOV@italicfeatures{slant=0.17}
-\fi
-
-\def\LKOV@externallocation{}
-
-\newcommand*\setmonoscale[1]{%
- \edef\LKOV@monoscale{#1}
-}
-\setmonoscale{1}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%% main
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setkormainfont{%
- \@ifstar {\setk@rm@inf@nt}{%
- \@ifnextchar[{\m@inf@ntbracket}{%
- \@ifnextchar(\m@inf@ntparen\m@inf@ntnoparen}%
- }
-}
-
-\def\m@inf@ntbracket[#1]#2{%
- \@ifnextchar[{\m@inf@ntbrackettrail[#1]{#2}}{\m@inf@ntbracketnotrail[#1]{#2}}
-}
-
-%%% \setkormainfont[foo]{bar}
-\def\m@inf@ntbracketnotrail[#1]#2{%
- \setmainhangulfont[#1]{#2}
-}
-
-%%% \setkormainfont[foo1]{bar1}[foo2]{bar2}
-\def\m@inf@ntbrackettrail[#1]#2[#3]#4{%
- \setmainhangulfont[#1]{#2}
- \setmainhanjafont[#3]{#4}
-}
-
-%%% \setkormainfont{foo}
-\def\m@inf@ntnoparen#1{\setmainhangulfont{#1}}
-
-\def\m@inf@ntparen(#1){%
- \@ifnextchar({\m@inf@ntdoubleparen(#1)}{\m@inf@ntsingleparen(#1)}
-}
-
-\def\m@inf@ntsingleparen(#1)#2{%
- \@ifnextchar({\m@inf@ntsingleparentrail(#1){#2}}{\m@inf@ntsingleparennotrail(#1){#2}}
-}
-
-\def\m@inf@ntsingleparentrail(#1)#2(#3){%
- \@ifnextchar({\m@inf@ntsingleparentraildouble(#1){#2}(#3)}{\m@inf@ntsingleparentrailsingle(#1){#2}(#3)}
-}
-
-\def\m@inf@ntdoubleparen(#1)(#2)#3{%
- \@ifnextchar({\m@inf@ntdoubleparentrail(#1)(#2){#3}}{\m@inf@ntdoubleparennotrail(#1)(#2){#3}}
-}
-
-\def\m@inf@ntdoubleparentrail(#1)(#2)#3(#4){%
- \@ifnextchar({\m@inf@ntdoubleparentraildouble(#1)(#2){#3}(#4)}{\m@inf@ntdoubleparentrailsingle(#1)(#2){#3}(#4)}
-}
-
-%%% \setkormainfont(foo){bar}
-\def\m@inf@ntsingleparennotrail(#1)#2{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
-}
-
-%%% \setkormainfont(foo1){bar1}(foo2){bar2}
-\def\m@inf@ntsingleparentrailsingle(#1)#2(#3)#4{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
- \setmainhanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#4}
-}
-
-%%% \setkormainfont(foo1){bar1}(foo2)(foo3){bar2}
-\def\m@inf@ntsingleparentraildouble(#1)#2(#3)(#4)#5{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setmainhanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%% \setkormainfont(foo1)(foo2){bar}
-\def\m@inf@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
-}
-
-%%% \setkormainfont(foo1)(foo2){bar1}(foo3){bar2}
-\def\m@inf@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
- \setmainhanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%% \setkormainfont(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\m@inf@ntdoubleparentraildouble(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setmainhanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%%%%%%%%%%%%%%%%%%%%% main: ExternalLocation %%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setk@rst@rm@inf@nt*{%
- \@ifnextchar[{\st@rm@inf@ntbracket*}{%
- \@ifnextchar({\st@rm@inf@ntparen*}{\st@rm@inf@ntnoparen*}}%
-}
-
-\def\st@rm@inf@ntbracket*[#1]#2{%
- \@ifnextchar[{\st@rm@inf@ntbrackettrail*[#1]{#2}}{\st@rm@inf@ntbracketnotrail*[#1]{#2}}
-}
-
-%%% \setkormainfont*{bar}
-\def\setk@rm@inf@nt#1{%
- \setmainhangulfont[ExternalLocation]{#1}
-}
-
-%%% \setkormainfont*[foo]{bar}
-\def\st@rm@inf@ntbracketnotrail*[#1]#2{%
- \setmainhangulfont[#1,ExternalLocation]{#2}
-}
-
-%%% \setkormainfont*[foo1]{bar1}[foo2]{bar2}
-\def\st@rm@inf@ntbrackettrail*[#1]#2[#3]#4{%
- \setmainhangulfont[#1,ExternalLocation]{#2}
- \setmainhanjafont[#3,ExternalLocation]{#4}
-}
-
-%%% \setk@rst@rm@inf@nt*{foo}
-\def\st@rm@inf@ntnoparen*#1{\setmainhangulfont[ExternalLocation]{#1}}
-
-\def\st@rm@inf@ntparen*(#1){%
- \@ifnextchar({\st@rm@inf@ntdoubleparen*(#1)}{\st@rm@inf@ntsingleparen*(#1)}
-}
-
-\def\st@rm@inf@ntsingleparen*(#1)#2{%
- \@ifnextchar({\st@rm@inf@ntsingleparentrail*(#1){#2}}{\st@rm@inf@ntsingleparennotrail*(#1){#2}}
-}
-
-\def\st@rm@inf@ntsingleparentrail*(#1)#2(#3){%
- \@ifnextchar({\st@rm@inf@ntsingleparentraildouble*(#1){#2}(#3)}{\st@rm@inf@ntsingleparentrailsingle*(#1){#2}(#3)}
-}
-
-\def\st@rm@inf@ntdoubleparen*(#1)(#2)#3{%
- \@ifnextchar({\st@rm@inf@ntdoubleparentrail*(#1)(#2){#3}}{\st@rm@inf@ntdoubleparennotrail*(#1)(#2){#3}}
-}
-
-\def\st@rm@inf@ntdoubleparentrail*(#1)(#2)#3(#4){%
- \@ifnextchar({\st@rm@inf@ntdoubleparentraildouble*(#1)(#2){#3}(#4)}{\st@rm@inf@ntdoubleparentrailsingle*(#1)(#2){#3}(#4)}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo){bar}
-\def\st@rm@inf@ntsingleparennotrail*(#1)#2{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo1){bar1}(foo2){bar2}
-\def\st@rm@inf@ntsingleparentrailsingle*(#1)#2(#3)#4{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
- \setmainhanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#4}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo1){bar1}(foo2)(foo3){bar2}
-\def\st@rm@inf@ntsingleparentraildouble*(#1)#2(#3)(#4)#5{%
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setmainhanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo1)(foo2){bar}
-\def\st@rm@inf@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo1)(foo2){bar1}(foo3){bar2}
-\def\st@rm@inf@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
- \setmainhanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-%%% \setk@rst@rm@inf@nt*(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\st@rm@inf@ntdoubleparentraildouble*(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmainhangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setmainhanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%% sans
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setkorsansfont{%
- \@ifstar {\setk@rs@nsf@nt}{%
- \@ifnextchar[{\s@nsf@ntbracket}{%
- \@ifnextchar(\s@nsf@ntparen\s@nsf@ntnoparen}%
- }
-}
-
-\def\s@nsf@ntbracket[#1]#2{%
- \@ifnextchar[{\s@nsf@ntbrackettrail[#1]{#2}}{\s@nsf@ntbracketnotrail[#1]{#2}}
-}
-
-%%% \setkorsansfont[foo]{bar}
-\def\s@nsf@ntbracketnotrail[#1]#2{%
- \setsanshangulfont[#1]{#2}
-}
-
-%%% \setkorsansfont[foo1]{bar1}[foo2]{bar2}
-\def\s@nsf@ntbrackettrail[#1]#2[#3]#4{%
- \setsanshangulfont[#1]{#2}
- \setsanshanjafont[#3]{#4}
-}
-
-%%% \setkorsansfont{foo}
-\def\s@nsf@ntnoparen#1{\setsanshangulfont{#1}}
-
-\def\s@nsf@ntparen(#1){%
- \@ifnextchar({\s@nsf@ntdoubleparen(#1)}{\s@nsf@ntsingleparen(#1)}
-}
-
-\def\s@nsf@ntsingleparen(#1)#2{%
- \@ifnextchar({\s@nsf@ntsingleparentrail(#1){#2}}{\s@nsf@ntsingleparennotrail(#1){#2}}
-}
-
-\def\s@nsf@ntsingleparentrail(#1)#2(#3){%
- \@ifnextchar({\s@nsf@ntsingleparentraildouble(#1){#2}(#3)}{\s@nsf@ntsingleparentrailsingle(#1){#2}(#3)}
-}
-
-\def\s@nsf@ntdoubleparen(#1)(#2)#3{%
- \@ifnextchar({\s@nsf@ntdoubleparentrail(#1)(#2){#3}}{\s@nsf@ntdoubleparennotrail(#1)(#2){#3}}
-}
-
-\def\s@nsf@ntdoubleparentrail(#1)(#2)#3(#4){%
- \@ifnextchar({\s@nsf@ntdoubleparentraildouble(#1)(#2){#3}(#4)}{\s@nsf@ntdoubleparentrailsingle(#1)(#2){#3}(#4)}
-}
-
-%%% \setkorsansfont(foo){bar}
-\def\s@nsf@ntsingleparennotrail(#1)#2{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
-}
-
-%%% \setkorsansfont(foo1){bar1}(foo2){bar2}
-\def\s@nsf@ntsingleparentrailsingle(#1)#2(#3)#4{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
- \setsanshanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#4}
-}
-
-%%% \setkorsansfont(foo1){bar1}(foo2)(foo3){bar2}
-\def\s@nsf@ntsingleparentraildouble(#1)#2(#3)(#4)#5{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setsanshanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%% \setkorsansfont(foo1)(foo2){bar}
-\def\s@nsf@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
-}
-
-%%% \setkorsansfont(foo1)(foo2){bar1}(foo3){bar2}
-\def\s@nsf@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
- \setsanshanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%% \setkorsansfont(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\s@nsf@ntdoubleparentraildouble(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setsanshanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}}]{#5}
-}
-
-%%%%%%%%%%%%%%%%%%%%%% sans: ExternalLocation %%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setk@rst@rs@nsf@nt*{%
- \@ifnextchar[{\st@rs@nsf@ntbracket*}{%
- \@ifnextchar({\st@rs@nsf@ntparen*}{\st@rs@nsf@ntnoparen*}}%
-}
-
-\def\st@rs@nsf@ntbracket*[#1]#2{%
- \@ifnextchar[{\st@rs@nsf@ntbrackettrail*[#1]{#2}}{\st@rs@nsf@ntbracketnotrail*[#1]{#2}}
-}
-
-%%% \setkorsansfont*{bar}
-\def\setk@rs@nsf@nt#1{%
- \setsanshangulfont[ExternalLocation]{#1}
-}
-
-%%% \setkorsansfont*[foo]{bar}
-\def\st@rs@nsf@ntbracketnotrail*[#1]#2{%
- \setsanshangulfont[#1,ExternalLocation]{#2}
-}
-
-%%% \setkorsansfont*[foo1]{bar1}[foo2]{bar2}
-\def\st@rs@nsf@ntbrackettrail*[#1]#2[#3]#4{%
- \setsanshangulfont[#1,ExternalLocation]{#2}
- \setsanshanjafont[#3,ExternalLocation]{#4}
-}
-
-%%% \setk@rst@rs@nsf@nt*{foo}
-\def\st@rs@nsf@ntnoparen*#1{\setsanshangulfont[ExternalLocation]{#1}}
-
-\def\st@rs@nsf@ntparen*(#1){%
- \@ifnextchar({\st@rs@nsf@ntdoubleparen*(#1)}{\st@rs@nsf@ntsingleparen*(#1)}
-}
-
-\def\st@rs@nsf@ntsingleparen*(#1)#2{%
- \@ifnextchar({\st@rs@nsf@ntsingleparentrail*(#1){#2}}{\st@rs@nsf@ntsingleparennotrail*(#1){#2}}
-}
-
-\def\st@rs@nsf@ntsingleparentrail*(#1)#2(#3){%
- \@ifnextchar({\st@rs@nsf@ntsingleparentraildouble*(#1){#2}(#3)}{\st@rs@nsf@ntsingleparentrailsingle*(#1){#2}(#3)}
-}
-
-\def\st@rs@nsf@ntdoubleparen*(#1)(#2)#3{%
- \@ifnextchar({\st@rs@nsf@ntdoubleparentrail*(#1)(#2){#3}}{\st@rs@nsf@ntdoubleparennotrail*(#1)(#2){#3}}
-}
-
-\def\st@rs@nsf@ntdoubleparentrail*(#1)(#2)#3(#4){%
- \@ifnextchar({\st@rs@nsf@ntdoubleparentraildouble*(#1)(#2){#3}(#4)}{\st@rs@nsf@ntdoubleparentrailsingle*(#1)(#2){#3}(#4)}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo){bar}
-\def\st@rs@nsf@ntsingleparennotrail*(#1)#2{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo1){bar1}(foo2){bar2}
-\def\st@rs@nsf@ntsingleparentrailsingle*(#1)#2(#3)#4{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
- \setsanshanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#4}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo1){bar1}(foo2)(foo3){bar2}
-\def\st@rs@nsf@ntsingleparentraildouble*(#1)#2(#3)(#4)#5{%
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setsanshanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo1)(foo2){bar}
-\def\st@rs@nsf@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo1)(foo2){bar1}(foo3){bar2}
-\def\st@rs@nsf@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
- \setsanshanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-%%% \setk@rst@rs@nsf@nt*(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\st@rs@nsf@ntdoubleparentraildouble*(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setsanshangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setsanshanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation]{#5}
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%% mono
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setkormonofont{%
- \@ifstar {\setk@rm@n@f@nt}{%
- \@ifnextchar[{\m@n@f@ntbracket}{%
- \@ifnextchar(\m@n@f@ntparen\m@n@f@ntnoparen}%
- }
-}
-
-\def\m@n@f@ntbracket[#1]#2{%
- \@ifnextchar[{\m@n@f@ntbrackettrail[#1]{#2}}{\m@n@f@ntbracketnotrail[#1]{#2}}
-}
-
-%%% \setkormonofont[foo]{bar}
-\def\m@n@f@ntbracketnotrail[#1]#2{%
- \setmonohangulfont[#1,Scale=\LKOV@monoscale]{#2}
-}
-
-%%% \setkormonofont[foo1]{bar1}[foo2]{bar2}
-\def\m@n@f@ntbrackettrail[#1]#2[#3]#4{%
- \setmonohangulfont[#1,Scale=\LKOV@monoscale]{#2}
- \setmonohanjafont[#3,Scale=\LKOV@monoscale]{#4}
-}
-
-%%% \setkormonofont{foo}
-\def\m@n@f@ntnoparen#1{\setmonohangulfont{#1}}
-
-\def\m@n@f@ntparen(#1){%
- \@ifnextchar({\m@n@f@ntdoubleparen(#1)}{\m@n@f@ntsingleparen(#1)}
-}
-
-\def\m@n@f@ntsingleparen(#1)#2{%
- \@ifnextchar({\m@n@f@ntsingleparentrail(#1){#2}}{\m@n@f@ntsingleparennotrail(#1){#2}}
-}
-
-\def\m@n@f@ntsingleparentrail(#1)#2(#3){%
- \@ifnextchar({\m@n@f@ntsingleparentraildouble(#1){#2}(#3)}{\m@n@f@ntsingleparentrailsingle(#1){#2}(#3)}
-}
-
-\def\m@n@f@ntdoubleparen(#1)(#2)#3{%
- \@ifnextchar({\m@n@f@ntdoubleparentrail(#1)(#2){#3}}{\m@n@f@ntdoubleparennotrail(#1)(#2){#3}}
-}
-
-\def\m@n@f@ntdoubleparentrail(#1)(#2)#3(#4){%
- \@ifnextchar({\m@n@f@ntdoubleparentraildouble(#1)(#2){#3}(#4)}{\m@n@f@ntdoubleparentrailsingle(#1)(#2){#3}(#4)}
-}
-
-%%% \setkormonofont(foo){bar}
-\def\m@n@f@ntsingleparennotrail(#1)#2{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#2}
-}
-
-%%% \setkormonofont(foo1){bar1}(foo2){bar2}
-\def\m@n@f@ntsingleparentrailsingle(#1)#2(#3)#4{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#2}
- \setmonohanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#4}
-}
-
-%%% \setkormonofont(foo1){bar1}(foo2)(foo3){bar2}
-\def\m@n@f@ntsingleparentraildouble(#1)#2(#3)(#4)#5{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setmonohanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#5}
-}
-
-%%% \setkormonofont(foo1)(foo2){bar}
-\def\m@n@f@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#3}
-}
-
-%%% \setkormonofont(foo1)(foo2){bar1}(foo3){bar2}
-\def\m@n@f@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#3}
- \setmonohanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#5}
-}
-
-%%% \setkormonofont(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\m@n@f@ntdoubleparentraildouble(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setmonohanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},Scale=\LKOV@monoscale]{#5}
-}
-
-%%%%%%%%%%%%%%%%%%%%%% mono: ExternalLocation %%%%%%%%%%%%%%%%%%%%
-%%% top level command
-\def\setk@rst@rm@n@f@nt*{%
- \@ifnextchar[{\st@rm@n@f@ntbracket*}{%
- \@ifnextchar({\st@rm@n@f@ntparen*}{\st@rm@n@f@ntnoparen*}}%
-}
-
-\def\st@rm@n@f@ntbracket*[#1]#2{%
- \@ifnextchar[{\st@rm@n@f@ntbrackettrail*[#1]{#2}}{\st@rm@n@f@ntbracketnotrail*[#1]{#2}}
-}
-
-%%% \setkormonofont*{bar}
-\def\setk@rm@n@f@nt#1{%
- \setmonohangulfont[ExternalLocation]{#1}
-}
-
-
-%%% \setkormonofont*[foo]{bar}
-\def\st@rm@n@f@ntbracketnotrail*[#1]#2{%
- \setmonohangulfont[#1,ExternalLocation,Scale=\LKOV@monoscale]{#2}
-}
-
-%%% \setkormonofont*[foo1]{bar1}[foo2]{bar2}
-\def\st@rm@n@f@ntbrackettrail*[#1]#2[#3]#4{%
- \setmonohangulfont[#1,ExternalLocation,Scale=\LKOV@monoscale]{#2}
- \setmonohanjafont[#3,ExternalLocation,Scale=\LKOV@monoscale]{#4}
-}
-
-%%% \setk@rst@rm@n@f@nt*{foo}
-\def\st@rm@n@f@ntnoparen*#1{\setmonohangulfont[ExternalLocation]{#1}}
-
-\def\st@rm@n@f@ntparen*(#1){%
- \@ifnextchar({\st@rm@n@f@ntdoubleparen*(#1)}{\st@rm@n@f@ntsingleparen*(#1)}
-}
-
-\def\st@rm@n@f@ntsingleparen*(#1)#2{%
- \@ifnextchar({\st@rm@n@f@ntsingleparentrail*(#1){#2}}{\st@rm@n@f@ntsingleparennotrail*(#1){#2}}
-}
-
-\def\st@rm@n@f@ntsingleparentrail*(#1)#2(#3){%
- \@ifnextchar({\st@rm@n@f@ntsingleparentraildouble*(#1){#2}(#3)}{\st@rm@n@f@ntsingleparentrailsingle*(#1){#2}(#3)}
-}
-
-\def\st@rm@n@f@ntdoubleparen*(#1)(#2)#3{%
- \@ifnextchar({\st@rm@n@f@ntdoubleparentrail*(#1)(#2){#3}}{\st@rm@n@f@ntdoubleparennotrail*(#1)(#2){#3}}
-}
-
-\def\st@rm@n@f@ntdoubleparentrail*(#1)(#2)#3(#4){%
- \@ifnextchar({\st@rm@n@f@ntdoubleparentraildouble*(#1)(#2){#3}(#4)}{\st@rm@n@f@ntdoubleparentrailsingle*(#1)(#2){#3}(#4)}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo){bar}
-\def\st@rm@n@f@ntsingleparennotrail*(#1)#2{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#2}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo1){bar1}(foo2){bar2}
-\def\st@rm@n@f@ntsingleparentrailsingle*(#1)#2(#3)#4{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#2}
- \setmonohanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#4,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#4}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo1){bar1}(foo2)(foo3){bar2}
-\def\st@rm@n@f@ntsingleparentraildouble*(#1)#2(#3)(#4)#5{%
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#2,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#2}
- \if#4* \def\LKOV@temp{#5}\else \def\LKOV@temp{#4}\fi
- \setmonohanjafont[BoldFont=#3,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#5}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo1)(foo2){bar}
-\def\st@rm@n@f@ntdoubleparennotrail(#1)(#2)#3{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#3}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo1)(foo2){bar1}(foo3){bar2}
-\def\st@rm@n@f@ntdoubleparentrailsingle(#1)(#2)#3(#4)#5{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#3}
- \setmonohanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=#5,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#5}
-}
-
-%%% \setk@rst@rm@n@f@nt*(foo1)(foo2){bar1}(foo3)(foo4){bar2}
-\def\st@rm@n@f@ntdoubleparentraildouble*(#1)(#2)#3(#4)(#5)#6{%
- \if#2* \def\LKOV@temp{#3}\else\def\LKOV@temp{#2}\fi
- \setmonohangulfont[BoldFont=#1,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#3}
- \if#5* \def\LKOV@temp{#6}\else\def\LKOV@temp{#5}\fi
- \setmonohanjafont[BoldFont=#4,BoldFeatures={RawFeature={embolden=2}},ItalicFont=\LKOV@temp,ItalicFeatures={RawFeature={\LKOV@italicfeatures}},ExternalLocation,Scale=\LKOV@monoscale]{#5}
-}
-
-\if@nanumfonts
-\setmainhangulfont{NanumMyeongjo}
-\setsanshangulfont{NanumGothic}
-\setmonohangulfont{NanumGothic}
-\fi
-
-\endinput
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/memhangul-x.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/memhangul-x.sty
index 3b54c614f22..e55fadebe03 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/memhangul-x.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/memhangul-x.sty
@@ -14,8 +14,8 @@
%% part of oblivoir v2
%%
\NeedsTeXFormat{LaTeX2e}
-\def\filedate{2014/04/29}
-\def\fileversion{11.7.17}
+\def\filedate{2014/06/12}
+\def\fileversion{11.8}
\ProvidesPackage{memhangul-x}[\filedate Hangul Typography for (x)oblivoir]
\typeout{Hangul Typography for (x)oblivoir}
@@ -76,19 +76,24 @@
\DeclareOption{nowinname}{\PassOptionsToPackage{\CurrentOption}{xetexko-var}}
\DeclareOption{unfonts}{\PassOptionsToPackage{\CurrentOption}{xetexko-var}}
\DeclareOption{nounfonts}{\PassOptionsToPackage{\CurrentOption}{xetexko-var}}
+\DeclareOption{nanum}{\PassOptionsToPackage{\CurrentOption}{xetexko-var}}
+\DeclareOption{hcr}{\PassOptionsToPackage{\CurrentOption}{xetexko-var}}
\else\ifluatex
%%% luatexko options
-\DeclareOption{gremph}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{itemph}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
+\DeclareOption{gremph}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{itemph}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
%%% new option
-\DeclareOption{latinquote}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{oldhangul}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{manualfontspec}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{nowinname}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{unfonts}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
-\DeclareOption{nounfonts}{\PassOptionsToPackage{\CurrentOption}{luatexko-xobfont}}
+\DeclareOption{latinquote}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{oldhangul}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{manualfontspec}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nowinname}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{unfonts}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nounfonts}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nanum}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{hcr}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
\else
%%% pdftex options
+\ifPDFTeX
\DeclareOption{gremph}{\DisabledOption{gremph}}
\DeclareOption{itemph}{\DisabledOption{itemph}}
\DeclareOption{latinquote}{\DisabledOption{latinquote}}
@@ -97,6 +102,9 @@
\DeclareOption{nowinname}{\DisabledOption{nowinname}}
\DeclareOption{unfonts}{\DisabledOption{unfonts}}
\DeclareOption{nounfonts}{\DisabledOption{nounfonts}}
+\DeclareOption{nanum}{\DisabledOption{nanum}}
+\DeclareOption{hcr}{\DisabledOption{hcr}}
+\fi
\fi\fi
%%% figtabcapt
@@ -109,11 +117,11 @@
\DeclareOption{uset1font}{\PassOptionsToPackage{usecjkt1font}{cjkutf8-ko}}
\DeclareOption{usedotemph}{\PassOptionsToPackage{\CurrentOption}{cjkutf8-ko}}
-\ProcessOptions
+\ProcessOptions \relax
\ifluatex
\RequirePackage{luatexko}
- \RequirePackage{luatexko-xobfont}
+ \RequirePackage{xob-font}
\RequirePackage{xob-dotemph}
\else\ifxetex
\RequirePackage{xetexko-var}
@@ -347,7 +355,7 @@
% 2012/11/29 : \pdfstringdefDisableCommands
% 2012/11/22 : [figtabcapt] opton introduced
% 2012/11/01 : avoid error in \cnm, \ccnm etc.
-% 2012/07/12 : introduce luatexko-xobfont
+% 2012/07/12 : introduce xob-font
% 2011/09/15 : changes according to xoblivoir
% 2010/09/16 : cntrdot, adjustmath
% 2009/05/11 : protect bnm commands
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-var.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-var.sty
index 2aaf1e8b97d..27768dbda6c 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-var.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-var.sty
@@ -1,6 +1,6 @@
%% xetexko-var.sty
%%
-%% Copyright (c) 2007-2013 Kangsoo Kim <karnes at ktug org>
+%% Copyright (c) 2007-2014 Kangsoo Kim <karnes at ktug org>
%% Copyright (c) 2013 Kihwang Lee <leekh at ktug org>
%%
%% This work may be distributed and/or modified under the
@@ -17,14 +17,14 @@
%% 2013.08.26
%%
\ProvidesPackage{xetexko-var}
- [2013/08/26 v0.12 Korean Typesetting under XeTeX]
+ [2014/06/12 v0.13 Korean Typesetting under XeTeX]
%%% common options for xob-font
-\DeclareOption{gremph}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
-\DeclareOption{itemph}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
-\DeclareOption{oldhangul}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
-\DeclareOption{latinquote}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
-\DeclareOption{nowinname}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
+\DeclareOption{gremph}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{itemph}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{oldhangul}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{latinquote}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nowinname}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
%%% for kolabels
\newif\if@hangul
\newif\if@hanja
@@ -35,8 +35,10 @@
\DeclareOption{manualfontspec}{\@extfontspectrue}
%%% unfonts
-\DeclareOption{unfonts}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
-\DeclareOption{nounfonts}{\PassOptionsToPackage{\CurrentOption}{xetexko-xobfont}}
+\DeclareOption{unfonts}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nounfonts}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{nanum}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
+\DeclareOption{hcr}{\PassOptionsToPackage{\CurrentOption}{xob-font}}
\ProcessOptions\relax
%%% xetexko sub-styles
@@ -49,10 +51,11 @@
\RequirePackage{xob-hyper}
\if@extfontspec
- \PackageWarning{xetexko-var}{Load xetexko-xobfont and configure Korean Fonts manually!}{}
- \RequirePackage{xetexko-font}
+ \PackageWarning{xetexko-var}{Load xetexko-font and configure Korean Fonts manually!}{}
\else
- \RequirePackage{xetexko-xobfont}
+%%% We will never use xetexko/luatexko's unfonts option.
+ \newif\if@unfonts\@unfontsfalse
+ \RequirePackage{xob-font}
\fi
\RequirePackage{kolabels-utf}
@@ -60,6 +63,7 @@
\endinput
+%%% 2014-06-12: new xob-font.sty
%%% 2013-09-27, nounfonts.
%%% 오후 3:22 2008-11-16
%%% 오후 17:59 2008-12-03 : nowinname 옵션 추가
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-xobfont.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-xobfont.sty
deleted file mode 100644
index abe3c7e1885..00000000000
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xetexko-xobfont.sty
+++ /dev/null
@@ -1,1060 +0,0 @@
-%% xetexko-xobfont.sty
-%%
-%% Copyright (c) 2007-2013 Kangsoo Kim <karnes at ktug org>
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2006/05/20 or later.
-%%
-%% a variant of xetexko-font.sty
-%
-\ifdefined\ProvidesPackage
- \ProvidesPackage{xetexko-xobfont}[2014/05/12 v0.77 Korean font definition in conjunction with xetexko-space, a variant]
-\fi
-
-\@ifpackageloaded{xetexko-space}{}{%
- \PackageError{xetexko-xob}{xetexko-space must be loaded before}{}%
-}
-
-\newif\if@latinquote\@latinquotefalse
-\DeclareOption{latinquote}{\@latinquotetrue}
-\newif\if@oldhangul\@oldhangulfalse
-\DeclareOption{oldhangul}{\@oldhangultrue}
-\newif\if@gremph\@gremphtrue
-\DeclareOption{gremph}{\@gremphtrue}
-\DeclareOption{itemph}{\@gremphfalse}
-\newif\if@nowin\@nowinfalse
-\DeclareOption{nowinname}{\@nowintrue}
-
-\newif\if@unfonts\@unfontsfalse
-\DeclareOption{unfonts}{\@unfontstrue}
-\DeclareOption{nounfonts}{\@unfontsfalse}
-\newif\if@nanumfonts\@nanumfontsfalse
-\DeclareOption{nanum}{\@nanumfontstrue}
-
-\ProcessOptions
-
-\RequirePackage{xetexko-font}
-
-\if@oldhangul
- \def\XKOV@oldhangulscript{Script=Hangul}
- \def\XKOV@oldhangullanguage{Language=Korean}
- \def\XKOV@oldhangulfeatures{RawFeature=+ccmp;+ljmo;+vjmo;+tjmo}
-\else
- \def\XKOV@oldhangulscript{}
- \def\XKOV@oldhangullanguage{}
- \def\XKOV@oldhangulfeatures{}
-\fi
-
-\if@gremph
- \def\XKOV@italicfeatures{}
- \def\XKOV@bolditalicfeatures{RawFeature={embolden=2}}
- \def\XKOV@boldfeatures{RawFeature={embolden=2}}
-\else
- \def\XKOV@italicfeatures{RawFeature={slant=0.17}}
- \def\XKOV@bolditalicfeatures{RawFeature={embolden=2;slant=0.17}}
- \def\XKOV@boldfeatures{RawFeature={embolden=2}}
-\fi
-
-\newcommand\setmonoscale[1]{%
- \def\XKOV@monoscale{#1}%
-}
-\setmonoscale{1.05}
-
-%%% 괄호 재설정
-%\if@latinquote
-% \XeTeXcharclass "2018 = 4 % ‘
-% \XeTeXcharclass "201C = 4 % “
-% \XeTeXcharclass "2019 = 5 % ’
-% \XeTeXcharclass "201D = 5 % ”
-%\else
-% \XeTeXcharclass "2018 = 2 % ‘
-% \XeTeXcharclass "201C = 2 % “
-% \XeTeXcharclass "2019 = 3 % ’
-% \XeTeXcharclass "201D = 3 % ”
-%\fi
-
-%%% 한글 기호 문자 일부. xkospace에 정의되지 않은 것.
-%%% 추후 삭제할 수 있는 코드.
-%%% ※… = class 1 (한자)
-%\XeTeXcharclass "007D = 7 %… class 7 ("AC00)
-%%\count255 = "203B
-%%\loop \XeTeXcharclass\count255 = 1
-%% \ifnum\count255 < "24EA
-%% \advance\count255 1 \repeat
-%%\count255 = "3200
-%%\loop \XeTeXcharclass\count255 = 1
-%% \ifnum\count255 < "33DE
-%% \advance\count255 1 \repeat
-%%\count255 = "25A0
-%%\loop \XeTeXcharclass\count255 = 1
-%% \ifnum\count255 < "266E
-%% \advance\count255 1 \repeat
-
-% \XeTeXcharclass "223C = 1 % ∼
-
-%% 한글폰트 지정하기 :
-\@ifpackageloaded{xltxtra}{}{\RequirePackage{xltxtra}}
- \def\CallKorFont#1{%
- \expandafter\newfontfamily\csname kor#1font\endcsname[\XKOV@externallocation,%
- BoldFont=\csname XKOV@kor#1@bold\endcsname,%
- ItalicFont=\csname XKOV@kor#1@italic\endcsname,%
- ItalicFeatures={\XKOV@italicfeatures},%
- BoldItalicFont=\csname XKOV@kor#1@bolditalic\endcsname,%
- BoldItalicFeatures={\XKOV@italicfeatures},%
-% Script=Hangul,%
-% Language=Korean,%
-% RawFeature=+ccmp;+ljmo;+vjmo;+tjmo
- \XKOV@oldhangulscript,\XKOV@oldhangullanguage,%
- \XKOV@oldhangulfeatures
- ]%
- {\csname XKOV@kor#1@regular\endcsname}%
- }
-%%%%%%%%% mono 폰트는 특별하게 취급한다.
- \def\CallKorFontmono{%
- \newfontfamily\kormonofont[\XKOV@externallocation,%
- BoldFont=\XKOV@kormono@bold,%
- BoldFeatures={\XKOV@boldfeatures},%
- ItalicFont=\XKOV@kormono@italic,%
- ItalicFeatures={\XKOV@italicfeatures},%
- BoldItalicFont=\XKOV@kormono@bolditalic,%
- BoldItalicFeatures={\XKOV@bolditalicfeatures},%
- Scale=\XKOV@monoscale]%
- {\XKOV@kormono@regular}
- }
-% \newfontfamily\korvertfont[ExternalLocation,
-% BoldFont=UnBatang,
-% BoldFeatures={RawFeature={embolden=2}},
-% ItalicFont=UnBatang,
-% ItalicFeatures={RawFeature={slant=0.17}},
-% BoldItalicFont=UnBatang,
-% BoldItalicFeatures={RawFeature={embolden=2;slant=0.17}},
-% Script=Hangul,
-% Language=Korean,
-% Vertical=RotatedGlyphs]
-% {UnBatang}
- \def\CallHnjFont#1{%
- \expandafter\newfontfamily\csname hnj#1font\endcsname[\XKOV@externallocation,%
- BoldFont=\csname XKOV@hnj#1@bold\endcsname,%
- ItalicFont=\csname XKOV@hnj#1@italic\endcsname,%
- ItalicFeatures={\XKOV@italicfeatures},%
- BoldItalicFont=\csname XKOV@hnj#1@bolditalic\endcsname,%
- BoldItalicFeatures={\XKOV@italicfeatures},%
-% Script=Hangul,%
-% Language=Korean,%
-% RawFeature=+ccmp;+ljmo;+vjmo;+tjmo
- \XKOV@oldhangulscript,\XKOV@oldhangullanguage,%
- \XKOV@oldhangulfeatures
- ]%
- {\csname XKOV@hnj#1@regular\endcsname}%
- }
- \def\CallHnjFontmono{%
- \newfontfamily\hnjmonofont[\XKOV@externallocation,%
- BoldFont=\XKOV@hnjmono@bold,%
- BoldFeatures={\XKOV@boldfeatures},%
- ItalicFont=\XKOV@hnjmono@italic,%
- ItalicFeatures={\XKOV@italicfeatures},%
- BoldItalicFont=\XKOV@hnjmono@bolditalic,%
- BoldItalicFeatures={\XKOV@bolditalicfeatures},%
- Scale=\XKOV@monoscale
- ]%
- {\XKOV@hnjmono@regular}
- }
- \def\CallHnjDefault{%
- \let\hnjmainfont\kormainfont
- \let\hnjsansfont\korsansfont
- \let\hnjmonofont\korsansfont
- }
-
-%%% 사용자 명령
-%%% from here, Karnes writes:
-
-\RequirePackage{twoopt}
-\newif\if@korfnt@external\@korfnt@externaltrue
-\newif\if@XKOV@extendcommand\@XKOV@extendcommandfalse
-
-\let\XKOV@XP\expandafter
-
-%%%%%%%%%%%%%%%%%%%%%% main
-%%% 아무래도 잊어버릴 듯해서...
-%%% 다음 네 가지는 xetexko-font의 방식
-%%% \setkormainfont{FontName}
-%%% \setkormainfont[Options]{FontName}
-%%% \setkormainfont{FontName}[Hanja_Opt]{FontName}
-%%% \setkormainfont[Options]{FontName}[Hanja_Opt]{FontName}
-%%% xoblivoir 방식은
-%%% \setkormainfont*{FontName}
-%%% \setkormainfont(Bold)(Italic){FontName}
-%%% \setkormainfont*(Bold)(Italic){FontName}
-%%% \setkormainfont(Bold)(Italic){FontName}(Bold)(Italic){FontName}
-%%% \setkormainfont*(Bold)(Italic){FontName}(Bold)(Italic){FontName}
-%%% (Bold)(Italic)은 optional.
-%%%
-\def\setkormainfont{%
- \@ifnextchar[\setkormainATYPE{%
- \@ifnextchar(\setkormainBTYPE{%
- \@ifnextchar*\setkormainCTYPE\setkormainDTYPE}}%
-}
-
-\def\setkormainATYPE[#1]#2{%
- \gdef\@ATYPEopt@ne{#1}%
- \gdef\@ATYPEarg@ne{#2}%
- \@ifnextchar[\setkormainATYPEA\setkormainATYPEB
-}
-
-\def\setkormainATYPEA[#1]#2{%
- \XKOV@XP\setmainhangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
- \setmainhanjafont[#1]{#2}%
-}
-
-\def\setkormainATYPEB{%
- \XKOV@XP\setmainhangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
-}
-
-\def\setkormainDTYPE#1{%
- \gdef\@ATYPEarg@ne{#1}%
- \@ifnextchar[\setkormainDTYPEA\setkormainDTYPEB
-}
-
-\def\setkormainDTYPEA[#1]#2{%
- \setmainhangulfont{\@AgTYPEarg@ne}%
- \setmainhanjafont[#1]{#2}%
-}
-
-\def\setkormainDTYPEB{%
- \setmainhangulfont{\@ATYPEarg@ne}%
-}
-
-\def\setkormainBTYPE(#1){%
- \long\gdef\@BTYPEopt@ne{#1}%
- \@ifnextchar(\setkormainBTYPEA\setkormainBTYPEB
-}
-
-\def\setkormainBTYPEA(#1)#2{%
- \long\gdef\@BTYPEopttw@{#1}%
- \long\gdef\@BTYPEarg@ne{#2}%
- \@ifnextchar(\setkormainBTYPEC\setkormainBTYPED
-}
-
-\def\setkormainBTYPEB#1{%
- \gdef\@BTYPEarg@ne{#1}%
- \@ifnextchar(\setkormainBTYPEBA\setkormainBTYPEBB
-}
-
-\def\setkormainBTYPEBB{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
-}
-
-\def\setkormainBTYPEBA({%
- \@ifnextchar)\setkormainBTYPEBNO\setkormainBTYPEBYES
-}
-
-\def\setkormainBTYPEBNO)#1{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormainBTYPEBYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormainBTYPEBE\setkormainBTYPEBF
-}
-
-\def\setkormainBTYPEBE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkormainBTYPEBF#1{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkormainBTYPEC({%
- \@ifnextchar)\setkormainBTYPECNO\setkormainBTYPECYES
-}
-
-\def\setkormainBTYPED{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
-}
-
-\def\setkormainBTYPECNO)#1{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormainBTYPECYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormainBTYPEE\setkormainBTYPEF
-}
-
-\def\setkormainBTYPEE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkormainBTYPEF#1{%
- \s@tk@rm@inf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkormainCTYPE*{
- \@ifnextchar(\setkormainCTYPEALPHA\setkormainCTYPEBETA
-}
-
-\def\setkormainCTYPEBETA#1{%
- \s@tk@rm@inf@nt*{#1}%
-}
-
-\def\setkormainCTYPEALPHA(#1){%
- \gdef\@CTYPEopt@ne{#1}%
- \@ifnextchar(\setkormainCTYPEA\setkormainCTYPEB
-}
-
-\def\setkormainCTYPEA(#1)#2{%
- \gdef\@CTYPEopttw@{#1}%
- \gdef\@CTYPEarg@ne{#2}%
- \@ifnextchar(\setkormainCTYPEC\setkormainCTYPED
-}
-
-\def\setkormainCTYPEB#1{%
- \gdef\@CTYPEarg@ne{#1}%
- \@ifnextchar(\setkormainCTYPEBA\setkormainCTYPEBB
-}
-
-\def\setkormainCTYPEBB{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
-}
-
-\def\setkormainCTYPEBA({%
- \@ifnextchar)\setkormainCTYPEBNO\setkormainCTYPEBYES
-}
-
-\def\setkormainCTYPEBNO)#1{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormainCTYPEBYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormainCTYPEBE\setkormainCTYPEBF
-}
-
-\def\setkormainCTYPEBE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkormainCTYPEBF#1{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-\def\setkormainCTYPEC({%
- \@ifnextchar)\setkormainCTYPECNO\setkormainCTYPECYES
-}
-
-\def\setkormainCTYPED{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
-}
-
-\def\setkormainCTYPECNO)#1{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormainCTYPECYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormainCTYPEE\setkormainCTYPEF
-}
-
-\def\setkormainCTYPEE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkormainCTYPEF#1{%
- \s@tk@rm@inf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\setkorsansfont{%
- \@ifnextchar[\setkorsansATYPE{%
- \@ifnextchar(\setkorsansBTYPE{%
- \@ifnextchar*\setkorsansCTYPE\setkorsansDTYPE}}%
-}
-
-\def\setkorsansATYPE[#1]#2{%
- \gdef\@ATYPEopt@ne{#1}%
- \gdef\@ATYPEarg@ne{#2}%
- \@ifnextchar[\setkorsansATYPEA\setkorsansATYPEB
-}
-
-\def\setkorsansATYPEA[#1]#2{%
- \XKOV@XP\setsanshangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
- \setsanshanjafont[#1]{#2}%
-}
-
-\def\setkorsansATYPEB{%
- \XKOV@XP\setsanshangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
-}
-
-\def\setkorsansDTYPE#1{%
- \gdef\@ATYPEarg@ne{#1}%
- \@ifnextchar[\setkorsansDTYPEA\setkorsansDTYPEB
-}
-
-\def\setkorsansDTYPEA[#1]#2{%
- \setsanshangulfont{\@ATYPEarg@ne}%
- \setsanshanjafont[#1]{#2}%
-}
-
-\def\setkorsansDTYPEB{%
- \setsanshangulfont{\@ATYPEarg@ne}%
-}
-
-\def\setkorsansBTYPE(#1){%
- \long\gdef\@BTYPEopt@ne{#1}%
- \@ifnextchar(\setkorsansBTYPEA\setkorsansBTYPEB
-}
-
-\def\setkorsansBTYPEA(#1)#2{%
- \long\gdef\@BTYPEopttw@{#1}%
- \long\gdef\@BTYPEarg@ne{#2}%
- \@ifnextchar(\setkorsansBTYPEC\setkorsansBTYPED
-}
-
-\def\setkorsansBTYPEB#1{%
- \gdef\@BTYPEarg@ne{#1}%
- \@ifnextchar(\setkorsansBTYPEBA\setkorsansBTYPEBB
-}
-
-\def\setkorsansBTYPEBB{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
-}
-
-\def\setkorsansBTYPEBA({%
- \@ifnextchar)\setkorsansBTYPEBNO\setkorsansBTYPEBYES
-}
-
-\def\setkorsansBTYPEBNO)#1{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkorsansBTYPEBYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkorsansBTYPEBE\setkorsansBTYPEBF
-}
-
-\def\setkorsansBTYPEBE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkorsansBTYPEBF#1{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkorsansBTYPEC({%
- \@ifnextchar)\setkorsansBTYPECNO\setkorsansBTYPECYES
-}
-
-\def\setkorsansBTYPED{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
-}
-
-\def\setkorsansBTYPECNO)#1{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkorsansBTYPECYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkorsansBTYPEE\setkorsansBTYPEF
-}
-
-\def\setkorsansBTYPEE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkorsansBTYPEF#1{%
- \s@tk@rs@nsf@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkorsansCTYPE*{
- \@ifnextchar(\setkorsansCTYPEALPHA\setkorsansCTYPEBETA
-}
-
-\def\setkorsansCTYPEBETA#1{%
- \s@tk@rs@nsf@nt*{#1}%
-}
-
-\def\setkorsansCTYPEALPHA(#1){%
- \gdef\@CTYPEopt@ne{#1}%
- \@ifnextchar(\setkorsansCTYPEA\setkorsansCTYPEB
-}
-
-\def\setkorsansCTYPEA(#1)#2{%
- \gdef\@CTYPEopttw@{#1}%
- \gdef\@CTYPEarg@ne{#2}%
- \@ifnextchar(\setkorsansCTYPEC\setkorsansCTYPED
-}
-
-\def\setkorsansCTYPEB#1{%
- \gdef\@CTYPEarg@ne{#1}%
- \@ifnextchar(\setkorsansCTYPEBA\setkorsansCTYPEBB
-}
-
-\def\setkorsansCTYPEBB{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
-}
-
-\def\setkorsansCTYPEBA({%
- \@ifnextchar)\setkorsansCTYPEBNO\setkorsansCTYPEBYES
-}
-
-\def\setkorsansCTYPEBNO)#1{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkorsansCTYPEBYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkorsansCTYPEBE\setkorsansCTYPEBF
-}
-
-\def\setkorsansCTYPEBE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkorsansCTYPEBF#1{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-\def\setkorsansCTYPEC({%
- \@ifnextchar)\setkorsansCTYPECNO\setkorsansCTYPECYES
-}
-
-\def\setkorsansCTYPED{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
-}
-
-\def\setkorsansCTYPECNO)#1{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkorsansCTYPECYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkorsansCTYPEE\setkorsansCTYPEF
-}
-
-\def\setkorsansCTYPEE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkorsansCTYPEF#1{%
- \s@tk@rs@nsf@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\setkormonofont{%
- \@ifnextchar[\setkormonoATYPE{%
- \@ifnextchar(\setkormonoBTYPE{%
- \@ifnextchar*\setkormonoCTYPE\setkormonoDTYPE}}%
-}
-
-\def\setkormonoATYPE[#1]#2{%
- \gdef\@ATYPEopt@ne{#1}%
- \gdef\@ATYPEarg@ne{#2}%
- \@ifnextchar[\setkormonoATYPEA\setkormonoATYPEB
-}
-
-\def\setkormonoATYPEA[#1]#2{%
- \XKOV@XP\setmonohangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
- \setmonohanjafont[#1]{#2}%
-}
-
-\def\setkormonoATYPEB{%
- \XKOV@XP\setmonohangulfont\XKOV@XP[\@ATYPEopt@ne]{\@ATYPEarg@ne}%
-}
-
-\def\setkormonoDTYPE#1{%
- \gdef\@ATYPEarg@ne{#1}%
- \@ifnextchar[\setkormonoDTYPEA\setkormonoDTYPEB
-}
-
-\def\setkormonoDTYPEA[#1]#2{%
- \setmonohangulfont{\@ATYPEarg@ne}%
- \setmonohanjafont[#1]{#2}%
-}
-
-\def\setkormonoDTYPEB{%
- \setmonohangulfont{\@ATYPEarg@ne}%
-}
-
-\def\setkormonoBTYPE(#1){%
- \long\gdef\@BTYPEopt@ne{#1}%
- \@ifnextchar(\setkormonoBTYPEA\setkormonoBTYPEB
-}
-
-\def\setkormonoBTYPEA(#1)#2{%
- \long\gdef\@BTYPEopttw@{#1}%
- \long\gdef\@BTYPEarg@ne{#2}%
- \@ifnextchar(\setkormonoBTYPEC\setkormonoBTYPED
-}
-
-\def\setkormonoBTYPEB#1{%
- \gdef\@BTYPEarg@ne{#1}%
- \@ifnextchar(\setkormonoBTYPEBA\setkormonoBTYPEBB
-}
-
-\def\setkormonoBTYPEBB{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
-}
-
-\def\setkormonoBTYPEBA({%
- \@ifnextchar)\setkormonoBTYPEBNO\setkormonoBTYPEBYES
-}
-
-\def\setkormonoBTYPEBNO)#1{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormonoBTYPEBYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormonoBTYPEBE\setkormonoBTYPEBF
-}
-
-\def\setkormonoBTYPEBE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkormonoBTYPEBF#1{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkormonoBTYPEC({%
- \@ifnextchar)\setkormonoBTYPECNO\setkormonoBTYPECYES
-}
-
-\def\setkormonoBTYPED{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
-}
-
-\def\setkormonoBTYPECNO)#1{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormonoBTYPECYES#1){%
- \gdef\@BTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormonoBTYPEE\setkormonoBTYPEF
-}
-
-\def\setkormonoBTYPEE(#1)#2{%
- \gdef\@BTYPEoptf@ur{#1}%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@][\@BTYPEoptf@ur]{#2}%
-}
-
-\def\setkormonoBTYPEF#1{%
- \s@tk@rm@n@f@nt[\@BTYPEopt@ne][\@BTYPEopttw@]{\@BTYPEarg@ne}%
- [\@BTYPEoptthr@@]{#1}%
-}
-
-\def\setkormonoCTYPE*{
- \@ifnextchar(\setkormonoCTYPEALPHA\setkormonoCTYPEBETA
-}
-
-\def\setkormonoCTYPEBETA#1{%
- \s@tk@rm@n@f@nt*{#1}%
-}
-
-\def\setkormonoCTYPEALPHA(#1){%
- \gdef\@CTYPEopt@ne{#1}%
- \@ifnextchar(\setkormonoCTYPEA\setkormonoCTYPEB
-}
-
-\def\setkormonoCTYPEA(#1)#2{%
- \gdef\@CTYPEopttw@{#1}%
- \gdef\@CTYPEarg@ne{#2}%
- \@ifnextchar(\setkormonoCTYPEC\setkormonoCTYPED
-}
-
-\def\setkormonoCTYPEB#1{%
- \gdef\@CTYPEarg@ne{#1}%
- \@ifnextchar(\setkormonoCTYPEBA\setkormonoCTYPEBB
-}
-
-\def\setkormonoCTYPEBB{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
-}
-
-\def\setkormonoCTYPEBA({%
- \@ifnextchar)\setkormonoCTYPEBNO\setkormonoCTYPEBYES
-}
-
-\def\setkormonoCTYPEBNO)#1{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormonoCTYPEBYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormonoCTYPEBE\setkormonoCTYPEBF
-}
-
-\def\setkormonoCTYPEBE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkormonoCTYPEBF#1{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-\def\setkormonoCTYPEC({%
- \@ifnextchar)\setkormonoCTYPECNO\setkormonoCTYPECYES
-}
-
-\def\setkormonoCTYPED{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
-}
-
-\def\setkormonoCTYPECNO)#1{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- []{#1}%
-}
-
-\def\setkormonoCTYPECYES#1){%
- \gdef\@CTYPEoptthr@@{#1}%
- \@ifnextchar(\setkormonoCTYPEE\setkormonoCTYPEF
-}
-
-\def\setkormonoCTYPEE(#1)#2{%
- \gdef\@CTYPEoptf@ur{#1}%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@][\@CTYPEoptf@ur]{#2}%
-}
-
-\def\setkormonoCTYPEF#1{%
- \s@tk@rm@n@f@nt*[\@CTYPEopt@ne][\@CTYPEopttw@]{\@CTYPEarg@ne}%
- [\@CTYPEoptthr@@]{#1}%
-}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\if@unfonts
- \def\UnBatang{UnBatang}
- \def\UnBatangBold{UnBatang-Bold}
- \def\UnDotum{UnDotum}
- \def\UnDotumBold{UnDotum-Bold}
- \def\UnTaza{UnTaza}
-\else
-\if@nanumfonts
- \setmainhangulfont{NanumMyeongjo}
- \setsanshangulfont{NanumGothic}
- \setmonohangulfont{NanumGothic}
-\fi
-\fi
-
-\def\s@tk@rm@inf@nt{%
- \@ifnextchar*\s@setk@rmainf@nt\l@setk@rmainf@nt
-}
-\def\s@setk@rmainf@nt*{\SETKORMAINFONTEL}
-\def\l@setk@rmainf@nt{\SETKORMAINFONT}
-
-\def\NOEXTSETKORMAINFONT{%
- \let\hnjmainfont\kormainfont
-}
-
-\def\RESstar{*}
-
-\newcommandtwoopt{\SETKORMAINFONTEL}[3][][]{%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@kormain@regular{#3}%
- \def\XKOV@kormain@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@kormain@italic{#3}%
- \else
- \def\XKOV@kormain@italic{#2}%
- \fi
- \def\XKOV@kormain@bolditalic{#2}%
- \CallKorFont{main}%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORMAINFONTEL\NOEXTSETKORMAINFONT
-}
-
-\newcommandtwoopt{\EXTSETKORMAINFONTEL}[3][][]{%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@hnjmain@regular{#3}%
- \def\XKOV@hnjmain@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@hnjmain@italic{#3}%
- \else
- \def\XKOV@hnjmain@italic{#2}%
- \fi
- \def\XKOV@hnjmain@bolditalic{#2}%
- \CallHnjFont{main}%
- \@XKOV@extendcommandfalse
-}
-
-\newcommandtwoopt{\SETKORMAINFONT}[3][][]{%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@kormain@regular{#3}%
- \def\XKOV@kormain@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@kormain@italic{#3}%
- \else
- \def\XKOV@kormain@italic{#2}%
- \fi
- \def\XKOV@kormain@bolditalic{#2}%
- \CallKorFont{main}%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORMAINFONT\NOEXTSETKORMAINFONT
-}
-
-\newcommandtwoopt{\EXTSETKORMAINFONT}[3][][]{%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@hnjmain@regular{#3}%
- \def\XKOV@hnjmain@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@hnjmain@italic{#3}%
- \else
- \def\XKOV@hnjmain@italic{#2}%
- \fi
- \def\XKOV@hnjmain@bolditalic{#2}%
- \CallHnjFont{main}%
- \@XKOV@extendcommandfalse
-}
-
-%%%%%%%%%%%%%%%%%%%%%%% sans
-
-\def\s@tk@rs@nsf@nt{%
- \@ifnextchar*\s@setk@rsansf@nt\l@setk@rsansf@nt
-}
-\def\s@setk@rsansf@nt*{\SETKORSANSFONTEL}
-\def\l@setk@rsansf@nt{\SETKORSANSFONT}
-
-\newcommandtwoopt{\SETKORSANSFONTEL}[3][][]{%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@korsans@regular{#3}%
- \def\XKOV@korsans@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@korsans@italic{#3}%
- \else
- \def\XKOV@korsans@italic{#2}%
- \fi
- \def\XKOV@korsans@bolditalic{#2}%
- \CallKorFont{sans}%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORSANSFONTEL\NOEXTSETKORSANSFONT
-}
-
-\newcommandtwoopt{\EXTSETKORSANSFONTEL}[3][][]{%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@hnjsans@regular{#3}%
- \def\XKOV@hnjsans@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@hnjsans@italic{#3}%
- \else
- \def\XKOV@hnjsans@italic{#2}%
- \fi
- \def\XKOV@hnjsans@bolditalic{#2}%
- \CallHnjFont{sans}%
- \@XKOV@extendcommandfalse
-}
-
-\newcommandtwoopt{\SETKORSANSFONT}[3][][]{%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@korsans@regular{#3}%
- \def\XKOV@korsans@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@korsans@italic{#3}%
- \else
- \def\XKOV@korsans@italic{#2}%
- \fi
- \def\XKOV@korsans@bolditalic{#2}%
- \CallKorFont{sans}%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORSANSFONT\NOEXTSETKORSANSFONT
-}
-
-\newcommandtwoopt{\EXTSETKORSANSFONT}[3][][]{%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@hnjsans@regular{#3}%
- \def\XKOV@hnjsans@bold{#1}%
- \ifx#2\RESstar
- \def\XKOV@hnjsans@italic{#3}%
- \else
- \def\XKOV@hnjsans@italic{#2}%
- \fi
- \def\XKOV@hnjsans@bolditalic{#2}%
- \CallHnjFont{sans}%
- \@XKOV@extendcommandfalse
-}
-
-\def\NOEXTSETKORSANSFONT{%
- \let\hnjsansfont\korsansfont
-}
-
-%%%%%%%%%%%%%%%%%%%%%%% mono
-
-\def\s@tk@rm@n@f@nt{%
- \@ifnextchar*\s@setk@rmonof@nt\l@setk@rmonof@nt
-}
-\def\s@setk@rmonof@nt*{\SETKORMONOFONTEL}
-\def\l@setk@rmonof@nt{\SETKORMONOFONT}
-
-\newcommandtwoopt{\SETKORMONOFONTEL}[3][][]{%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@kormono@regular{#3}%
- \def\XKOV@kormono@bold{#1}%
- \def\XKOV@kormono@italic{#2}%
- \def\XKOV@kormono@bolditalic{#2}%
- \CallKorFontmono%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORMONOFONTEL\NOEXTSETKORMONOFONT
-}
-
-\newcommandtwoopt{\EXTSETKORMONOFONTEL}[3][][]{%
- \setmonoscale{1.0}%
- \def\XKOV@externallocation{ExternalLocation}%
- \@korfnt@externaltrue
- \def\XKOV@hnjmono@regular{#3}%
- \def\XKOV@hnjmono@bold{#1}%
- \def\XKOV@hnjmono@italic{#2}%
- \def\XKOV@hnjmono@bolditalic{#2}%
- \CallHnjFontmono%
- \@XKOV@extendcommandfalse
-}
-
-\newcommandtwoopt{\SETKORMONOFONT}[3][][]{%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@kormono@regular{#3}%
- \def\XKOV@kormono@bold{#1}%
- \def\XKOV@kormono@italic{#2}%
- \def\XKOV@kormono@bolditalic{#2}%
- \CallKorFontmono%
- \@korfnt@externaltrue
- \@ifnextchar[\EXTSETKORMONOFONT\NOEXTSETKORMONOFONT
-}
-
-\newcommandtwoopt{\EXTSETKORMONOFONT}[3][][]{%
- \setmonoscale{1.0}%
- \def\XKOV@externallocation{}%
- \@korfnt@externalfalse
- \def\XKOV@hnjmono@regular{#3}%
- \def\XKOV@hnjmono@bold{#1}%
- \def\XKOV@hnjmono@italic{#2}%
- \def\XKOV@hnjmono@bolditalic{#2}%
- \CallHnjFontmono%
- \@XKOV@extendcommandfalse
-}
-
-\def\NOEXTSETKORMONOFONT{%
- \let\hnjmonofont\korsansfont
-}
-
-%% dummy call
-\def\SetDefaultKorFonts{%
-\if@unfonts
-\if@korfnt@external
- \ifx\XKOV@kormain@regular\undefined\def\XKOV@kormain@regular{UnBatang}\fi
- \ifx\XKOV@kormain@bold\undefined\def\XKOV@kormain@bold{UnBatangBold}\fi
- \ifx\XKOV@kormain@italic\undefined\def\XKOV@kormain@italic{UnBatang}\fi
- \ifx\XKOV@kormain@bolditalic\undefined\def\XKOV@kormain@bolditalic{UnBatangBold}\fi
- \ifx\XKOV@korsans@regular\undefined\def\XKOV@korsans@regular{UnDotum}\fi
- \ifx\XKOV@korsans@bold\undefined\def\XKOV@korsans@bold{UnDotumBold}\fi
- \ifx\XKOV@korsans@italic\undefined\def\XKOV@korsans@italic{UnDotum}\fi
- \ifx\XKOV@korsans@bolditalic\undefined\def\XKOV@korsans@bolditalic{UnDotumBold}\fi
- \ifx\XKOV@kormono@regular\undefined\def\XKOV@kormono@regular{UnTaza}\fi
- \ifx\XKOV@kormono@bold\undefined\def\XKOV@kormono@bold{UnTaza}\fi
- \ifx\XKOV@kormono@italic\undefined\def\XKOV@kormono@italic{UnTaza}\fi
- \ifx\XKOV@kormono@bolditalic\undefined\def\XKOV@kormono@bolditalic{UnTaza}\fi
-\else
- \ifx\XKOV@kormain@regular\undefined\def\XKOV@kormain@regular{\UnBatang}\fi
- \ifx\XKOV@kormain@bold\undefined\def\XKOV@kormain@bold{\UnBatangBold}\fi
- \ifx\XKOV@kormain@italic\undefined\def\XKOV@kormain@italic{\UnBatang}\fi
- \ifx\XKOV@kormain@bolditalic\undefined\def\XKOV@kormain@bolditalic{\UnBatangBold}\fi
- \ifx\XKOV@korsans@regular\undefined\def\XKOV@korsans@regular{\UnDotum}\fi
- \ifx\XKOV@korsans@bold\undefined\def\XKOV@korsans@bold{\UnDotumBold}\fi
- \ifx\XKOV@korsans@italic\undefined\def\XKOV@korsans@italic{\UnDotum}\fi
- \ifx\XKOV@korsans@bolditalic\undefined\def\XKOV@korsans@bolditalic{\UnDotumBold}\fi
- \ifx\XKOV@kormono@regular\undefined\def\XKOV@kormono@regular{\UnTaza}\fi
- \ifx\XKOV@kormono@bold\undefined\def\XKOV@kormono@bold{\UnTaza}\fi
- \ifx\XKOV@kormono@italic\undefined\def\XKOV@kormono@italic{\UnTaza}\fi
- \ifx\XKOV@kormono@bolditalic\undefined\def\XKOV@kormono@bolditalic{\UnTaza}\fi
-\fi
-\else\fi
-}
-
-%%% dummy declaration, to avoid errors!
-\if@unfonts
-\s@tk@rm@inf@nt*{UnBatang}
-\s@tk@rs@nsf@nt*{UnDotum}
-\s@tk@rm@n@f@nt*{UnTaza}
-\CallHnjDefault
-\else
-%\input TnX-xob-default.tex
-\fi
-
-\AtBeginDocument{
- \ifx\XKOV@externallocation\undefined\def\XKOV@externallocation{ExternalLocation}\@korfnt@externaltrue\fi
-%% \SetDefaultKorFonts
-%% \CallKorFont{main}%
-%% \CallKorFont{sans}%
-%% \CallKorFontmono
-}
-
-\endinput
-
-%%% 2014-05-12 : disable "223C assignment
-%%% 2013-09-27 : nounfonts set to default.
-%%% 2012-12-31 : [unfonts], [nounfonts]
-%%% 오전 1:21 2008-10-13 : xetexko-xobfont 작성
-%%% 오전 12:12 2008-11-09 : \setkor...font 명령 재작성
-%%% 오후 17:59 2008-12-02 : nowinname 옵션 추가
-%%% 오후 22:05 2008-12-02 : Italic 옵션에 (*) 추가
-%%% 오전 04:04 2008-12-08 : \XKOV@XP
-%%% 오전 1:18 2009-08-25 : sans/mono bug fixed (thanks to DH Kim and YW Kim)
-%%% 오전 12:22 2009-10-13 : 따옴표 설정을 xetexko에게.
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-dotemph.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-dotemph.sty
index e2997e94746..87285578b27 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-dotemph.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-dotemph.sty
@@ -1,6 +1,6 @@
%% xob-dotemph.sty
%%
-%% Copyright (c) 2007-2013 Kangsoo Kim <karnes at ktug org>
+%% Copyright (c) 2007-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,13 +11,14 @@
%% version 2006/05/20 or later.
%%
%% xob-dotemph
+%% 2014-06-15, \useremph redefined
%% 2014-04-29
%% 2010-03-18
%% 오전 9:01 2008-10-22
%% xetexko-dotemph의 확장
%% dhucs/hangul compatible (\dotemph, \circemph, \useremph)
%% ----------
-%% \useremph is different from xetexko's \useremph ***
+%% \useremph is different from kotex-utf's \useremph ***
%%
%% Updated for xetexko v2.1
%% Kihwang Lee <leekh at ktug.org>
@@ -30,28 +31,45 @@
\endgroup
}
-\def\dhucs@useremph#1{\begingroup
+\def\xob@useremph#1{\begingroup
\let\dotemphchar\useremphchar
\let\dotemphraise\useremphraisedim
\dotemph{#1}\endgroup}
-\protected\def\useremph{%
- \@ifnextchar[\@user@emph{%
- \@ifnextchar*\@orig@useremph\@@user@emph}%
-}
+%%%%% 2014/06/15
+%%%%% \useremph[dim][char]{letter}
+%%%%%
+\RequirePackage{xparse}
-\def\@orig@useremph*#1{\dhucs@useremph{#1}}
+\ExplSyntaxOn
-\def\@user@emph[#1]#2#3{%
- \def\useremphchar{#2}%
- \def\useremphraisedim{#1}%
- \dhucs@useremph{#3}%
-}
+\dim_new:N \useremphraisedim \dim_set:Nn \useremphraisedim { 1ex }
+\tl_set:Nn \useremphchar { ^^^^02da }
-\def\@@user@emph#1#2{%
- \def\useremphchar{#1}%
- \def\useremphraisedim{6pt}%
- \dhucs@useremph{#2}%
+\DeclareDocumentCommand \useremph { o o m }
+{
+ \IfValueT { #1 }
+ {
+ \tl_if_empty:nF { #1 }
+ {
+ \settoheight \useremphraisedim { #3 }
+ \dim_add:Nn \useremphraisedim { #1 }
+ }
+ }
+
+ \IfValueT { #2 }
+ {
+ \tl_if_empty:nF { #2 }
+ {
+ \tl_set:Nn \useremphchar { #2 }
+ }
+ }
+ \xob@useremph { #3 }
}
+\ExplSyntaxOff
+
+\def\useremphstarblack{\tiny★}
+\def\useremphstarwhite{\tiny☆}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-font.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-font.sty
new file mode 100644
index 00000000000..fa9bf736cf2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-font.sty
@@ -0,0 +1,678 @@
+%% xob-font.sty
+%%
+%% Copyright (c) 2014 Kangsoo Kim <karnes at ktug org>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2006/05/20 or later.
+%%
+%%
+%% oblivoir hangul/hanja font setting.
+%% part of oblivoir
+%%
+\ProvidesPackage{xob-font}[2014/06/24 v0.6 select hangul/hanja fonts for oblivoir]
+
+%%% obsolete options: retain \if@.. conditions for backward compatibility
+\newif\if@nowin\@nowinfalse
+\newif\if@latinquote\@latinquotefalse
+\newif\if@unfont\@unfontfalse
+\DeclareOption{nowinname}{}
+\DeclareOption{latinquote}{}
+\DeclareOption{unfonts}{\@unfonttrue}
+\DeclareOption{nounfonts}{\@unfontfalse}
+
+%%% active optoins
+\newif\if@oldhangul\@oldhangulfalse
+\DeclareOption{oldhangul}{\@oldhangultrue}
+\newif\if@gremph\@gremphtrue
+\DeclareOption{gremph}{\@gremphtrue}
+\DeclareOption{itemph}{\@gremphfalse}
+
+\newif\if@nanumfonts\@nanumfontsfalse
+\newif\if@nanumxfonts\@nanumxfontsfalse
+\DeclareOption{nanum}{\@nanumfontstrue}
+\DeclareOption{nanumx}{\@nanumfontstrue\@nanumxfontstrue}
+\newif\if@hcrfonts\@hcrfontsfalse
+\DeclareOption{hcr}{\@hcrfontstrue\@oldhangultrue}
+
+\ProcessOptions
+\relax
+
+\RequirePackage{xparse}
+\@ifclassloaded{oblivoir}{}{%
+ \RequirePackage{fontspec}
+ \RequirePackage{kotex}
+}
+
+\ExplSyntaxOn
+
+\xetex_if_engine:T
+{
+ \RequirePackage{xetexko-space}
+ \RequirePackage{xetexko-font}
+}
+
+\if@gremph \bool_set_false:N \ital_fake_bool \else \bool_set_true:N \ital_fake_bool \fi
+\if@oldhangul \bool_set_true:N \hangulscript_bool \else \bool_set_false:N \hangulscript_bool \fi
+
+\bool_set_false:N \bold_prov_bool
+\bool_set_false:N \in_hanja_mode
+\bool_set_false:N \mono_mode
+
+\DeclareDocumentCommand \setmonoscale { m }
+{
+ \tl_set:Nn \_mono_scale { #1 }
+}
+
+\setmonoscale{0.95}
+
+\DeclareDocumentCommand \treat_feature_name_options { d() d() m o }
+{
+ \tl_set:Nn \_regu_font_name { #3 }
+
+ \IfValueTF { #1 }
+ {
+ \tl_set:Nn \_bold_font_name { #1 } \bool_set_true:N \bold_prov_bool
+ }
+ {
+ \tl_clear:N \_bold_font_name \bool_set_false:N \bold_prov_bool
+ }
+
+ \IfValueTF { #2 }
+ {
+ \tl_if_eq:nnTF { #2 } { * }
+ { \tl_set_eq:NN \_ital_font_name \_regu_font_name }
+ { \tl_set:Nn \_ital_font_name { #2 } }
+ }
+ {
+ \tl_set_eq:NN \_ital_font_name \_regu_font_name
+ }
+ \IfValueTF { #4 }
+ { \tl_set:Nn \_additional_feature_str { #4 } }
+ { \tl_clear:N \_additional_feature_str }
+
+ \bool_if:nTF { \mono_mode || \in_hanja_mode }
+ {
+ \tl_clear:N \_font_feature_str
+ }
+ {
+ \tl_set:Nn \_font_feature_str { Ligatures = TeX, }
+ }
+
+ \bool_if:nT \ital_fake_bool
+ {
+ \tl_if_eq:NNTF \_ital_font_name \_regu_font_name
+ {
+ \tl_put_right:Nn \_font_feature_str { AutoFakeSlant, }
+ }
+ {
+ \tl_put_right:Nn \_font_feature_str { ItalicFeatures = { FakeSlant = { 0.15 } }, }
+ }
+ \tl_put_right:Nn \_font_feature_str { BoldItalicFeatures = { FakeSlant = { 0.15 } }, }
+ }
+
+ \bool_if:nT \bold_prov_bool
+ {
+ \tl_put_right:Nn \_font_feature_str { BoldFont = \_bold_font_name,
+ BoldItalicFont = \_bold_font_name,
+ ItalicFont = \_ital_font_name, }
+ }
+
+ \bool_if:nF \in_hanja_mode
+ {
+ \bool_if:nT \hangulscript_bool
+ { \tl_put_right:Nn \_font_feature_str { Script = Hangul, } }
+ }
+
+ \bool_if:nT \mono_mode
+ {
+ \tl_put_right:Nn \_font_feature_str { Scale = \_mono_scale, }
+ }
+}
+
+\DeclareDocumentCommand \set_kor_sub_hanja_font { m d() d() m o }
+{
+ \bool_set_true:N \in_hanja_mode
+% \treat_feature_name_options ( #2 ) ( #3 ) { #4 } [ #5 ]
+ \IfValueTF { #2 }
+ {
+ \IfValueTF { #3 }
+ {
+ \treat_feature_name_options ( #2 ) ( #3 ) { #4 } [ #5 ]
+ }
+ {
+ \treat_feature_name_options ( #2 ) { #4 } [ #5 ]
+ }
+ }
+ {
+ \treat_feature_name_options { #4 } [ #5 ]
+ }
+ \setmainhanjafont [ \_font_feature_str, \_additional_feature_str ] { \_regu_font_name }
+
+ \luatex_if_engine:T
+ {
+ \tl_if_exist:NT \hanjabyhanjafont
+ {
+ \AtBeginDocument { \hanjabyhanjafont 1 }
+ }
+ }
+}
+
+\DeclareDocumentCommand \setkorfont { m d() d() m o d() }
+{
+ \bool_set_false:N \in_hanja_mode
+
+ \str_if_eq:nnTF { #1 } { mono }
+ { \bool_set_true:N \mono_mode }
+ { \bool_set_false:N \mono_mode }
+
+ %%% when regular fontname contains "HCR", input [ Script=Hangul ] to font features.
+ \tl_if_in:nnT { #4 } { HCR }
+ { \bool_set_true:N \hangulscript_bool }
+ \tl_if_in:nnT { #4 } { hcr }
+ { \bool_set_true:N \hangulscript_bool }
+% \tl_if_in:nnT { #4 } { HAN }
+% { \bool_set_true:N \hangulscript_bool }
+ %%% the following three \tl_if_in's for \setkomainfont
+ \tl_if_in:NnT { #4 } { HCR }
+ { \bool_set_true:N \hangulscript_bool }
+ \tl_if_in:NnT { #4 } { hcr }
+ { \bool_set_true:N \hangulscript_bool }
+% \tl_if_in:NnT { #4 } { HAN }
+% { \bool_set_true:N \hangulscript_bool }
+
+ \IfValueTF { #2 }
+ {
+ \IfValueTF { #3 }
+ {
+ \treat_feature_name_options ( #2 ) ( #3 ) { #4 } [ #5 ]
+ }
+ {
+ \treat_feature_name_options ( #2 ) { #4 } [ #5 ]
+ }
+ }
+ {
+ \treat_feature_name_options { #4 } [ #5 ]
+ }
+
+ \cs:w set #1 hangulfont \cs_end:
+ [ \_font_feature_str, \_additional_feature_str ] { \_regu_font_name }
+
+ %%% \set_kor_sub_hanja_font will take more optional arguments,
+ %%% hence, this codes have to be located at the end of code block.
+ \IfValueT { #6 }
+ {
+ \set_kor_sub_hanja_font { #1 } ( #6 )
+ }
+}
+
+%%% new \setko(main|sans|mono)font
+%\bool_new:N \setko_bold_process \bool_set_false:N \setko_bold_process
+
+\NewDocumentCommand \process_set_korob_hanja { m o d() d() d() o }
+{
+ \IfValueTF { #2 }
+ {
+ \tl_set:Nn \ko_hanja_base_font_name { #2 }
+ \tl_set_eq:NN \ko_hanja_regu_font_name \ko_hanja_base_font_name
+ \tl_put_right:Nn \ko_hanja_regu_font_name { #3 }
+ \IfValueTF { #4 }
+ {
+ \tl_if_empty:nTF { #4 }
+ {
+ \tl_set_eq:NN \ko_hanja_bold_font_name \ko_hanja_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \ko_hanja_bold_font_name \ko_hanja_base_font_name
+ \tl_put_right:Nn \ko_hanja_bold_font_name { #4 }
+ }
+ \bool_set_false:N \setko_hanja_bold_process
+ }
+ {
+% \tl_clear:N \ko_hanja_bold_font_name
+ \bool_set_true:N \setko_hanja_bold_process
+ }
+ \IfValueTF { #5 }
+ {
+ \tl_if_empty:nTF { #5 }
+ {
+ \tl_set_eq:NN \ko_hanja_ital_font_name \ko_hanja_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \ko_hanja_ital_font_name \ko_hanja_base_font_name
+ \tl_put_right:Nn \ko_hanja_ital_font_name { #5 }
+ }
+ }
+ {
+ \tl_set_eq:NN \ko_hanja_ital_font_name \ko_hanja_regu_font_name
+ }
+ }
+ {
+ \tl_clear:N \ko_hanja_base_font_name
+ \tl_set:Nn \ko_hanja_regu_font_name { #3 }
+
+ \IfValueTF { #4 }
+ {
+ \tl_set:Nn \ko_hanja_bold_font_name { #4 }
+ \bool_set_false:N \setko_hanja_bold_process
+ }
+ {
+% \tl_clear:N \ko_hanja_bold_font_name
+ \bool_set_true:N \setko_hanja_bold_process
+ }
+
+ \IfValueTF { #5 }
+ {
+ \tl_set:Nn \ko_hanja_ital_font_name { #5 }
+ }
+ {
+ \tl_set_eq:NN \ko_hanja_ital_font_name \ko_hanja_regu_font_name
+ }
+ }
+
+ \IfValueTF { #6 }
+ {
+ \tl_set:Nn \ko_hanja_features { #6 }
+ }
+ {
+ \tl_clear:N \ko_hanja_features
+ }
+
+ \bool_if:nTF \setko_bold_process
+ {
+ \bool_if:nTF \setko_hanja_bold_process
+ {
+ \cs:w setkor #1 font \cs_end:
+ { \ko_regu_font_name }
+ [ \ko_features ]
+ \bool_if:nTF \ital_fake_bool
+ {
+ \cs:w set #1 hanjafont \cs_end:
+ [ \ko_hanja_features, AutoFakeSlant, BoldItalicFeatures={FakeSlant={0.15}} ]
+ { \ko_hanja_regu_font_name }
+ }
+ {
+ \cs:w set #1 hanjafont \cs_end:
+ [ \ko_hanja_features ]
+ { \ko_hanja_regu_font_name }
+ }
+ }
+ {
+ \cs:w setkor #1 font \cs_end:
+ { \ko_regu_font_name }
+ [ \ko_features ]
+ ( \ko_hanja_bold_font_name )
+ ( \ko_hanja_ital_font_name )
+ { \ko_hanja_regu_font_name }
+ [ \ko_hanja_features ]
+ }
+ }
+ {
+ \bool_if:nTF \setko_hanja_bold_process
+ {
+ \cs:w setkor #1 font \cs_end:
+ ( \ko_bold_font_name )
+ ( \ko_ital_font_name )
+ { \ko_regu_font_name }
+ \bool_if:nTF \ital_fake_bool
+ {
+ \cs:w set #1 hanjafont \cs_end:
+ [ \ko_hanja_features, AutoFakeSlant, BoldItalicFeatures={FakeSlant={0.15}} ]
+ { \ko_hanja_regu_font_name }
+ }
+ {
+ \cs:w set #1 hanjafont \cs_end:
+ [ \ko_hanja_features ]
+ { \ko_hanja_regu_font_name }
+ }
+ }
+ {
+ \cs:w setkor #1 font \cs_end:
+ ( \ko_bold_font_name )
+ ( \ko_ital_font_name )
+ { \ko_regu_font_name }
+ [ \ko_features ]
+ ( \ko_hanja_bold_font_name )
+ ( \ko_hanja_ital_font_name )
+ { \ko_hanja_regu_font_name }
+ [ \ko_hanja_features ]
+ }
+ }
+
+ \luatex_if_engine:T
+ {
+ \tl_if_exist:NT \hanjabyhanjafont
+ {
+ \AtBeginDocument { \hanjabyhanjafont 1 }
+ }
+ }
+}
+
+\NewDocumentCommand \process_korob_only_hangul { m }
+{
+ \bool_if:nTF \setko_bold_process
+ {
+ \cs:w setkor #1 font \cs_end:
+ { \ko_regu_font_name }
+ [ \ko_features ]
+ }
+ {
+ \cs:w setkor #1 font \cs_end:
+ ( \ko_bold_font_name )
+ ( \ko_ital_font_name )
+ { \ko_regu_font_name }
+ [ \ko_features ]
+ }
+}
+
+\DeclareDocumentCommand \setkorfontxob { m o d() d() d() o o d() }
+{
+ \IfValueTF { #2 }
+ { \tl_set:Nn \ko_base_font_name { #2 }
+ \tl_set_eq:NN \ko_regu_font_name \ko_base_font_name
+ \tl_put_right:Nn \ko_regu_font_name { #3 }
+ \IfValueTF { #4 }
+ {
+ \tl_if_empty:nTF { #4 }
+ {
+ \tl_set_eq:NN \ko_bold_font_name \ko_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \ko_bold_font_name \ko_base_font_name
+ \tl_put_right:Nn \ko_bold_font_name { #4 }
+ }
+ \bool_set_false:N \setko_bold_process
+ }
+ {
+% \tl_set_eq:NN \ko_bold_font_name \ko_regu_font_name
+ \bool_set_true:N \setko_bold_process
+ }
+ \IfValueTF { #5 }
+ {
+ \tl_if_empty:nTF { #5}
+ {
+ \tl_set_eq:NN \ko_ital_font_name \ko_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \ko_ital_font_name \ko_base_font_name
+ \tl_put_right:Nn \ko_ital_font_name { #5 }
+ }
+ }
+ {
+ \tl_set_eq:NN \ko_ital_font_name \ko_regu_font_name
+ }
+ }
+ {
+ \tl_clear:N \ko_base_font_name
+ \tl_set:Nn \ko_regu_font_name { #3 }
+
+ \IfValueTF { #4 }
+ {
+ \tl_set:Nn \ko_bold_font_name { #4 }
+ \bool_set_false:N \setko_bold_process
+ }
+ {
+% \tl_set_eq:NN \ko_bold_font_name \ko_regu_font_name
+ \bool_set_true:N \setko_bold_process
+ }
+
+ \IfValueTF { #5 }
+ {
+ \tl_set:Nn \ko_ital_font_name { #5 }
+ }
+ {
+ \tl_set_eq:NN \ko_ital_font_name \ko_regu_font_name
+ }
+
+ }
+
+ \IfValueTF { #6 }
+ {
+ \tl_set:Nn \ko_features { #6 }
+ }
+ {
+ \tl_clear:N \ko_features
+ }
+
+ \IfValueTF { #7 }
+ {
+ \IfValueTF { #8 }
+ {
+ \process_set_korob_hanja { #1 } [ #7 ] ( #8 )
+ }
+ {
+ \process_set_korob_hanja { #1 } [ #7 ]
+ }
+ }
+ {
+ \IfValueTF { #8 }
+ {
+ \process_set_korob_hanja { #1 } ( #8 )
+ }
+ {
+ \process_korob_only_hangul { #1 }
+ }
+ }
+}
+
+%%% bracket version.
+\bool_set_false:N \ext_loc_bool
+
+\DeclareDocumentCommand \set_kor_font_orig_method_sub_hanja { m o m }
+{
+ \IfValueTF { #2 }
+ {
+ \cs:w set #1 hanjafont \cs_end: [ #2, \ext_loc_feature ] { #3 }
+ }
+ {
+ \cs:w set #1 hanjafont \cs_end: [ \ext_loc_feature ]{ #3 }
+ }
+ \bool_set_false:N \ext_loc_bool
+}
+
+\DeclareDocumentCommand \setkorfontorigmethod { m o m o }
+{
+ \bool_if:nTF \ext_loc_bool
+ {
+ \tl_set:Nn \ext_loc_feature { ExternalLocation, }
+ }
+ {
+ \tl_clear:N \ext_loc_feature
+ }
+ \IfValueTF { #2 }
+ {
+ \cs:w set #1 hangulfont \cs_end: [ #2, \ext_loc_feature ] { #3 }
+ }
+ {
+ \cs:w set #1 hangulfont \cs_end: [ \ext_loc_feature ] { #3 }
+ }
+
+ \IfValueTF { #4 }
+ {
+ \set_kor_font_orig_method_sub_hanja { #1 } [ #4 ]
+ }
+ {
+ \bool_set_false:N \ext_loc_bool
+ }
+}
+
+%%% starred version.
+\DeclareDocumentCommand \setkorfontorigstar { s m }
+{
+ \bool_set_true:N \ext_loc_bool
+ \setkorfontorigmethod { #2 }
+}
+
+%%% \setobmainfont
+\DeclareDocumentCommand \setxoblatinfont { m o d() d() d() o }
+{
+ \IfValueTF { #2 }
+ {
+ \tl_set:Nn \latin_base_font_name { #2 }
+ \tl_set_eq:NN \latin_regu_font_name \latin_base_font_name
+ \tl_put_right:Nn \latin_regu_font_name { #3 }
+ \IfValueTF { #4 }
+ {
+ \tl_if_empty:nTF { #4 }
+ {
+ \tl_set_eq:NN \latin_bold_font_name \latin_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \latin_bold_font_name \latin_base_font_name
+ \tl_put_right:Nn \latin_bold_font_name { #4 }
+ }
+ \bool_set_false:N \setlatin_bold_process
+ }
+ {
+ \bool_set_true:N \setlatin_bold_process
+ }
+ \IfValueTF { #5 }
+ {
+ \tl_if_empty:nTF { #5}
+ {
+ \tl_set_eq:NN \latin_ital_font_name \latin_regu_font_name
+ }
+ {
+ \tl_set_eq:NN \latin_ital_font_name \latin_base_font_name
+ \tl_put_right:Nn \latin_ital_font_name { #5 }
+ }
+ \bool_set_false:N \setlatin_ital_process
+ }
+ {
+ \bool_set_true:N \setlatin_ital_process
+ }
+ }
+ {
+ \tl_clear:N \latin_base_font_name
+ \tl_set:Nn \latin_regu_font_name { #3 }
+
+ \IfValueTF { #4 }
+ {
+ \tl_set:Nn \latin_bold_font_name { #4 }
+ \bool_set_false:N \setlatin_bold_process
+ }
+ {
+ \bool_set_true:N \setlatin_bold_process
+ }
+
+ \IfValueTF { #5 }
+ {
+ \tl_set:Nn \latin_ital_font_name { #5 }
+ \bool_set_false:N \setlatin_ital_process
+ }
+ {
+ \bool_set_true:N \setlatin_ital_process
+ }
+
+ }
+
+ \tl_if_eq:nnTF { #1 } { mono }
+ {
+ \bool_set_true:N \latin_mono_mode
+ }
+ {
+ \bool_set_false:N \latin_mono_mode
+ }
+
+ \bool_if:nTF \latin_mono_mode
+ {
+ \tl_clear:N \latin_feature
+ }
+ {
+ \tl_set:Nn \latin_feature { Ligatures=TeX, }
+ }
+
+ \bool_if:nF \setlatin_bold_process
+ {
+ \tl_put_right:Nn \latin_feature {
+ BoldFont = { \latin_bold_font_name },
+ }
+ }
+
+ \bool_if:nF \setlatin_ital_process
+ {
+ \tl_put_right:Nn \latin_feature {
+ ItalicFont = { \latin_ital_font_name },
+ }
+ }
+
+ \IfValueT { #6 }
+ {
+ \tl_put_right:Nn \latin_feature { #6 }
+ }
+
+ \cs:w set #1 font \cs_end:
+ [ \latin_feature ]
+ { \latin_regu_font_name }
+
+}
+
+\ExplSyntaxOff
+
+%%% starred version commands are provided for backward compatibility.
+\protected\def\setkormainfont{%
+ \@ifstar{\setkorfontorigstar*{main}}{%
+ \@ifnextchar[{\setkorfontorigmethod{main}}{\setkorfont{main}}}}
+\protected\def\setkorsansfont{%
+ \@ifstar{\setkorfontorigstar*{sans}}{%
+ \@ifnextchar[{\setkorfontorigmethod{sans}}{\setkorfont{sans}}}}
+\protected\def\setkormonofont{%
+ \@ifstar{\setkorfontorigstar*{mono}}{%
+ \@ifnextchar[{\setkorfontorigmethod{mono}}{\setkorfont{mono}}}}
+
+%%% newly defined commands:
+%%% \setkomainfont[BASENAME](Regu)(Bold)(Ital)[Feature]%
+%%% [HJBASENAME](HJREGU)(HJBOLD)(HJITAL)[HJFeatures]
+%%% no spaces allowed between optional arguments, e.g., [...]*nospace*[...]
+\protected\def\setkomainfont{\setkorfontxob{main}}
+\protected\def\setkosansfont{\setkorfontxob{sans}}
+\protected\def\setkomonofont{\setkorfontxob{mono}}
+
+%%% \setobmainfont(regu)[features] = \setmainfont[features]{regu}
+\protected\def\setobmainfont{\setxoblatinfont{main}}
+\protected\def\setobsansfont{\setxoblatinfont{sans}}
+\protected\def\setobmonofont{\setxoblatinfont{mono}}
+
+%%% [unfonts] will be deprecated shortly.
+\if@unfont
+ \if@gremph
+ \setkomainfont(UnBatang.ttf)(UnBatangBold.ttf)(UnGraphic.ttf)[Script=Hangul]%
+ (UnBatang.ttf)(UnBatangBold.ttf)(UnBatang.ttf)[Script=Hangul]
+ \else
+ \setkomainfont(UnBatang.ttf)(UnBatangBold.ttf)(UnBatang.ttf)[Script=Hangul]
+ \fi
+ \setkosansfont[UnDotum](.ttf)(Bold.ttf)(.ttf)
+ \setmonoscale{1.05}
+ \setkomonofont(UnTaza.ttf)
+\fi
+
+\if@nanumfonts
+ \if@nanumxfonts
+ \setkomainfont(NanumMyeongjo)(*ExtraBold)(*)[](NanumGothic)(*Bold)
+ \else
+ \setkomainfont(NanumMyeongjo)(*Bold)(*)[](NanumGothic)(*Bold)
+ \fi
+ \setkosansfont(NanumGothic)(*Bold)(*)
+ \setkomonofont(NanumGothic)
+\fi
+
+%%% [hcr] adds [Script=Hangul] feature automatically.
+\if@hcrfonts
+ \setkomainfont(HCRBatangLVT)(*-Bold)(*)
+ \setkosansfont(HCRDotumLVT)(*-Bold)(*)
+ \setkomonofont(HCRDotumLVT)
+\fi
+
+\endinput
+
+%%% end of file `xob-font.sty`
+%% CHANGES
+%% v0.6 : HCR auto insert Script=Hangul, HAN disabled
+%% v0.5 : [nanum] sets Bold, [nanumx] sets ExtraBold for NanumMyeongjo
+%% v0.4 : hangul_bold_exist && hanja_bold_no_exist bug fixed.
+%% v0.3 : \setobmainfont ( = \setmainfont ) introduced.
+%% v0.2 : do not insert [ Ligatures=TeX ] in mono_mode
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-paralist.sty b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-paralist.sty
index d090882ab20..534d2b80663 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-paralist.sty
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/memhangul-x/xob-paralist.sty
@@ -13,7 +13,10 @@
%% paralist,
%%
\@ifpackageloaded{paralist}{}{\RequirePackage{paralist}}
-\makeatletter
+\RequirePackage{iftex}
+\ifPDFTeX
+ \RequirePackage{dhucs-paralist}
+\else
\def\pl@loop@{%
\ifx 가\pl@temp \def\@tempa{\pl@label\gana }\else
\ifx ㈎\pl@temp \def\@tempa{\pl@label\pgana }\else
@@ -41,6 +44,5 @@
\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\@tempa}
-\makeatother
-
+\fi
\endinput
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-base.cls b/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-base.cls
index 48950391112..dcd3ff77576 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-base.cls
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-base.cls
@@ -1,6 +1,6 @@
%% File `oblivoir.cls`
%%
-%% (C) Copyright 2006-2013 Kangsoo Kim <karnes at ktug org>
+%% (C) Copyright 2006-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,7 +11,7 @@
%% version 2006/05/20 or later.
%%
\ProvidesClass{oblivoir-base}
- [2013/10/26 v0.4.3 article-like class to typeset UTF-8 korean using memoir.]
+ [2014/06/12 v0.6 article-like class to typeset UTF-8 korean using memoir.]
%\typeout{oblivoir requires memoir, dhucs, and memhangul. 2008/10/23.}
%%% Acknowledgements:
@@ -94,15 +94,19 @@
\DeclareOptionX{figtabcapt}[]{\PassOptionsToPackage{\CurrentOption}{memhangul-ucs}}
%%% 2013-09-26
-\newif\if@unfonts\@unfontsfalse
-\DeclareOptionX{unfonts}{\@unfontstrue}
-\DeclareOptionX{nounfonts}{\@unfontsfalse}
-\DeclareOptionX{nanum}{\@unfontsfalse}
+%%% disabled option unfonts/nounfonts, 2014-06-13
+\newif\if@unfont\@unfontfalse
+\DeclareOptionX{unfonts}{\@unfonttrue}
+\DeclareOptionX{nounfonts}{\@unfontfalse}
+\DeclareOptionX{nanum}{\@unfontfalse}
\DeclareOptionX{uset1font}{\PassOptionsToPackage{\CurrentOption}{nanumfontsel}}
\DeclareOptionX{cjk}{\PassOptionsToPackage{\CurrentOption}{memhangul-ucs}}
\DeclareOptionX{dhucs}{\PassOptionsToPackage{\CurrentOption}{memhangul-ucs}}
+%%% Disabled Options
+\DeclareOptionX{hcr}{} % do nothing
+
\newif\if@AMSmath\@AMSmathfalse
\DeclareOptionX{amsmath}{\@AMSmathtrue}
@@ -180,7 +184,7 @@
%%% korean fontsettings
\ifnokorean\else
- \if@unfonts
+ \if@unfont
\RequirePackage{hfontsel}
\usehangulfontspec{obut}
\else
@@ -214,7 +218,7 @@
\if@itemph\else
\ifnokorean\else
% \ifpdf
- \if@unfonts
+ \if@unfont
\SetGremphFonts{outgr}{outgt}
\else
\SetGremphFonts{nanumgt}{nanumgt}
@@ -302,15 +306,15 @@
\renewcommand\chaptitlefont{\Large\bfseries}
\renewcommand\printchapternonum{}
\renewcommand\printchaptertitle[1]{\chaptitlefont #1}
-\renewcommand\afterchapskip{\onelineskip}
-\renewcommand\beforechapskip{1.5\onelineskip}
+\setlength\afterchapskip{\onelineskip}
+\setlength\beforechapskip{1.5\onelineskip}
\fi
-\renewcommand\cftsectionindent{0pt}
+\setlength\cftsectionindent{0pt}
\ifnokorean\else
-\renewcommand\cftsectionnumwidth{1.8em}
-\renewcommand\cftsubsectionindent{1.8em}
-\renewcommand\cftsubsectionnumwidth{2.5em}
+\setlength\cftsectionnumwidth{1.8em}
+\setlength\cftsubsectionindent{1.8em}
+\setlength\cftsubsectionnumwidth{2.5em}
\fi
\if@chapter\else
\let\cftchapterindent\cftsectionindent
@@ -520,6 +524,8 @@
\endinput
%%% ChangeLog:
+%%% ver0.6 2014/06/12 : introduce new xob-font.sty
+%%% ver0.5 2014/06/06 : replace \renewcommand's with \setlength's.
%%% ver0.4.3 2013/10/26 : move \kscntformat definition to memhangul-ucs
%%% ver0.4.2 2013/10/03 : fix a typo.
%%% ver0.4.1 2013/09/26 : [moreroom] thanks to Juho.Lee
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-xlua.cls b/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-xlua.cls
index 01b7d0a0757..21299498c23 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-xlua.cls
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/oblivoir-xlua.cls
@@ -1,6 +1,6 @@
%% File `oblivoir-xlua.cls`
%%
-%% (C) Copyright 2006-2013 Kangsoo Kim <karnes at ktug org>
+%% (C) Copyright 2006-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -14,7 +14,7 @@
%% depends upon Dohyun Kim's xetexko and the author's memhangul-x.
%%
\ProvidesClass{oblivoir-xlua}
- [2013/09/01 v0.4.5 article-like class to typeset UTF-8 korean using memoir.]
+ [2014/06/12 v0.7 article-like class to typeset UTF-8 korean using memoir.]
\typeout{A variant of oblivoir class for Lua- or XeLaTeX.}
\providecommand\@DisabledOption[1]{%
@@ -48,7 +48,7 @@
\DeclareOptionX{footnote}{\@koreanfntrue}
\newif\if@toclofentry\@toclofentryfalse
\DeclareOptionX{tocentry}{\@toclofentrytrue}
-\newif\if@itemph\@itemphfalse
+%\newif\if@itemph\@itemphfalse
\DeclareOptionX{itemph}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
\DeclareOptionX{gremph}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
\newif\if@chapter\@chapterfalse
@@ -80,9 +80,10 @@
\DeclareOptionX{preloadoption}[]{\def\PRELOADoptstr{#1}}
%% [nounfonts]
-\newif\if@unfonts\@unfontstrue
\DeclareOptionX{unfonts}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
\DeclareOptionX{nounfonts}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
+\DeclareOptionX{nanum}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
+\DeclareOptionX{hcr}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
\DeclareOptionX{figtabcapt}{\PassOptionsToPackage{\CurrentOption}{memhangul-x}}
@@ -148,21 +149,6 @@
\RequirePackage{ifluatex}
\RequirePackage{ifxetex}
-%%% ifluaorxetex.sty
-%\RequirePackage{iftex}
-%
-%\newif\ifLuaOrXeTeX
-%\ifXeTeX\global\LuaOrXeTeXtrue
-% \else\ifLuaTeX\global\LuaOrXeTeXtrue
-% \else\global\LuaOrXeTeXfalse
-%\fi\fi
-
-\ifx\XeTeX\undefined
- \def\Xe{X\kern-.0833em\lower.5ex\hbox{\reflectbox{E}}}
- \def\XeTeX{\Xe\kern-.1667em\TeX}
- \def\XeLaTeX{\Xe\kern-0.0833em\LaTeX}
-\fi
-
%%\RequirePackage{comment}
%%\def\finemath@status{}
@@ -255,15 +241,15 @@
\renewcommand\chaptitlefont{\Large\bfseries}
\renewcommand\printchapternonum{}
\renewcommand\printchaptertitle[1]{\chaptitlefont #1}
-\renewcommand\afterchapskip{\onelineskip}
-\renewcommand\beforechapskip{1.5\onelineskip}
+\setlength\afterchapskip{\onelineskip}
+\setlength\beforechapskip{1.5\onelineskip}
\fi
-\renewcommand\cftsectionindent{0pt}
+\setlength\cftsectionindent{0pt}
\ifnokorean\else
-\renewcommand\cftsectionnumwidth{1.8em}
-\renewcommand\cftsubsectionindent{1.8em}
-\renewcommand\cftsubsectionnumwidth{2.5em}
+\setlength\cftsectionnumwidth{1.8em}
+\setlength\cftsubsectionindent{1.8em}
+\setlength\cftsubsectionnumwidth{2.5em}
\fi
\if@chapter\else
\let\cftchapterindent\cftsectionindent
@@ -464,6 +450,8 @@
\endinput
%%% ChangeLog:
+%%% 2014-06-12 : introduce new xob-font.sty
+%%% 2014-06-06 : replace false \renewcommand with \setlength
%%% 2013-10-26 : moved \kscntformat definition to memhangul.
%%% 2013-09-12 : integrate ifluaorxetex.sty
%%% 2013-09-01 : [cjk], [dhucs] option introduced.
diff --git a/Master/texmf-dist/tex/latex/kotex-oblivoir/xoblivoir.cls b/Master/texmf-dist/tex/latex/kotex-oblivoir/xoblivoir.cls
index 1723b2beada..f7afbac9044 100644
--- a/Master/texmf-dist/tex/latex/kotex-oblivoir/xoblivoir.cls
+++ b/Master/texmf-dist/tex/latex/kotex-oblivoir/xoblivoir.cls
@@ -1,6 +1,6 @@
%% File `xoblivoir.cls`
%%
-%% (C) Copyright 2006-2013 Kangsoo Kim <karnes at ktug org>
+%% (C) Copyright 2006-2014 Kangsoo Kim <karnes at ktug org>
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -10,7 +10,7 @@
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2006/05/20 or later.
%%
-\ProvidesClass{xoblivoir}[2013/10/26]
+\ProvidesClass{xoblivoir}[2014/06/12]
\RequirePackage{xkeyval}
@@ -36,14 +36,18 @@
\ifLuaOrXeTeX
\LoadClassWithOptions{oblivoir-xlua}
-\typeout{HANGUL DRIVER: xetexko/luatexko running}
+ \ifLuaTeX
+ \typeout{HANGUL DRIVER: luatexko}
+ \else
+ \typeout{HANGUL DRIVER: xetexko}
+ \fi
\else
\if@CJK
\LoadClassWithOptions{oblivoir-xlua}
- \typeout{HANGUL DRIVER: cjk-ko running}
+ \typeout{HANGUL DRIVER: cjk-ko}
\else
\LoadClassWithOptions{oblivoir-base}
- \typeout{HANGUL DRIVER: dhucs running}
+ \typeout{HANGUL DRIVER: kotex-utf}
\fi
\fi