From 13fcaca376a969f57a6a787cf479949ee2f2fc5f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 8 Sep 2022 03:02:02 +0000 Subject: CTAN sync 202209080301 --- .../korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex | 146 +++++++++++++++++---- 1 file changed, 120 insertions(+), 26 deletions(-) (limited to 'language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.tex') 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={}|. 식자할 폰트를 지정한다. 이 옵션이 주어지지 않으면 문서의 mainfont (\koTeX\ 패키지의 -경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를 -보라. +경우는 mainhangulfont)를 따른다. 지정할 수 있는 폰트에 대해서는 \ref{sec:font} \titleref{sec:font}\를, 이 옵션에 대한 설명은 \ref{font:set}\를 보라. +\item \verb|pmfontfeagure=|. +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{}{jamo text} +\end{boxedverbatim} + +\texttt{}은 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{}부록} 이 문서의 한글과 한자 부분에 다음과 같은 폰트를 사용하였다. 모두 설치되어 있어야 컴파일할 수 있다. -- cgit v1.2.3