From 23d0d97724c62d6df3f1e92c73a6cb6b1fc8d790 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 25 Mar 2018 21:24:56 +0000 Subject: luatexja (25mar18) git-svn-id: svn://tug.org/texlive/trunk@47107 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/luatex/luatexja/README | 8 +- .../texmf-dist/doc/luatex/luatexja/ltjclasses.pdf | Bin 405787 -> 405727 bytes .../texmf-dist/doc/luatex/luatexja/ltjsclasses.pdf | Bin 497629 -> 498768 bytes .../texmf-dist/doc/luatex/luatexja/luatexja-en.pdf | Bin 455646 -> 457936 bytes .../texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf | Bin 823997 -> 824187 bytes Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx | 107 +++++++++++++++++---- 6 files changed, 90 insertions(+), 25 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/luatex/luatexja/README b/Master/texmf-dist/doc/luatex/luatexja/README index d31b199016a..091d594daea 100644 --- a/Master/texmf-dist/doc/luatex/luatexja/README +++ b/Master/texmf-dist/doc/luatex/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20180121.0 +The LuaTeX-ja Package 20180325.0 -------------------------------- Copyright (c) 2011--2018 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -40,9 +40,9 @@ Installation 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20180121.0 in the Git repository by + or tagged as 20180325.0 in the Git repository by + ;a=snapshot;h=refs/tags/20180325.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -87,4 +87,4 @@ Notes * src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use. -Last commit date: Sun Jan 21 13:20:37 2018 +0900 +Last commit date: Sun Mar 25 15:58:04 2018 +0900 diff --git a/Master/texmf-dist/doc/luatex/luatexja/ltjclasses.pdf b/Master/texmf-dist/doc/luatex/luatexja/ltjclasses.pdf index fc5326dafb0..b22fd264e15 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/ltjclasses.pdf and b/Master/texmf-dist/doc/luatex/luatexja/ltjclasses.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/ltjsclasses.pdf b/Master/texmf-dist/doc/luatex/luatexja/ltjsclasses.pdf index 32674c9ce90..cac1da66396 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/ltjsclasses.pdf and b/Master/texmf-dist/doc/luatex/luatexja/ltjsclasses.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf index 06956af3196..7bf6ffa6667 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf and b/Master/texmf-dist/doc/luatex/luatexja/luatexja-en.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf index 618a34b86f5..8da5094c678 100644 Binary files a/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf and b/Master/texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf differ diff --git a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx index fd1a763207c..15aaaac8c98 100644 --- a/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx +++ b/Master/texmf-dist/doc/luatex/luatexja/luatexja.dtx @@ -2555,23 +2555,23 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} % %<*ja> ネイティブにUnicode全部の文字を扱える\XeTeX や\LuaTeX では, -文字が制御綴内で使用できるかは通常の欧文文字と同じく \cs{catcode} -で指定することとなる.plain \XeTeX における \cs{catcode} の初期設定は\ -\texttt{unicode-letters.tex} 中に記述されており,plain \LuaTeX ではそれを -元にした \texttt{luatex-unicode-letters.tex} を用いている. -\LaTeX では \cs{catcode} の設定はカーネルに \texttt{unicode-letters.def} として統合され. +文字が制御綴内で使用できるかは通常の欧文文字と同じく\cs{catcode}% +で指定することとなる.plain \XeTeX における\cs{catcode}の初期設定は% +\texttt{unicode-letters.tex}中に記述されており,plain \LuaTeX ではそれを +元にした\texttt{luatex-unicode-letters.tex}を用いている. +\LaTeX では\cs{catcode}の設定はカーネルに\texttt{unicode-letters.def}として統合され. このファイルを\XeLaTeX, \LuaLaTeX の両方が用いている. -だが,\XeTeX における \cs{catcode} の初期設定と +だが,\XeTeX における\cs{catcode}の初期設定と \LuaTeX におけるそれは一致していない: \begin{itemize} - \item \texttt{luatex-unicode-letters.tex} の元になった\ -\texttt{unicode-letters.tex} が古い - \item \texttt{unicode-letters.tex} 後半部や \texttt{unicode-letters.def} 後半部では -\cs{XeTeXcharclass} の設定を行なっており, -それによって漢字や仮名,および全角英数字の \cs{catcode} が11に設定されている. -しかし,\texttt{luatex-unicode-letters.tex} ではこの「後半部」が -まるごと省略されており,また\LuaLaTeX でも \texttt{unicode-letters.def} 後半部は実行されな + \item \texttt{luatex-unicode-letters.tex} の元になった + \texttt{unicode-letters.tex}が古い + \item \texttt{unicode-letters.tex} 後半部や\texttt{unicode-letters.def}後半部では +\cs{XeTeXcharclass}の設定を行なっており, +それによって漢字や仮名,および全角英数字の\cs{catcode}が11に設定されている. +しかし,\texttt{luatex-unicode-letters.tex}ではこの「後半部」が +まるごと省略されており,また\LuaLaTeX でも\texttt{unicode-letters.def}後半部は実行されな い. \end{itemize} 言い換えると, @@ -2582,10 +2582,10 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.} \LuaLaTeX では漢字や仮名を制御綴内に 使用することが可能になったが,全角英数字は相変わらず使用できない, \end{description} -これでは \pTeX で使用できた \verb+\1年目西暦+\footnote{科研費\LaTeX で使用されているそうです.}などが使えないこととなり, +これでは\pTeX で使用できた\verb+\1年目西暦+\footnote{科研費\LaTeX で使用されているそうです.}などが使えないこととなり, \LuaTeX-jaへの移行で手間が生じる.そのため,\LuaTeX-jaでは -\texttt{unicode-letters.tex} の後半部にあたる内容を自前でパッチし, -結果として\textbf{\XeTeX における初期設定と同じになるようにしている.} +\texttt{unicode-letters.tex}の後半部にあたる内容を自前でパッチし, +結果として\emph{\XeTeX における初期設定と同じになるようにしている.} % \begin{table} @@ -4313,6 +4313,9 @@ JFMによって本来挿入されるグルーの他に 自然長・縮み量半角,伸び量0のグルー となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け た分だけ伸びることが許される. + \item 一方,開き括弧類と通常の文字の間,また通常の文字と閉じ括弧類の間は + 自然長・縮み量・伸び量0のグルーだが,\Param{kanjiskip}の縮み量に + \texttt{kanjiskip\_shrink}(ここでは1)を掛けた分だけ縮むことが許される. \end{itemize} となっている.従って,以下のような組版結果を得る. @@ -4321,6 +4324,10 @@ JFMによって本来挿入されるグルーの他に \leavevmode \ltjsetparameter{kanjiskip=0pt plus 3\zw} \vrule\hbox to 15\zw{あ「い」う,えお}\vrule + +\vrule\hbox{あ「い」う,えお}\vrule\par +\ltjsetparameter{kanjiskip=0pt minus \zw} +\vrule\hbox to 6.5\zw{あ「い」う,えお}\vrule \end{LTXexample} \end{cslist} @@ -4355,6 +4362,10 @@ a glue whose natural part and shrink part are both half-width, while its stretch Again, this glue also can be stretched as much as the stretch part of \Param{kanjiskip} times the value of \texttt{kanjiskip\_stretch} key (1 in this case). + \item Between an ideographic opening bracket and an ordinal letter + and between an ordinal letter and an ideographic closing bracket, + we have a glue whose natural part and stretch part are both zero, while its shrink part as much as + the shrink part of \Param{kanjiskip}. \end{itemize} Hence we have the following result: @@ -4363,6 +4374,10 @@ Hence we have the following result: \leavevmode \ltjsetparameter{kanjiskip=0pt plus 3\zw} \vrule\hbox to 15\zw{あ「い」う,えお}\vrule + +\vrule\hbox{あ「い」う,えお}\vrule\par +\ltjsetparameter{kanjiskip=0pt minus \zw} +\vrule\hbox to 6.5\zw{あ「い」う,えお}\vrule \end{LTXexample} \end{cslist} @@ -4382,7 +4397,7 @@ Hence we have the following result: \item[end\_adjust=\{, , ...\}] %<*ja> -(任意,バージョン2のみ) +(任意,バージョン2以降) 優先順位付き行長調整が有効であり,かつ現在の文字クラスの文字が 行末に来た時に,この文字と行末の間には指定された値のいずれかの大きさのカーンが @@ -4392,14 +4407,14 @@ Hence we have the following result: \begin{lstlisting}[escapechar=\$] end_stretch = $a$, end_shrink = $b$ \end{lstlisting} -という指定は,バージョン2では次の指定と同じになる. +という指定は,バージョン2以降では次の指定と同じになる. \begin{lstlisting}[escapechar=\$] end_adjust = {$-b$, 0.0, $a$} \end{lstlisting} もし真ん中の \texttt{0.0} がない場合は,$a$か$-b$かいずれかのカーンが常に行末に追加される. % %<*en> -(optional, version~2 only) +(optional, version~2 or~later) % \end{cslist} @@ -4544,7 +4559,7 @@ The following is the list of imaginary characters: \item['glue'] %(version 3~or~later) A boundary between \textbf{JAchar}, and, a glue or kern. -%(バージョン3以降))\textbf{JAchar}とglue,kernとの境界. +%(バージョン3以降)\textbf{JAchar}とglue,kernとの境界. \item[$-1$] %The left/right boundary of an inline math formula. @@ -5457,6 +5472,56 @@ The correct way is using a temporary register. \end{itemize} + +%<*en> +\subsection{Alternative Commands to \cs{ltjsetparameter}} +The basic method to set parameters of \LuaTeX-ja is to use +\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}. +However, these commands are slow, because they parse a key-value list, +so several alternative commands are used in \LuaTeX-ja. +\emph{This subsection is not for general \LuaTeX-ja users.} + +\paragraph{Setting \Param{kanjiskip}~or~\Param{xkanjiskip}} +In \Pkg{ltjsclasses}, every size-changing command such as \cs{Large} +changes \cs{kanjiskip}~and~\cs{xkanjiskip}. +But a simple implementation, as the code below, is slow since +two key-value lists are parsed by \cs{ltjsetparameter}: +\begin{lstlisting} + \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw} + \@tempskipa=\ltjgetparameter{xkanjiskip} + \ifdim\@tempskipa>\z@ + \if@slide + \ltjsetparameter{xkanjiskip=0.1em} + \else + \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em} + \fi + \fi +\end{lstlisting} + +Hence, \LuaTeX-ja defines more primitive commands, namely \cs{ltj@setpar@global}, +\cs{ltjsetkanjiskip}, and~\cs{ltjsetxkanjiskip}. Here +\begin{quote} + \lstinline+\ltj@setpar@global\ltjsetkanjiskip 10pt+ +\end{quote} +and \lstinline+\ltjsetparameter{kanjiskip=10pt}+ has the same effect. +The actual code of \Pkg{ltjsclasses} is shown below: +\begin{lstlisting} + \ltj@setpar@global + \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw} + \@tempskipa=\ltjgetparameter{xkanjiskip} + \ifdim\@tempskipa>\z@ + \if@slide + \ltjsetxkanjiskip.1em + \else + \ltjsetxkanjiskip.25em plus .15em minus .06em + \fi + \fi +\end{lstlisting} + +Note that using \cs{ltjsetkanjiskip}~or~\cs{ltjsetxkanjiskip} alone, +that is, without executing \cs{ltj@setpar@global} in advance, is \emph{not} supported. +% + %<*ja> \subsection{\cs{ltjsetparameter} の代替} 原則として各種内部パラメータの設定には \cs{ltjsetparameter} もしくは @@ -5465,7 +5530,7 @@ The correct way is using a temporary register. \LuaTeX-ja の内部ではより高速に実行できる別の形式を用いている. \emph{本節は一般利用者むけの内容ではない.} -\paragraph{\Param{kanjiskip}, \Param{xkanjiskip} の設定} +\paragraph{\Param{kanjiskip}, \Param{xkanjiskip}の設定} \pLaTeXe 新ドキュメントクラスでは, \begin{lstlisting} \def\@setfontsize#1#2#3{% -- cgit v1.2.3