From d6b2eaba6fe47c24603040934903c73535ff09ba Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 11 Jun 2021 03:00:56 +0000
Subject: CTAN sync 202106110300

---
 macros/luatex/generic/luatexko/luatexko-doc.tex | 179 +++++++++++++++++-------
 1 file changed, 125 insertions(+), 54 deletions(-)

(limited to 'macros/luatex/generic/luatexko/luatexko-doc.tex')

diff --git a/macros/luatex/generic/luatexko/luatexko-doc.tex b/macros/luatex/generic/luatexko/luatexko-doc.tex
index d23b010e8f..9153b572ed 100644
--- a/macros/luatex/generic/luatexko/luatexko-doc.tex
+++ b/macros/luatex/generic/luatexko/luatexko-doc.tex
@@ -41,7 +41,6 @@
   }
 }
 \defaultfontfeatures+{Renderer=HarfBuzz}
-\setmainfont{Latin Modern Roman}[Expansion] % for hb tlig
 \setmainhangulfont{Noto Serif CJK KR}[
   Scale=0.98,
   AutoFakeSlant,
@@ -50,9 +49,9 @@
   UprightFont=* Light,
   BoldFont=* Bold,
   InterLatinCJK=.125em,
+  CompressPunctuations,
   Expansion, Protrusion=notoserifcjk,
 ]
-\setsansfont{Latin Modern Sans}
 \setsanshangulfont{Noto Sans CJK KR}[
   Scale=0.98,
   Script=Hangul,
@@ -74,7 +73,8 @@
   CharRaise=-.125ex,
   Color=MidnightBlue,
 ]
