summaryrefslogtreecommitdiff
path: root/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex')
-rw-r--r--language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex146
1 files changed, 120 insertions, 26 deletions
diff --git a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
index f152aa5b5a..7faa9e3822 100644
--- a/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
+++ b/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex
@@ -16,12 +16,15 @@
\usepackage{kotex-logo}
\usepackage{amssymb}
-\usepackage{pmhanguljamo}
+\usepackage[pmfont={Noto Serif KR}]{pmhanguljamo}
\usepackage{boxedminipage}
\usepackage{tabularray}
+\usepackage{oblivoir-misc}
+
\ifXeTeX
\def\fontfeatureoption{Script=Hangul}
+\usepackage[normalem]{ulem}
\else\ifLuaTeX
\def\fontfeatureoption{Script=Hangul,RawFeature={mode=harf}}
\fi\fi
@@ -30,16 +33,16 @@
\setmainfont{Noto Serif}
\setsansfont{Noto Sans}
\setmonofont{Noto Sans Mono}
-\setsansfont{Noto Sans KR}[\fontfeatureoption]
-\setkomainfont(Noto Serif KR)(* Bold)(Noto Sans KR Light)[\fontfeatureoption]
-\setkosansfont(Noto Sans KR)(* Bold)[\fontfeatureoption]
+\setsansfont{Noto Sans KR}%[\fontfeatureoption]
+\setkomainfont(Noto Serif KR)(* Bold)(Noto Sans KR Light)%[\fontfeatureoption]
+\setkosansfont(Noto Sans KR)(* Bold)%[\fontfeatureoption]
\setkomonofont(Noto Sans Mono CJK KR)
\usepackage{tcolorbox}
\tcbuselibrary{listings,breakable}
\tcbset{listing engine=listings,colframe=gray,colback=white,size=normal}
\NewDocumentEnvironment {exampleside} {}
- { \tcblisting{listing side text,righthand width=.38\textwidth} }
+ { \tcblisting{listing side text,righthand width=.37\textwidth} }
{ \endtcblisting }
\newcommand\pkg[1]{%
@@ -71,19 +74,22 @@
%\date{2020/03/10\quad v0.3.5}
%\date{2021/09/20\quad v0.3.6}
%\date{2021/11/28\quad v0.4}
-\date{2022/09/02\quad v0.5}
+%\date{2022/09/02\quad v0.5}
+\date{2022/09/06\quad v0.5.1}
\maketitle
\begin{exampleside}
\begin{jamotext}
-g@/r@/mi p@/r@/ni sai de/ug h@i/o/,\\
-moy/hi pe/re/h@/ni gos bi/ci bvr bvd/n@n d@s/do/da/.\\
-ors bo/mi bon/d@in sdo di/na/ga/n@/ni \\
-e/nv na/ri i do/ra/gar h@i/o/.
+g@/r@;mi p@/r@:ni sai; de/ug; h@i;o/,\\
+moy:hi pe/re/h@/ni; gos/bi;ci bvr; bvd/n@n d@s;do/da/.\\
+ors/bo;mi bon:d@in sdo; di:na/ga;n@/ni;\\
+e/nv; na;ri i; do;ra/gar h@i;o;.
\end{jamotext}
\end{exampleside}
+\vspace{-.5\baselineskip}
+
\tableofcontents*
\section{목적}
@@ -127,15 +133,16 @@ gyeg/bun/si/ki/nvn man/haix/vr co/rai/ha/yess/v/mye/,
preamble에 위의 문장을 둔다.
-옵션은 다음 두 가지가 있다.
+옵션은 다음과 같다.
\begin{enumerate}[1.]
\item \verb|rrk| 또는 \verb|RRK|.
입력 방식이 ``표준 전자법''으로 현대 한글을 입력하는 방식으로 바뀐다. 이에 대해서는
\ref{sec:rrk}절을 보라. 옵션을 주지 않으면 \ref{sec:pmrule}절에서 설명하는 pm 입력 방식을 따른다.
\item \verb|pmfont={<fontname>}|.
식자할 폰트를 지정한다. 이 옵션이 주어지지 않으면 문서의 mainfont (\koTeX\ 패키지의
-경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를
-보라.
+경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를, 이 옵션에 대한 설명은 \ref{font:set}\를 보라.
+\item \verb|pmfontfeagure=<fontfeature>|.
+pmfont 옵션으로 지정하는 폰트에 추가 속성을 부여하려 할 때. \ref{font:set}\을 보라.
\end{enumerate}
\subsection{명령과 환경}
@@ -252,6 +259,50 @@ vr yu/do/ha/ye bo/ja/.
\jmcc{BSG} \jmcc{@} \jmcc{UEY} \jmcc{@@}
\end{exampleside}
+\subsection{밑줄 긋기}
+
+\leavevmode\marginpar{\fbox{\footnotesize v0.5.1}}%
+밑줄을 긋는 명령 \cmda{\underline}의 인자로 \cs{jamoword}가 오는 것은 문제가 없다.
+
+\begin{exampleside}
+\underline{\jamoword{mit/jur/gvs/gi}}
+\end{exampleside}
+
+그러나 이 명령은 행자르기가 이루어지지 않는다. \textsf{ulem} 패키지의 \cs{uline}을
+쓰면 이 문제를 해결할 수 있으나,
+이 패키지의 현재 버전(0.5.1)은 \textsf{ulem} 패키지와 충돌이 있다. \XeLaTeX 으로
+\koTeX 패키지를 활용하는 상황에서 \textsf{ulem}은 오류를 보이거나 의도하지 않은 결과를
+산출할 것이다. (RRK 입력 방법에서도 동일하다.)
+
+Lua\LaTeX, 즉 \textsf{luatexko}를 이용하는 경우에는 \textsf{ulem} 없이도 ulem 명령들,
+\verb|\uline| 등을 사용할 수 있으며 이 경우에는 에러 없이 잘 동작한다. 그러므로
+\cs{uline}과 같은 ulem 명령을 사용하여야 한다면 Lua\LaTeX 으로 컴파일하는 것이 좋다.
+
+그러나 부득이하여 \XeLaTeX 으로 컴파일하여야 하는 경우이고 밑줄 등을 구현하여야 하는 때라면
+\cmda{\jamoul} 명령을 이용할 수 있다. 물론 \textsf{ulem} 패키지 등은 preamble에서
+선언되어 있어야 한다.\footnote{Lua\LaTeX 과 \koTeX 을 쓸 때는 \textsf{ulem} 패키지를
+별도로 로드하지 않는다.}
+
+\begin{boxedverbatim}
+ \jamoul{<ulem command name>}{jamo text}
+\end{boxedverbatim}
+
+\texttt{<ulem command name>}은 ulem 명령의 이름을 백슬래시 없이 지정한다는 뜻이다.
+다음 예를 보라.
+
+\begin{exampleside}
+\jamoul{uline}{ye/hvi/ye/syu/mvr svr/ho/ni sai}
+\jamoul{uwave}{m@/@/m@r}
+\jamoword{nor/rai/no/ra}
+\end{exampleside}
+
+%\textsf{oblivoir-misc}의 \cmda{\texthl}도 같은 방법으로 할 수 있다:
+%\verb|\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}|
+%\jamoul{texthl}{nuns/mvr/r@r sbv/ri/gey/ko}
+
+\cs{jamoul}을 이용하여 밑줄을 긋는 기능은 RRK 입력방법에서는 구현되지 않았다.
+이 때에는 \textsf{luatexko}의 ulem 명령을 사용하여야 할 것이다.
+
\section{轉字 규칙} \label{sec:pmrule}
이 패키지는 아래에서 설명하는 바 독특한 입력 문자 대응 규칙을 정의하여 쓴다. 이 방법을
@@ -284,8 +335,8 @@ vr yu/do/ha/ye bo/ja/.
\medskip
\begin{exampleside}
-\jamoword{naix:jyuq/ G/ so/ri;n@n;}\\
-\jamoword{naix:jyuq G so/ri;n@n;}
+\jamoword{moi/koa/ g@/r@m/sbun/ is/go/}\\
+\jamoword{moi/koa g@/r@m/sbun is/go}
\end{exampleside}
스페이스 앞에서 \verb|/|를 생략할 수 있음과 관련하여 스페이스가 아니라면 생략할 수 없음에 주의하라. 예컨대 마침표와 같은 문장부호가 올 때는 그 문장부호 앞에서 \verb|/|를 생략할 수 없다.
@@ -447,6 +498,7 @@ $\Rightarrow$ na/ras/mar/ss@/mi}
자모 조합 한글을 구현할 수 있는 몇몇 글꼴을 테스트해보겠다.
+\unusepmfont
\begin{boxedverbatim}
sa:r@m/ma:da; h@i:xxye; su:bxi; ni/gye;
\end{boxedverbatim}
@@ -466,7 +518,7 @@ sa:r@m/ma:da; h@i:xxye; su:bxi; ni/gye;
은 바탕 \testfont{UnBatang}
-본명조 또는 Noto Serif \testfont{Noto Serif KR}
+본명조 또는 Noto Korean \testfont{Noto Serif KR}
나눔명조옛한글 \testfont{NanumMyeongjo-YetHangul.ttf}
@@ -543,7 +595,9 @@ Adobe 명조 \testfont{AdobeMyungjoStd-Medium.otf}
\fi
-\subsection{폰트의 지정}
+\usepmfont
+
+\subsection{폰트의 지정}\label{font:set}
\paragraph{Script Hangul Option}
@@ -590,7 +644,44 @@ mainfont로 식자할 것인지, 또는 별도의 폰트를 \cmda{\newfontfamily
옵션 \verb|pmfont={HCR Batang LVT}|는 이 두 매크로를 문서의 맨처음부터
설정하는 것과 동일하다.
-\subsection{활용 방법}
+거의 쓸 일이 있을 것으로 생각하지 않지만 자모 한글을 식자할 때 pmfont에 의하지
+않고 본문 기본 한글 글꼴(이 때 한글 글꼴에는 반드시 \texttt{Script=Hangul}이
+주어져 있어야 한다)로 식자하도록 되돌리려 할 때
+\begin{verbatim}
+ \unusepmfont
+\end{verbatim}
+를 선언할 수 있다. 본문 글꼴에 \texttt{Script=Hangul} 옵션이
+주어져 있지 않으면 다음과 같은 결과를 얻게 될 것이다.
+\unusepmfont
+\jamoword{na/ras;mar:ss@/mi;}
+\usepmfont
+
+\paragraph{패키지 옵션 pmfontfeature} \marginpar{\fbox{\footnotesize{v0.5.1}}}
+자모 한글을 식자하는 폰트(pmfont)에 추가적인 fontfeature를 부여하려면 이 옵션을
+쓸 수 있다. 다음은 \koTeX\ 한글 폰트 속성 FakeStretch를 부여한 예이다.
+
+\begin{verbatim}
+ \usepackage[pmfont={HCR Batang LVT},pmfontfeature={FakeStretch=0.9}]
+ {pmhanguljamo}
+\end{verbatim}
+
+\cmda{\setpmhangulfont} 명령의 옵션으로 fontfeature를 부여할 수도 있다.
+
+\begin{verbatim}
+ \setpmhangulfont{Noto Serif KR}[FakeStretch=0.9]
+\end{verbatim}
+
+이미 부여한 속성을 기본값으로 되돌리려면 \cmda{\setpmhangulfont}를 옵션 없이
+선언하여야 한다.
+
+\begin{exampleside}
+\setpmhangulfont{HCR Batang LVT}[Color=blue,FakeStretch=0.8]
+\jamoword{moi/koa g@/r@m/sbun is/go}\\
+\setpmhangulfont{Noto Serif KR}
+\jamoword{moi/koa g@/r@m/sbun is/go}
+\end{exampleside}
+
+\subsection{활용}
특정 언어 패키지나 입력기의 제약 없이 한글 글꼴을 지정하는 것만으로
현대 한글과 옛한글을 모두 표현할 수 있다는 것이 \pkg{pmhanguljamo}의 장점이다.
@@ -737,7 +828,6 @@ na/ras/mar/ss@/mi
\end{jamotext}
\end{quote}
-
\section{표준 로마자 표기법 전자법 입력}\label{sec:rrk}
\let\Ajamoword\jamoword
@@ -834,7 +924,7 @@ RRK는 이 문서의 영어 명칭인 \emph{Revised Romanization of Korean}의
\begin{boxedverbatim}
\begin{verse}
\begin{jamotext}
-nae saranghali siwol-ui gangmul-eul \\
+nae salanghali siwol-ui gangmul-eul \\
seog-yang-i jit-eoganeun puleun molaetob \\
jinan nal gajyeossdeon seulpeun yeojeongdeul-eul, adeughan gidaeleul \\
ijeneun hollo nam-a ttatteus-i gidalili.
@@ -844,7 +934,7 @@ ijeneun hollo nam-a ttatteus-i gidalili.
\begin{verse}
\begin{jamotext}
-nae saranghali siwol-ui gangmul-eul \\
+nae salanghali siwol-ui gangmul-eul \\
seog-yang-i jit-eoganeun puleun molaetob \\
jinan nal gajyeossdeon seulpeun yeojeongdeul-eul, adeughan gidaeleul \\
ijeneun hollo nam-a ttatteus-i gidalili.
@@ -959,10 +1049,12 @@ Kubuntu 리눅스에서 옛한글이 사용되는 문서를 작성할 일이 있
QT에서 뭔가 이상하게 동작하거나 아예 한글 입력이 안 되거나\ldots\ldots.
\LaTeX\ 문서인데 굳이 입력기가 필요한가 생각이 들어 간단히 로마자 대응 입력(transliteration)으로 한글과 옛한글을
입력하도록 하면 이 문제로 시간낭비하지 않아도 되지 않을까 싶어 시작하게 된 일이었다.
-(그리고 입력기 설치보다 더 많은 시간과 \jamotextcmd{ke}\jamotextcmd{xpi}--\footnote{이 표기를
-이태준 (1940), \ccnm{文章講話} (경성 종로, 文章社), p.~23에서 보았다. `\jamotextcmd{pxi}'가
-아니라 `\jamotextcmd{xpi}'이다. 부록의 \fref{fig:mun} 참조.
-인쇄 상태로 미루어보면 `\jamotextcmd{xpi}'자 활자가 있었던 것 같지는 않고 `피'를 식자한 후에 왼편에
+(그리고 입력기 설치보다 더 많은 시간과 {\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{ke}\jamotextcmd{xpi}}--\footnote{이 표기를
+이태준 (1940), \ccnm{文章講話} (경성 종로, 文章社), p.~23에서 보았다. `{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{pxi}}'가
+아니라
+`{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{xpi}}'이다. 부록의 \fref{fig:mun} 참조.
+인쇄 상태로 미루어보면
+`{\hangulfontspec{Noto Serif KR}[Script=Hangul]\jamotextcmd{xpi}}'자 활자가 있었던 것 같지는 않고 `피'를 식자한 후에 왼편에
조그마한 고리를 달아 인쇄한 것으로 보인다.
한편, 정약용의 원본에 지석영이 영어 단어와 음을 붙여 발행했다고 하는 \ccnm{아학편} (1909)에서도 이와 같은 표기법이 쓰이고 있다.}%
를 소비하였다.)
@@ -1030,6 +1122,8 @@ Expl3는 내가 원하는 일을 너무나 간단하게 구현할 수 있게 해
\textbullet\ v0.5 (2022/09/02): 패키지 옵션 \texttt{pmfont} 추가. jamotext 환경
내에서 아스키 에스케이핑.
+
+\textbullet\ v0.5.1 (2022/09/06): 버그 수정 및 ulem. 패키지 옵션 \texttt{pmfontfeature}.
%%% APPENDICES
\ExplSyntaxOn
\int_new:N \l_appsec_int
@@ -1046,7 +1140,7 @@ Expl3는 내가 원하는 일을 너무나 간단하게 구현할 수 있게 해
\newpage
\section*{부록 \appsec. 이 문서 컴파일에 필요한 폰트}
-\addcontentsline{toc}{section}{\string\hspace{1.8em}부록}
+\addcontentsline{toc}{section}{\protect\numberline{}부록}
이 문서의 한글과 한자 부분에 다음과 같은 폰트를 사용하였다.
모두 설치되어 있어야 컴파일할 수 있다.