-\setmathhangulfont{Noto Sans CJK KR}[
+\setmathhangulfont{Noto Sans CJK KR}
+[
   Script=Hangul,
   Language=Korean,
   SizeFeatures={
@@ -110,7 +110,7 @@
 \AddToHook{env/itemize/begin}{\small}
 \AddToHook{env/verbatim/begin}{\linespread{1.1}}
 
-\catcode`|=13 \protected\def|{\verb|\let\\=\textbackslash}
+\catcode`|=13 \protected\def|{\verb|\let\\=\textbackslash} %|
 \def\nohyphen{\language\csname l@nohyphenation\endcsname}
 \protected\def\cs#1{\texttt{\nohyphen \textbackslash\detokenize{#1}}}
 \protected\def\pkgkwd#1#{\leavevmode
@@ -125,6 +125,14 @@
 \def\kotex{\logoko\kern-.1ex .\kern-.1667em \TeX}
 \def\hemph#1{\textsf{\bfseries #1}}
 \def\ldots{$\dots$}
+\newenvironment{plaintex}{%
+  \par\bigskip
+  \begin{narrower}\small\parindent=0pt
+  \leavevmode\llap{\color{gray}plain \TeX\quad}\ignorespaces
+}{
+  \par
+  \end{narrower}%
+}
 
 \widowpenalty5000
 \clubpenalty5000
@@ -134,7 +142,7 @@
 \author{Dohyun Kim \normalsize |<nomos at ktug org>| \and
         Soojin Nam \normalsize |<jsunam at gmail com>| \and
   \normalsize <\url{http://github.com/dohyunkim/luatexko}>}
-\date{Version 3.1\quad 2021/04/20}
+\date{Version 3.2\quad 2021/06/10}
 \maketitle
 
 \begin{quote}
@@ -181,13 +189,7 @@ fontspec 문서 참조.
 첫 두 줄, 즉 main/sans 글꼴들에는 |Ligatures=TeX| 옵션이 자동으로 주어진다.%
 \footnote{%
   \cs{adhochangulfont} \cs{adhochanjafont} \cs{addhocfallbackfont}는
-  마지막 줄 명령들의 다른 이름들이다. }\,%
-\footnote{%
-  플레인텍에서 한글 글꼴 설정은 다음과 같이 한다:\par
-  \leftskip=3em\noindent
-  \cs{hangulfont=UnDotum\relax}\\
-  \cs{hanjafont=UnDotum at 14pt}\\
-  \cs{fallbackfont=HanaMinB at 12pt} }
+  마지막 줄 명령들의 다른 이름들이다. }
 \begin{verbatim}
   \setmainhangulfont     \setmainhanjafont    \setmainfallbackfont
   \setsanshangulfont     \setsanshanjafont    \setsansfallbackfont
@@ -198,6 +200,27 @@ fontspec 문서 참조.
   \hangulfontspec        \hanjafontspec       \fallbackfontspec
 \end{verbatim}
 
+\begin{plaintex}
+  플레인텍에서 한글 글꼴 설정은 다음과 같이 할 수 있다:
+\begin{verbatim}
+    \hangulfont=UnDotum\relax
+    \hanjafont="Noto Sans CJK KR" at 10pt
+    \fallbackfont=HanaMinA at 10pt
+\end{verbatim}
+
+  v3.2부터는 한글폰트의 기본값으로 \hemph{은바탕}을 로드한다.
+  또한 다음 명령들도 제공한다:
+\begin{verbatim}
+    \sethangulfont\taza=UnTaza at 12pt
+    \sethanjafont\dotum=UnDotum at 12pt
+    \setfallbackfont\noto={Noto Sans CJK KR} at 12pt
+\end{verbatim}
+  그리하여 다음처럼 지시할 수 있게 된다:
+\begin{verbatim}
+    \expandafter\def\expandafter\tt\expandafter{\tt\taza\dotum\noto}
+\end{verbatim}
+\end{plaintex}
+
 \section{글꼴 대체}\label{sec:fontswitch}
 
 원칙적으로 \luatexko는 지시된 글자가 영문폰트에 없으면 한글폰트에서,
@@ -219,15 +242,15 @@ fontspec 문서 참조.
 |0|을 지시해야 이 기능이 비로소 꺼진다.
 verbatim 코드를 식자할 때는 이 기능이 작동하지 않으며,%
 \footnote{%
-  정확히 말하자면 |\\language=\\l@nohyphenation|, 즉 하이프네이션이
-  허용 안 되는  상황에서는 작동하지 않는다.
+  정확히 말하자면 |\\language=\\l@nohyphenation| (플레인텍에서는 |\\language=-1|인 경우),
+  즉 하이프네이션이 허용 안 되는  상황에서는 작동하지 않는다.
   부연하건대, |\\language=\\l@nohyphenation| 상황에서 작동하지 않는
   그밖의 기능은 다음과 같다: 줄바꿈 허용, InterCharacter, InterHangul,
   InterLatinCJK, CompressPunctuations, RemoveClassicSpaces,
   한글^^b7한자 폰트 문자 다음의 공백 크기 조정 등. 마지막의
   한글^^b7한자 다음의 공백 크기 조정은 영문자가 고정폭 글꼴일 때에도
   작동하지 않는다. }
-문장부호가 고정폭 글꼴일 때에도 작동하지 않는다.
+문장부호가 고정폭 글꼴이거나 tfm 폰트일 때에도 작동하지 않는다.
 영향 받는 문장부호들의 기본값은 다음과 같다:
 \begin{verbatim}
   [0x21]    !    [0x27]    '   [0x28]    (   [0x29]    )
@@ -374,7 +397,9 @@ fontspec의 글꼴 옵션 외에 \luatexko가 따로 제공하는 것들이 있
   |Vertical=HalfMetrics|와 거의 같은 기능을 한다.%
   \footnote{%
     플레인텍에서는 각각 |+halt| 및 |+vhal|이다. 이들과 완전 동일하진
-    않다. 가령 U+3002 (\char"3002) 처리의 경우.}
+    않다. 가령 U+00B7\;(^^b7)의 경우 및 고문헌조판 모드에서
+    U+2018\;(^^^^2018) U+2019\;(^^^^2019) U+201C\;(^^^^201c) U+201D\;(^^^^201d)
+    처리의 경우.}
 
 \item[Protrusion] \pkgkwd*{Protrusion}%
   특정 글자가 행 끝에 왔을 때 판면 바깥으로 끌어내는
@@ -417,12 +442,16 @@ fontspec의 글꼴 옵션 외에 \luatexko가 따로 제공하는 것들이 있
   }\label{fig:gomun}
 \end{figure}
 
-고문헌 조판을 위해 \pkgkwd{typesetclassic} 환경을 제공한다.%
+고문헌 조판을 위해 \pkgkwd{typesetclassic} 환경을 제공한다.
+전처리부에 \cs{typesetclassic}을 선언할 수도 있다.%
 \footnote{%
   플레인텍에서는 (문서 전체에 적용하지 않는다면 그룹 안에서)
-  \cs{typesetclassic}을 사용한다.
+  \cs{typesetclassic}을 사용한다. }\,%
+\footnote{%
   |japanese|, |chinese|, |Schinese|, |Tchinese|, |korean| 따위의 환경은
-  지난 버전과의 호환성을 위해 당분간 제공되고 있을 뿐이다. }
+  지난 버전과의 호환성을 위해 제공되고 있을 뿐이다.
+  그렇더라도 중국어나 일본어 폰트를 사용한다면 이들 환경을 사용하는 것이 좋다.
+  |chinese|는 |Schinese|와 동의어이다. }
 그림~\ref{fig:gomun} 참조.
 
 v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나오더라도 자동으로
@@ -464,6 +493,13 @@ v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나
 세로쓰기에서 |CharRaise| 옵션의 효과에 대해서는 제\ref{sec:fontoption}절을
 참조.
 
+문서의 일부를 세로쓰기하려면
+|\begin{|\pkgkwd{vertical}|}{<dimen>}| \ldots\ |\end{vertical}|
+환경을 이용한다. 인자 |<dimen>|으로 세로쓰기 박스의 높이를 지시한다.
+그림~\ref{fig:vertical},~\ref{fig:vertical3} 및 \ref{fig:vertical2} 참조.
+만약 인자가 비어있거나 \cs{empty}이면 본문을 한 줄짜리 박스로 식자하며,
+이때 높이는 natural height가 된다.
+
 \begin{figure}
   \fboxsep=5pt
   \framebox[\linewidth]{
@@ -472,7 +508,9 @@ v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나
       \hunmintxt
     \end{vertical}
   }
-  \caption{세로쓰기의 예. 박스 높이 |20em|을 지시했다.}\label{fig:vertical}
+  \caption{세로쓰기의 예. 박스 높이 |20em|을 지시했다.
+    아직 HarfBuzz 모드를 쓸 수 없으므로 폰트에 |Renderer=Node| 옵션을 명시했다.
+    }\label{fig:vertical}
 \end{figure}
 
 \begin{figure}
@@ -494,24 +532,6 @@ v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나
   }\label{fig:vertical3}
 \end{figure}
 
-문서의 일부를 세로쓰기하려면
-|\begin{|\pkgkwd{vertical}|}{<dimen>}| \ldots\ |\end{vertical}|
-환경을 이용한다. |<dimen>|으로 세로쓰기 박스의 높이를 지시한다.%
-\footnote{%
-  플레인텍에서는 \cs{vertical{<dimen>}} \ldots\ \cs{endvertical}. }
-그림~\ref{fig:vertical},~\ref{fig:vertical3} 및 \ref{fig:vertical2} 참조.
-
-문서 전체를 세로쓰기한다면 이 환경을 쓰는 대신
-\pkgkwd{\verticaltypesetting} 명령을 전처리부에 선언한다.
-이때 면주는 가로로 식자되며 면주 폰트의 설정은 사용자의 몫이다.
-
-세로쓰기 도중에 문서의 일부를 가로쓰기하려면
-|\begin{|\pkgkwd{horizontal}|}{<dimen>}| \ldots\ |\end{horizontal}|
-환경을 이용한다. |<dimen>|은 가로쓰기 박스의 너비를 지시한다.%
-\footnote{%
-  플레인텍에서는 \cs{horizontal{<dimen>}} \ldots\ \cs{endhorizontal}. }
-가로쓰기 영역의 폰트 설정은 사용자의 몫이다.
-
 \begin{figure}
   \fboxsep=5pt
   \framebox[\linewidth]{
@@ -541,6 +561,33 @@ v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나
   }\label{fig:vertical2}
 \end{figure}
 
+문서 전체를 세로쓰기한다면 이 환경을 쓰는 대신
+\pkgkwd{\verticaltypesetting} 명령을 전처리부에 선언한다.
+이때 면주는 가로로 식자되며 면주 폰트의 설정은 사용자의 몫이다.
+
+몇몇 페이지를 세로쓰기로 식자하려면 본문 중에
+|\begin{|\pkgkwd{verticaltypesetting}|}| \ldots\ |\end{verticaltypesetting}|
+환경을 이용한다.
+이때도 면주는 가로로 식자되며, 환경의 시작과 끝에서 쪽나눔이 행해진다.
+
+세로쓰기 도중에 문서의 일부를 가로쓰기하려면
+|\begin{|\pkgkwd{horizontal}|}{<dimen>}| \ldots\ |\end{horizontal}|
+환경을 이용한다. |<dimen>|은 가로쓰기 박스의 너비를 지시한다.
+만약 인자가 비어있거나 \cs{empty}이면 본문을 한 줄짜리 박스로 식자하며,
+이때 너비는 당연히 natural width가 된다.
+
+\begin{plaintex}
+  문서의 일부를 세로쓰기하려면 |\vertical{<dimen>}| \ldots\ |\endvertical|.
+  인자는 비워둘 수 있다.
+
+  문서 전체를 세로쓰기하려면 문서 첫머리에 \cs{verticaltypesetting}.
+
+  몇몇 페이지를 세로쓰기하려면 \cs{beginverticaltypesetting} \ldots\ \cs{endverticaltypesetting}.
+
+  세로쓰기 도중에 가로쓰기를 넣으려면 |\horizontal{<dimen>}| \ldots\ |\endhorizontal|.
+  인자는 비워둘 수 있다.
+\end{plaintex}
+
 \section{드러냄표}\label{sec:dotemph}
 
 \pkgkwd{\dotemph} 명령으로 \dotemph{드러냄표}%
@@ -575,9 +622,7 @@ v2.0부터는 고문헌 조판에서 한글^^b7한자와 영문자가 붙어 나
 \footnote{%
   플레인텍에서는 루비의 글꼴크기를 따로 조정해주지 않는다.
   사용자가 \cs{rubyfont}를 설정할 때 크기도 함께 지시하도록 한다.
-  가령:\par
-  \leftskip=3em\noindent
-  |\\font\\rubyfont=UnBatang at \\rubysize em| }
+  가령: |\\font\\rubyfont=UnBatang at \\rubysize em| }
 
 ③~|\def|\pkgkwd{\rubysep}|{0.1ex}|: 루비와 본문 글자 사이의 간격을 지정
 
@@ -635,12 +680,12 @@ ulem 패키지가 \luatexko와 궁합이 맞지 않아{\small (줄바꿈에 문
 \begin{verbatim}
    \def\ymarker{%
      \markoverwith{%
-       \hbox{{\color{yellow!50}\vrule width 1pt height 9pt depth 2pt}}%
+       \hbox{\color{yellow!50}\vrule width 1pt height 9pt depth 2pt}%
    }}
 \end{verbatim}
 
 \def\ymarker{\markoverwith{%
-  \hbox{{\color{yellow!50}\vrule width 1pt height 9pt depth 2pt}}}}
+  \hbox{\color{yellow!50}\vrule width 1pt height 9pt depth 2pt}}}
 
 \cs{ymarker{노란색을 칠해서 강조한다}}\quad$\Rightarrow$\quad
 \ymarker{노란색을 칠해서 강조한다}.
@@ -679,23 +724,26 @@ ulem 패키지가 \luatexko와 궁합이 맞지 않아{\small (줄바꿈에 문
 수식 한글 폰트를 설정하면 수식 모드에서도 한글을 {\small(hbox로 감싸지 않고)}
 직접 입력할 수 있다.%
 \footnote{%
-  플레인텍에서는 \cs{mathhangulfont=UnBatang}과 같이 설정한다.
-  또는 좀 더 그럴듯하게 하려면:\par
-  \leftskip=3em\noindent
-  |\\font\\texthangul="Noto Sans CJK KR DemiLight" at 10pt|\\
-  |\\font\\scripthangul="Noto Sans CJK KR Regular" at 7pt|\\
-  |\\font\\scriptscripthangul="Noto Sans CJK KR Medium" at 5pt|\\
-  |\\setmathhangulfonts\\texthangul\\scripthangul\\scriptscripthangul| }
+  |\\hbox|를 쓰지 않고 직접 입력하는 수식 한글이
+  \uline{디스플레이 수식} 안에 사용된 경우,
+  앞서 기술한 드러냄표 강조, 밑줄 강조, 한글 글꼴 옵션 등의 기능이 현재로는
+  전혀 작동하지 않는다.  구현은 비교적 간단하지만, 과연 수식에서
+  저러한 기능을 써야 할 경우가 있을까 의문이기 때문이다.
+  사용자의 요청이 있으면 즉시 반영하겠다.
+}
 v2.0부터는 자동으로 수식 한글을 잡아주지 않는다.%
 \pkgkwd*{\setmathhangulfont}
 \begin{verbatim}
-  \setmathhangulfont{Noto Sans CJK KR}[
+  \setmathhangulfont{Noto Sans CJK KR}
+  [
     SizeFeatures={
       {Size=-6,  Font=* Medium},
       {Size=6-9, Font=* Regular},
       {Size=9-,  Font=* DemiLight},
-    } ]
+    }
+  ]
 \end{verbatim}
+
 현재 한글만 쓸 수 있게 설정되어 있다. 한자도 수식에 직접 입력하려면 사용자는
 다음 명령으로 유니코드 블럭을 추가 지정해야 한다.%
 \pkgkwd*{\setmathhangulblock}
@@ -703,6 +751,18 @@ v2.0부터는 자동으로 수식 한글을 잡아주지 않는다.%
   \setmathhangulblock{4E00}{9FC3}
 \end{verbatim}
 
+\begin{plaintex}
+  플레인텍에서는 \cs{mathhangulfont=UnBatang}과 같이 설정한다.
+
+  또는 좀 더 그럴듯하게 하려면:
+\begin{verbatim}
+    \font\texthangul="Noto Sans CJK KR DemiLight" at 10pt
+    \font\scripthangul="Noto Sans CJK KR Regular" at 7pt
+    \font\scriptscripthangul="Noto Sans CJK KR Medium" at 5pt
+    \setmathhangulfonts\texthangul\scripthangul\scriptscripthangul
+\end{verbatim}
+\end{plaintex}
+
 \section{한국어 항목 번호}\label{sec:hangulnums}
 
 \kotex과 동일하게 항목 번호를 한국어 기호로 붙일 수 있다.%
@@ -719,7 +779,9 @@ v2.0부터는 자동으로 수식 한글을 잡아주지 않는다.%
 유사하다.%
 \footnote{%
   변환기능은 |lua-uni-algos| 패키지를 이용하므로
-  이 패키지를 설치해두어야 한다. 또한 HarfBuzz 모드에서는
+  이 패키지를 설치해두어야 한다. }\,%
+\footnote{%
+  HarfBuzz 모드에서는
   첫가끝 자모로의 입력변환이 효과를 못볼 수도 있으니 유의할 것.
 }
 
@@ -732,7 +794,8 @@ v2.0부터는 자동으로 수식 한글을 잡아주지 않는다.%
 |0|을 할당하면 다시 UTF-8 입력으로 간주한다. \XeTeX의 \cs{XeTeXinputencoding}
 명령과 유사하나, 오직 한국어 문자만 처리할 수 있다.%
 \footnote{%
-  윈도 운영체제에서의 한글 파일이름 불러오기 기능은 v2.0부터는 제공하지 않는다.
+  CP949 인코딩 파일시스템을 사용하는 윈도 운영체제에서의
+  한글 파일이름 불러오기 기능은 v2.0부터는 제공하지 않는다.
   대신 |luatex -cmdx ...|, |lualatex -cmdx ...|와 같이 컴파일시 명령행에
   |-cmdx| 옵션을 주면 된다고 하니 테스트해 보시기 바란다. }
 
@@ -743,6 +806,14 @@ v2.0부터는 자동으로 수식 한글을 잡아주지 않는다.%
 \section*{주요 변경 이력}
 
 \begin{itemize}\linespread{1.1}\selectfont
+  \item[v3.2] ------
+  \item 한자 뒤에서도 자동조사 기능이 대체로 동작하게끔 하였다.
+    \XeTeX-\logoko{} 패키지가 설치돼 있을 것을 요구한다.
+  \item \hyperref[sec:verttype]{|vertical| 및 |horizontal| 환경의 인자를 비워둘 수 있다}.
+  \item \hyperref[sec:verttype]{|verticaltypesetting|을 환경으로도 쓸 수 있다.
+    플레인텍에서는 \cs{beginverticaltypesetting} \cs{endverticaltypesetting}}.
+  \item \hyperref[sec:fontcmds]{플레인텍 명령
+    \cs{sethangulfont} \cs{sethanjafont} \cs{setfallbackfont} 추가}
   \item[v3.0] ------
   \item \hyperref[sec:fontoption]{세로쓰기에서 |CharRaise| 옵션은
       이제 글자들의 \dotemph{추가적인} 이동 길이를 나타낸다.}
-- 
cgit v1.2.3

