OSDN Git Service

regenerated pdfs
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index 4bf6643..5f8441f 100644 (file)
 \usepackage{luatexja-adjust}%\ltjdisableadjust
 \advance\leftmargini-1\zw\advance\leftmarginii-1\zw
 %</ja>
-
+%<en>\long\def\fakefn#1#2{\par\noindent{\footnotesize\hbox to1.8em{\hss#1}#2\par}}
+%<*ja>
+\long\def\fakefn#1#2{%
+  \par{\footnotesize\advance\leftskip 3\zw\parindent1\zw\noindent
+  \llap{#1\hskip.3\zw}#2\par}}
+%</ja>
 %%%%%%%% listings
 
 %%%%%%%% IVS
   width:\hfill\ #2\cr height:\hfill\ #3\cr depth:\hfill\ #4\cr
   }}}}}\,}
 
+\makeatletter
 \def\myghost{\ifmmode\else\ltjalchar"200C \fi}
-\protected\def\Param#1{\myghost\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}\myghost} % parameter name
+\def\Param#1{\texorpdfstring{\@Param{#1}}{#1}} % parameter name
+\protected\def\@Param#1{\myghost\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}\myghost}
 \protected\def\DParam#1{\myghost\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}\myghost} % parameter name (definition)
-\protected\def\Pkg#1{\textsf{#1}} % packages/classes
+\def\Pkg#1{\texorpdfstring{\textsf{#1}}{#1}} % packages/classes
 \ltjsetparameter{alxspmode={"200C,allow}}
 
 \begin{document}
@@ -482,7 +489,7 @@ Japanese characters in discretionary break (\cs{discretionary}) is not supported
 By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters,
       To change this behavior,
       put \verb!\ltjsetparameter{jacharrange={-2,-3}}! in the preamble.
-      For the detailed description, see Subsection~\ref{ssec-setrange}.
+      For the detailed description, see Subsection~\ref{ssec:setrange}.
 
 From version~20150906.0, characters which belongs both ISO~8859-1 and JIS~X~0208,
 such as \P~and~\S, are now typeset in alphabetic fonts.
@@ -499,7 +506,7 @@ without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package.
 \end{lstlisting}
       を入れると
       上記種類の文字は欧文フォントを用いて組まれるようになる.
-      詳しい説明は\ref{ssec-setrange}節を参照してほしい.
+      詳しい説明は\ref{ssec:setrange}節を参照してほしい.
 
 また,\P,~\S といったISO~8859-1の上位領域とJIS~X~0208の共通部分の文字は
       バージョン20150906.0から標準で欧文扱いとなった.\LaTeXe\ 2017/01/01以降では
@@ -524,11 +531,11 @@ In this document, the following terms and notations are used:
 %<*en>
 \item Characters are classified into following two types.
       Note that the classification can be customized by a user
-      (see Subsection~\ref{ssec-setrange}).
+      (see Subsection~\ref{ssec:setrange}).
 %</en>
 %<*ja>
 \item 文字は次の2種類に分けられる.この類別は固定されているものではなく,ユーザが後から変更可能である
-      (\ref{ssec-setrange}節を参照).
+      (\ref{ssec:setrange}節を参照).
 %</ja>
 \begin{itemize}
 %<*en>
@@ -633,18 +640,18 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %<en>The following packages are needed for the \LuaTeX-ja\ package.
 %<ja>\LuaTeX-jaパッケージの動作には次のパッケージ類が必要である.
 \begin{itemize}
-\item \LuaTeX\ beta-0.85.0 (or later)
+\item \LuaTeX\ 1.0.0 (or later)
 \item \Pkg{luaotfload} v2.6 (or later)
 \item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
 \item \Pkg{etoolbox}, \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
 \item \Pkg{ltxcmds}, \Pkg{pdftexcmds}, \Pkg{filehook}, \Pkg{atbegshi}
-\item \Pkg{fontspec} v2.4 (or later)
+\item \Pkg{fontspec} v2.5c (or later)
 %<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
 %<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})}
 \end{itemize}
-%<en>In summary, \LuaTeX-ja version 20160404.0 (or~later) no longer supports \TeX~Live~2015.
+%<en>In summary, \LuaTeX-ja version 20180825.0 (or~later) no longer supports \TeX~Live~2016.
 %<*ja>
-要約すると,バージョン20160404.0以降の\LuaTeX-jaは\TeX~Live~2015以前では動作しない\footnote{%
+要約すると,バージョン20180825.0以降の\LuaTeX-jaは\TeX~Live~2016以前では動作しない\footnote{%
   もっとも,自分で\LuaTeX のバイナリをSubversionリポジトリからビルドしていれば話は別である.
 }.
 %</ja>
@@ -672,21 +679,6 @@ IPAex fonts are also available in these distributions.
 W32\TeX においてはIPAexフォントは \texttt{luatexja.tar.xz} 内にある.
 %</ja>
 
-% %<*ja>
-% 例えば\TeX~Live~2015を利用しているなら,\LuaTeX-jaは\TeX~Live manager (\texttt{tlmgr})を
-% 使ってインストールすることができる.
-% \begin{lstlisting}
-% $ tlmgr install luatexja
-% \end{lstlisting}
-% %</ja>
-% %<*en>
-% If you are using \TeX~Live~2015, you can install \LuaTeX-ja
-% from \TeX~Live manager (\texttt{tlmgr}):
-% \begin{lstlisting}
-% $ tlmgr install luatexja
-% \end{lstlisting}
-% %</en>
-
 %<en>\paragraph{Manual installation}
 %<ja>\paragraph{手動インストール方法}
 
@@ -815,8 +807,9 @@ For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
   Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
   about 30\% faster than \LuaTeX, but not always%
   \footnote{%
-    LuaJIT has the 1\,GB~(or~2\,GB) memory limitation. So typesetting a large source by LuaJIT\TeX\ 
-    may cause an ``out of memory'' error.
+    LuaJIT has several limitations such as 1\,GB~(or~2\,GB) memory limitation.
+       So typesetting a large source by LuaJIT\TeX may cause an ``out of memory'' error,
+       or failure of loading/saving font cache of \Pkg{luaotfload}.
   }.
 %</en>
 %<*ja>
@@ -825,11 +818,13 @@ For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
 LuaJIT\TeX を用いると\LuaTeX のだいたい1.3倍の速度で動くようであるが,
 IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX よりも遅くなることもある
   \footnote{%
-    LuaJITは1\,GB(あるいは2\,GB)のメモリ制限があることが知られている.そのため,
+    LuaJITã\81¯1\,GBï¼\88ã\81\82ã\82\8bã\81\84ã\81¯2\,GBï¼\89ã\81®ã\83¡ã\83¢ã\83ªå\88¶é\99\90ã\81ªã\81©ï¼\8cã\81\84ã\81\8fã\81¤ã\81\8bã\81®å\88¶é\99\90äº\8bé \85ã\81\8cã\81\82ã\82\8bã\81\93ã\81¨ã\81\8cç\9f¥ã\82\89ã\82\8cã\81¦ã\81\84ã\82\8bï¼\8eã\81\9dã\81®ã\81\9fã\82\81ï¼\8c
     大きいソースファイルをLuaJIT\TeX でタイプセットするとLuaの側で``out of memory''エラーが発生してしまう.
     本ドキュメントのように,「各ページごとにLuaで使っているメモリ容量をチェックし,
     必要なら\texttt{collectgarbage("collect")}でガベージコレクタを実行」すると
     状況が多少改善されるかもしれない.
+       また,LuaJIT\TeX でIPA mj明朝などの「大きい」フォントを利用した場合はフォントキャッシュの保存に失敗し,
+       毎回フォントを読み込まなければならず結果的に時間がかかることがある.
   }.
 %</ja>
 
@@ -874,7 +869,7 @@ and finally delete the temporary directory.
 
 %<en>\subsection{Using in plain \TeX}
 %<ja>\subsection{plain \TeX で使う}
-\label{ssec-plain}
+\label{ssec:plain}
 
 %<en>To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
 %<ja>\LuaTeX-jaを plain \TeX で使うためには,単に次の行をソースファイルの冒頭に追加すればよい:
@@ -923,11 +918,11 @@ and finally delete the temporary directory.
 \begin{itemize}
 %<*en>
 \item With \texttt{luatexja.cfg}, one can use other fonts
-as ``default'' Japanese fonts (Subsection~\ref{ssec-cfg}).
+as ``default'' Japanese fonts (Subsection~\ref{ssec:cfg}).
 %</en>
 %<*ja>
 \item \texttt{luatexja.cfg} を用いることによって,標準和文フォントを
-IPAexフォントから別のフォントに置き換えることができる.\ref{ssec-cfg}節を参照.
+IPAexフォントから別のフォントに置き換えることができる.\ref{ssec:cfg}節を参照.
 %</ja>
 
 %<*en>
@@ -960,7 +955,7 @@ IPAexフォントから別のフォントに置き換えることができる.
 
 %<en>\subsection{Using in \LaTeX}
 %<ja>\subsection{\LaTeX で使う}
-\label{ssec-ltx}
+\label{ssec:ltx}
 
 %<*en>
 Using in \LaTeXe\ is basically same. To set up the minimal environment
@@ -1016,9 +1011,9 @@ By default, the following fonts are used for these two families.
 \bottomrule
 \end{tabular}
 \end{center}
-Note that the bold series in both family are same as the medium series of gothic
-     family. There is no italic nor slanted shape for
-      these \texttt{mc}~and~\texttt{gt}.
+Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
+     are same as the medium series of gothic family.
+     There is no italic nor slanted shape for these \texttt{mc}~and~\texttt{gt}.
 %</en>
 %<*ja>
 \item \pLaTeX と同様に,標準では「明朝体」「ゴシック体」の2種類を用いる:
@@ -1044,6 +1039,11 @@ Note that the bold series in both family are same as the medium series of gothic
 どちらのファミリにおいても,太字(\cs{bfseries})のフォントは
 ゴシック体中字(\cs{gtfamily}\cs{mdseries})で使われるフォントと同じであることに注意.
 また,どちらのファミリでもイタリック体・スラント体は定義されない.
+
+  和文の太字を表すシリーズ名は,(元々のComputer Modernが
+  太字に\texttt{bx}を用いていたことから)伝統的に\texttt{bx}~(Bold Extended)が使われてきた.
+  しかし,太字にシリーズ\texttt{b}を使うフォントも増えてきたため,
+  バージョン20180616.0以降では和文の太字として\texttt{bx},~\texttt{b}の両方を扱えるようにした.
 %</ja>
 
 %<en>\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
@@ -1086,6 +1086,15 @@ Note that the bold series in both family are same as the medium series of gothic
  \renewcommand{\kanjifamilydefault}{\gtdefault}
 \end{lstlisting}
 
+%<*ja>
+\item \pLaTeX と同様に,\texttt{mc},~\texttt{gt}両ファミリには「従属欧文」書体が定義されている.
+  これらは\cs{userelfont}を\cs{selectfont}(や,その他の「実際に」
+  フォントを変更する命令)の前で実行することにより使うことができる.
+
+  \pLaTeX では標準の欧文フォントはOT1エンコーディングのComputer Modern Roman (\texttt{cmr})%
+  であったが,2017年以降の\LuaLaTeX ではTUエンコーディングのlatin Modern Roman (\texttt{lmr})%
+  に変更されている.そのため,前段落で述べた「従属欧文」も,Latin Modern Romanに設定している.
+%</ja>
 
 \end{itemize}
 
@@ -1104,9 +1113,11 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
 
 Original \Pkg{jsclasses} use \cs{mag}~primitive to set the main document font size.
 However, \LuaTeX\ beta-0.87.0~or~later does not support \cs{mag} in PDF~output,
-so \Pkg{ltjsclasses} use different method%
-\footnote{Similar to \texttt{magstyle=xreal} in the \Pkg{BXjscls} classes (by Takayuki Yato).}
-to set the main document font size.
+so \Pkg{ltjsclasses} uses the \texttt{nomag*} option\footnote{Same effect as 
+  the \Pkg{BXjscls} classes (by Takayuki Yato) and \Pkg{jsclasses}.
+  However, these classes uses only \TeX\ code, but \Pkg{ltjsclasses} uses Lua code.}
+ by default to set the main font size. If this causes some unexpected behavior, specify
+\texttt{nomag} option in \cs{documentclass}.
 %</en>
 %<*ja>
 しかしながら,上記の設定は日本語の文書にとって十分とは言えない.
@@ -1122,11 +1133,15 @@ to set the main document font size.
   \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}%
 がそれぞれ用意されている.
 
-元々の\Pkg{ltjsclasses}ではフォントサイズを指定するのに\cs{mag}プリミティブが使われていたが,
+元々の\Pkg{jsclasses}では本文のフォントサイズを設定するのに\cs{mag}プリミティブが使われていたが,
 \LuaTeX~beta-0.87.0以降ではPDF出力時の\cs{mag}のサポートが廃止された.
-そのため,\Pkg{ltjsclasses}では別の方法
-\footnote{八登崇之氏による\Pkg{BXjscls}クラスにおける\texttt{magstyle=xreal}指定時と類似している.}で
-フォントサイズを指定することにしている.
+そのため,\Pkg{ltjsclasses}では\texttt{nomag*}オプション
+\footnote{\Pkg{jsclasses}や,八登崇之氏による\Pkg{BXjscls}クラスにおける同名のオプションと
+  同じ.上記クラスは\TeX コードのみで実装しているが,\Pkg{ltjsclasses}ではLuaコードも用いている.}が標準で
+有効になっており,これを使って本文フォントサイズの設定を行っている.
+しかし,この\texttt{nomag*}オプションでは(20180121.0版より前の版において\Pkg{unicode-math}パッケージ使用時に
+起きたように)予想外の意図しない現象に遭遇する危険がある.そのような場合は
+\cs{documentclass}において\texttt{nomag}オプションを指定してほしい.
 %</ja>
 
 %<*ja>
@@ -1204,17 +1219,17 @@ This patch \Pkg{lltjp-geometry} also can be used in \pLaTeX; for the detail, ple
 %<ja>\section{フォントの変更}
 
 \subsection{plain \TeX~and~\LaTeXe}
-\label{ssec-chgfnt}
+\label{ssec:chgfnt}
 
 \paragraph{plain \TeX}
 %<*en>
 To change Japanese fonts in plain \TeX, you must use the command
-\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec-jfont}.
+\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec:jfont}.
 %</en>
 %<*ja>
 plain \TeX で和文フォントを変更するためには,
 \pTeX のように \cs{jfont} 命令や \cs{tfont} 命令を直接用いる.
-\ref{ssec-jfont}節を参照.
+\ref{ssec:jfont}節を参照.
 %</ja>
 
 \paragraph{\LaTeXe\ (NFSS2)}
@@ -1277,7 +1292,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
       alphabetic fonts to \texttt{T1}.
       \cs{fontfamily} also changes the current Japanese font family,
       the current alphabetic font family, \emph{or both}.
-      For the detail, see Subsection~\ref{ssec-nfsspat}.
+      For the detail, see Subsection~\ref{ssec:nfsspat}.
 %</en>
 %<*ja>
       ここで,\verb+\fontencoding{+<encoding>\verb+}+ は,引数により和文側か欧文
@@ -1286,7 +1301,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
       \texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
       \texttt{T1}へと変更する.\cs{fontfamily} も引数により和文側,欧文
       側,\emph{あるいは両方}のフォントファミリを変更する.詳細は
-      \ref{ssec-nfsspat}節を参照すること.
+      \ref{ssec:nfsspat}節を参照すること.
 %</ja>
 
 %<*en>
@@ -1310,8 +1325,8 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \end{lstlisting}
 %<*ja>
 仮名書体を使う場合など,複数の和文フォントを組み合わせて使いたい場合は
-\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} と,その\LaTeX 版の\
-\cs{DeclareAlternateKanjiFont}(\ref{ssec-nfsspat}節)を参照せよ.
+\ref{ssec:altfont}節の \cs{ltjdeclarealtfont} と,その\LaTeX 版の\
+\cs{DeclareAlternateKanjiFont}(\ref{ssec:nfsspat}節)を参照せよ.
 %</ja>
 
 \end{itemize}
@@ -1367,17 +1382,17 @@ $5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
 %<*en>
 We also believe that using Japanese characters as identifiers is rare,
 hence we don't describe how to change Japanese fonts in math mode in
-this chapter. For the method, please see Subsection~\ref{ssec-math}.
+this chapter. For the method, please see Subsection~\ref{ssec:math}.
 %</en>
 %<*ja>
 また\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
 と考えており,したがってこの節では数式モード中の和文フォントを変更する方法については
-記述しない.この方法については\ref{ssec-math}節を参照のこと.
+記述しない.この方法については\ref{ssec:math}節を参照のこと.
 %</ja>
 
 %<en>\subsection{\Pkg{luatexja-fontspec} package}
 %<ja>\subsection{\Pkg{luatexja-fontspec}パッケージ}
-\label{ssec-fontspec}
+\label{ssec:fontspec}
 %<*en>
 To use the functionality of the \Pkg{fontspec} package to Japanese fonts,
 it is needed to load the \Pkg{luatexja-fontspec} package in the preamble, as follows:
@@ -1404,16 +1419,21 @@ TrueType・OpenTypeフォントを容易に扱うためのパッケージであ
 %</ja>
 
 %<*en>
-In the \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
-counterparts of original commands in the \Pkg{fontspec} package:
+In the \Pkg{luatexja-fontspec} package, several commands are defined as
+counterparts of original commands in the \Pkg{fontspec} package
+(see \autoref{tab:ltj_fntspc}):
 %</en>
 %<*ja>
-\Pkg{luatexja-fontspec}パッケージでは,以下の7つのコマンドを\Pkg{fontspec}
-パッケージの元のコマンドに対応するものとして定義している:
+\Pkg{luatexja-fontspec}パッケージでは,\autoref{tab:ltj_fntspc}の
+「和文」行に示した命令を\Pkg{fontspec}パッケージの元のコマンド(「欧文」行)
+に対応するものとして定義している:
 %</ja>
 %<*en>
-\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{table}
+\caption{Commands of \Pkg{luatexja-fontspec}}\label{tab:ltj_fntspc}
+\medskip
+{\centering\small
+\begin{tabular}{cllll}
 \toprule
 Japanese fonts
 &\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
@@ -1421,18 +1441,33 @@ alphabetic fonts
 &\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
 \midrule
 Japanese fonts
-&\cs{newjfontfamily}&\cs{newjfontface}
-&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}$^{**}$&\cs{setjfontfamily}$^{**}$\\
+alphabetic fonts
+&\cs{newfontfamily}&\cs{renewfontfamily}$^{**}$&\cs{setfontfamily}$^{**}$\\
+\midrule
+Japanese fonts
+&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
 alphabetic fonts
-&\cs{newfontfamily}&\cs{newfontface}
-&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
 \bottomrule
-\end{tabular}
-\end{center}
+\end{tabular}\par}
+\medskip
+\fakefn{$^*$}{%
+  \cs{setmonojfont} is defined if and only if \texttt{match} option is specified.}
+\fakefn{$^{**}$}{%
+  \cs{renewfontfamily}~and~\cs{setfontfamily} are new commands
+  in \Pkg{fontspec}~v2.6h (2018/7/30).
+  Hence, \Pkg{luatexja-fontspec} define \cs{renewjfontfamily}~and~\cs{setjfontfamily}
+  only when \Pkg{fontspec}~v2.6h (or later) is used.
+}
+\end{table}
 %</en>
 %<*ja>
-\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{table}
+\caption{\Pkg{luatexja-fontspec}で定義される命令}\label{tab:ltj_fntspc}
+\medskip
+{\centering\small
+\begin{tabular}{cllll}
 \toprule
 和文
 &\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
@@ -1440,14 +1475,28 @@ alphabetic fonts
 &\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
 \midrule
 和文
-&\cs{newjfontfamily}&\cs{newjfontface}
-&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}$^{**}$&\cs{setjfontfamily}$^{**}$\\
 欧文
-&\cs{newfontfamily}&\cs{newfontface}
-&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{newfontfamily}&\cs{renewfontfamily}$^{**}$&\cs{setfontfamily}$^{**}$\\
+\midrule
+和文
+&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+欧文
+&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
 \bottomrule
-\end{tabular}
-\end{center}
+\end{tabular}\par}
+
+\medskip
+\fakefn{$^*$}{\cs{setmonojfont} は \texttt{match} オプションが
+指定された時のみ定義される.}
+\fakefn{$^{**}$}{%
+  \cs{renewfontfamily} と \cs{setfontfamily} は
+  \Pkg{fontspec}~v2.6h (2018/7/30)で新たに追加された命令である.
+  そのため,\Pkg{luatexja-fontspec}が \cs{renewjfontfamily} と \cs{setjfontfamily} を
+  定義するのはv2.6h以降の\Pkg{fontspec}を使用した時のみになっている.
+}
+
+\end{table}
 %</ja>
 
 %<en> The package option of \Pkg{luatexja-fontspec} are the followings:
@@ -1478,13 +1527,23 @@ if and only if this \texttt{\textup{match}} option is specified}.
 \item[scale=<float>]
 %<*en>
 Override the ratio of the font size of Japanese fonts to that of alphabetic fonts.
-The default value is calculated automatically (for~example, about~0.924865 when
-            the \Pkg{ltjsarticle} class is used).
+The default value is determined as follows:
+  \begin{itemize}
+    \item The value of \cs{Cjascale} is used, if this control sequence is already defined.
+    \item It is calculated automatically from the current Japanese font at the loading of the
+    package, if \cs{Cjascale} is not defined.
+  \end{itemize}
+\cs{Cjascale} is defined in \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
 %</en>
 %<*ja>
-欧文に対する和文の比率は,標準では \Pkg{luatexja-fontspec}読み込み時の和欧文比率から
-自動計算される(例えば,\Pkg{ltjsarticle}クラス使用時には和文は欧文の約0.924865倍となる)が,
-それを手動で上書きするときに使用する.
+欧文に対する和文の比率を手動で上書きするときに使用する.
+標準では
+\begin{itemize}
+  \item \cs{Cjascale}が定義されている場合
+  \footnote{\LuaTeX-ja が用意しているクラスファイル(\Pkg{ltjclasses},~\Pkg{ltjsclasses})を
+  使う場合はこちらに当てはまる.}は,それを用いる.
+  \item \cs{Cjascale}が未定義の場合は,\Pkg{luatexja-fontspec}読み込み時の和文フォントから自動計算される.
+\end{itemize}
 %</ja>
 \end{cslist}
 
@@ -1604,13 +1663,13 @@ as an external package \Pkg{luatexja-otf}.
 
 これら3オプションについては,
 \Pkg{luatexja-preset} パッケージにプリセットを使う時に一緒に指定するか,
-あるいは対応する内容を\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節 (NFSS2) や
-\ref{ssec-fontspec}節 (\Pkg{fontspec}) の方法で手動で指定する必要がある.
+あるいは対応する内容を\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節 (NFSS2) や
+\ref{ssec:fontspec}節 (\Pkg{fontspec}) の方法で手動で指定する必要がある.
 %</ja>
 
 %<en>\subsection{Changing default Japanese fonts}
 %<ja>\subsection{標準和文フォントの変更}
-\label{ssec-cfg}
+\label{ssec:cfg}
 %<*en>
 If \texttt{luatexja.cfg} can be seen from \LuaTeX, \LuaTeX-ja automatically reads it.
 The main use of \texttt{luatexja.cfg} is for changing default Japanese fonts,
@@ -1681,7 +1740,7 @@ parameters, you have to use commands \cs{ltjsetparameter} and
 
 %<en>\subsection{Range of \textbf{JAchar}s}
 %<ja>\subsection{\textbf{JAchar}の範囲}
-\label{ssec-setrange}
+\label{ssec:setrange}
 
 %<*en>
 \LuaTeX-ja divides the Unicode codespace \texttt{U+0080}--\texttt{U+10FFFF}
@@ -2147,10 +2206,10 @@ as follows:
 \ltjsetparameter{alxspmode={`あ,preonly}, jaxspmode={`\!,postonly}}
 \end{lstlisting}
 %<*en>
-One can use also numbers to specify these two parameters (see Subsection~\ref{ssec-param}).
+One can use also numbers to specify these two parameters (see Subsection~\ref{ssec:param}).
 %</en>
 %<*ja>
-また,これら2パラメータには数値で値を指定することもできる(\ref{ssec-param}節を参照).
+また,これら2パラメータには数値で値を指定することもできる(\ref{ssec:param}節を参照).
 %</ja>
 
 %<*en>
@@ -2350,7 +2409,6 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt
 ``ア'', not 20.
 %</en>
 %<*ja>
-\newpage
 \subsection{禁則処理関連パラメータとOpenTypeのfont feature}
 禁則処理や \Param{kanjiskip}, \Param{xkanjiskip} の挿入に関連したパラメータのうち
 \begin{quote}
@@ -2359,7 +2417,7 @@ However, the penalty inserted after it is 10 which is the \Param{postbreakpenalt
 \end{quote}
 は,文字コードごとに設定する量である.
 
-\Pkg{fontspec}パッケージを使う(\ref{ssec-fontspec}節)場合など,
+\Pkg{fontspec}パッケージを使う(\ref{ssec:fontspec}節)場合など,
 各種のOpenType featureを適用することもあると思うが,前段落に述べたパラメータ類は,
 \emph{OpenType featureの適用前の文字コードによって適用される.}
 例えば,以下の例において10行目の「ア」は,\verb+hwid+ featureの適用により半角カタカナの「ア」
@@ -2468,7 +2526,7 @@ and \LuaTeX-ja can control these four kinds separately:
 \begin{itemize}
  \item
 \emph{Distinction between \textbf{JAchar} or \textbf{ALchar}}
-is controlled by the character range, see Subsection~\ref{ssec-setrange}.
+is controlled by the character range, see Subsection~\ref{ssec:setrange}.
  \item
 \emph{Whether the character can be used in a control word}
 is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
@@ -2485,7 +2543,7 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
 分割している:
 \begin{description}
  \item[欧文/和文の区別 (\upTeX)]
-\cs{ltjdefcharrange} と\textsf{jacharrange}パラメータ(\ref{ssec-setrange}節)
+\cs{ltjdefcharrange} と\textsf{jacharrange}パラメータ(\ref{ssec:setrange}節)
  \item[制御綴中に使用可か]
 \LuaTeX 自身の \cs{catcode} でよい
  \item[\Param{jcharwidowpenalty}が挿入可か]
@@ -2528,23 +2586,23 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
 %</en>
 %<*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}
 言い換えると,
@@ -2555,10 +2613,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 における初期設定と同じになるようにしている.}
 %</ja>
 
 \begin{table}
@@ -2752,7 +2810,9 @@ We implemented this for debugging purpose.
 The fifth column (\emph{utod} direction) corresponds the ``\texttt{tate (math) direction}'' of \pTeX.
 
 Directions can be changed by \cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod},
-only when the current list is null. Also, the direction of a math formula is changed to
+only when the current list is null.
+These commands cannot be executed in unrestricted horizontal modes, nor math modes.
+The direction of a math formula is changed to
 \emph{utod}, when the direction outside the math formula is \emph{tate} (vertical writing).
 %</en>
 
@@ -2766,6 +2826,8 @@ Down-TO-Upの意味なのだろう.\cs{dtou} を使用する機会はないだ
 
 組方向は,\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod} をそれぞれ使用することで,
 現在作成中のリストやボックスが空の時にのみ変更可能である.
+ただし,現在のモードが非制限水平モードや(文中,別行立て問わず)数式モードであるときには
+組方向を変更することは出来ない.
 また,縦組中の数式内のボックスは\pTeX と同じように組方向が \cs{utod} となる.
 %</ja>
 
@@ -3240,7 +3302,7 @@ overridden by \LuaTeX-ja, using~\verb+\protected\def+.
 %<ja>\section{フォントメトリックと和文フォント}
 %<en>\subsection{\cs{jfont}}
 %<ja>\subsection{\cs{jfont} 命令}
-\label{ssec-jfont}
+\label{ssec:jfont}
 
 %<*en>
 To load a font as a Japanese font (for horizontal direction), you must use the
@@ -3477,7 +3539,7 @@ because of the compatibility with previous versions of \LuaTeX-ja.
 \autoref{fig:kern-jfm}を参照.
 \begin{itemize}
  \item \emph{\cs{jfont} や,
-NFSS2用の命令(\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節)における指定では
+NFSS2用の命令(\ref{ssec:chgfnt}節,\ref{ssec:nfsspat}節)における指定では
 カーニング情報は標準で使用する}ことになっているようである.
 言い換えれば,カーニング情報を使用しない設定にするには,面倒でも
 \begin{lstlisting}
@@ -3553,6 +3615,28 @@ JFM中における \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
 3キーは再び有効化される.\texttt{-ltjksp}, \texttt{+ltjksp} を複数回指定した場合は,
 最後に指定したものが有効となる.
 %</ja>
+%<*en>
+\paragraph{\texttt{ltjksp}}
+\label{pg:ltjksp}
+\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
+\texttt{kanjiskip\_shrink} keys (Page~\pageref{pg:ksp_nat}) makes tha
+\LuaTeX-ja inserts not only a glue which is specified by a JFM, and also
+the natural width/stretch part/shrink part of \Param{kanjiskip}.
+
+This functionality is disabled by \texttt{-ltjksp} specification.
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+
+\jfont\G=file:KozMinPr6N-Regular.otf%
+  :jfm=ujis;-ltjksp at 9.2487pt
+\G\leavevmode%
+\vrule\hbox to 15\zw{あ「い」う,えお}\vrule
+\end{LTXexample}
+%</en>
+
+
 
 
 %<en>\subsection{\cs{tfont}}
@@ -3674,7 +3758,7 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
  }.
  \item さらに,「いかなるscript,~languageでも\texttt{vert}により置換されない」グリフ
   のうち,UAX~\#50で``r''もしくは``Tr''と指定されているものは90度自動回転させる.
- \item \ref{ssec-math}節で述べる,数式中の和文フォントには縦組用和文フォントは指定できない.
+ \item \ref{ssec:math}節で述べる,数式中の和文フォントには縦組用和文フォントは指定できない.
  \item \texttt{jfm=<name>}\ の部分には縦組用JFMを指定する.
 以下の縦組用JFMが\LuaTeX-jaには同梱されている.%おり,違いを\autoref{tab-difjfm-tate}に示した.
 \begin{description}
@@ -3693,7 +3777,7 @@ A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont
 
 %<en>\subsection{Prefix \texttt{psft}}
 %<ja>\subsection{\texttt{psft}プリフィックス}
-\label{ssec-psft}
+\label{ssec:psft}
 %<*en>
 Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
 are introduced in the \Pkg{luaotfload} package,
@@ -3796,7 +3880,7 @@ Please contact the LuaTeX-ja project team.
 
 %<en>\subsection{Structure of a JFM file}
 %<ja>\subsection{JFMファイルの構造}
-\label{ssec-jfm-str}
+\label{ssec:jfm-str}
 %<en>A JFM file is a Lua script which has only one function call:
 %<ja>JFMファイルはただ一つの関数呼び出しを含むLuaスクリプトである:
 \begin{lstlisting}
@@ -4254,7 +4338,7 @@ we specify <ratio> to $0.25/(0.5+0.25)=1/3$.
 \begin{cslist}[style=standard]
 \item[priority=<priority>]
              \Pkg{luatexja-adjust}による優先順位付き
-            行長調整(\ref{ssec-adj}節)において,このグルーの優先度を指定する.許される値は以下の通り:
+            行長調整(\ref{ssec:adj}節)において,このグルーの優先度を指定する.許される値は以下の通り:
   \begin{description}
     \item[バージョン1] $-4$から$+3$の間の整数
     \item[バージョン2以降] $-4$から$+3$の間の整数の2つ組\texttt{\{<stretch>, <shrink>\}}か,
@@ -4282,6 +4366,9 @@ JFMによって本来挿入されるグルーの他に
 自然長・縮み量半角,伸び量0のグルー
 となっているが,さらに\Param{kanjiskip}の伸び量に \texttt{kanjiskip\_stretch}(ここでは1)を掛け
        た分だけ伸びることが許される.
+ \item 一方,開き括弧類と通常の文字の間,また通常の文字と閉じ括弧類の間は
+  自然長・縮み量・伸び量0のグルーだが,\Param{kanjiskip}の縮み量に
+  \texttt{kanjiskip\_shrink}(ここでは1)を掛けた分だけ縮むことが許される.
 \end{itemize}
 となっている.従って,以下のような組版結果を得る.
 
@@ -4290,6 +4377,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}
@@ -4303,7 +4394,7 @@ An integer in $[-4,3]$ (treated as 0 if omitted), or
 a pair of these integers \texttt{\{<stretch>, <shrink>\}} (version 2~or~later).
 This is
 used only in line adjustment with priority by \Pkg{luatexja-adjust}
-(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to stretch,
+(see Subsection~\ref{ssec:adj}). Higher value means the glue is easy to stretch,
 and is also easy to shrink. 
 \item[kanjiskip\_natural=<num>\textrm{, }%
   kanjiskip\_stretch=<num>\textrm{, }kanjiskip\_shrink=<num>]\leavevmode
@@ -4324,6 +4415,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:
 
@@ -4332,11 +4427,15 @@ 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}
 %</en>
-
+  
 \item[end\_stretch=<kern>, end\_shrink=<kern>]
 %<*ja>
 (任意,バージョン1のみ)
@@ -4351,24 +4450,24 @@ Hence we have the following result:
 
   \item[end\_adjust=\{<kern>, <kern>, ...\}]
 %<*ja>
-(任意,バージョン2のみ
+(任意,バージョン2以降
 
 優先順位付き行長調整が有効であり,かつ現在の文字クラスの文字が
   行末に来た時に,この文字と行末の間には指定された値のいずれかの大きさのカーンが
-  挿入される(\autoref{ssec-adj}参照).
+  挿入される(\autoref{ssec:adj}参照).
 
 バージョン1における
 \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$かいずれかのカーンが常に行末に追加される.
 %</ja>
 %<*en>
-(optional, version~2 only)
+(optional, version~2 or~later)
 %</en>
 
 \end{cslist}
@@ -4513,7 +4612,7 @@ The following is the list of imaginary characters:
 
 \item['glue']
 %<en>(version 3~or~later) A boundary between \textbf{JAchar}, and, a glue or kern.
-%<ja>(バージョン3以降)\textbf{JAchar}とglue,kernとの境界.
+%<ja>(バージョン3以降)\textbf{JAchar}とglue,kernとの境界.
 
 \item[$-1$]
 %<en>The left/right boundary of an inline math formula.
@@ -4581,7 +4680,7 @@ JFM側で一部の対処ができることにより,\Pkg{jsclasses}のよう
 
 %<en>\subsection{Math font family}
 %<ja>\subsection{数式フォントファミリ}
-\label{ssec-math}
+\label{ssec:math}
 
 %<*en>
 \TeX\ handles fonts in math formulas by 16~font families\footnote{Omega,
@@ -4926,7 +5025,7 @@ Then, the position of glyphs is shifted up by
 %<en>\section{Parameters}
 %<ja>\section{パラメータ}
 \subsection{\cs{ltjsetparameter}}
-\label{ssec-param}
+\label{ssec:param}
 
 %<*en>
 As described before, \cs{ltjsetparameter} and \cs{ltjgetparameter} are
@@ -5156,7 +5255,7 @@ The default glue which inserted between two \textbf{JAchar}s.
 Changing current Japanese font does not alter this parameter, as \pTeX.
 
 If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
-the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec:jfm-str}).
 %</en>
 
 \item[\DParam{xkanjiskip}\,=<skip>$^\ast$] [\cs{xkanjiskip}]\
@@ -5172,7 +5271,7 @@ The default glue which inserted between a \textbf{JAchar} and an
 Changing current font does not alter this parameter, as \pTeX.
 
 As \Param{kanjiskip}, if the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
-the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec:jfm-str}).
 %</en>
 
 
@@ -5201,7 +5300,7 @@ The default value is \texttt{paverage}. \dots
 %</en>
 %<*ja>
 デフォルト値は \texttt{paverage} である.
-各々の値による差異の詳細は\ref{ssec-cluster-wa}節の「『右空白』の算出」を参照してほしい.
+各々の値による差異の詳細は\ref{ssec:cluster-wa}節の「『右空白』の算出」を参照してほしい.
 %</ja>
 
 \item[\DParam{jacharrange}\,=<ranges>]
@@ -5227,7 +5326,7 @@ the behavior of this assignment is undefined.
 
 
 \subsection{\cs{ltjgetparameter}}
-\label{ssec-getpar}
+\label{ssec:getpar}
 %<*en>
 \cs{ltjgetparameter} is a control sequence for acquiring parameters. It
 always takes a parameter name as first argument.
@@ -5426,6 +5525,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.
+%</en>
+
 %<*ja>
 \subsection{\cs{ltjsetparameter} の代替}
 原則として各種内部パラメータの設定には \cs{ltjsetparameter} もしくは
@@ -5434,7 +5583,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{%
@@ -5697,7 +5846,7 @@ As an example, the example above can be improved as follows:
 
 
 \subsection{\cs{ltjdeclarealtfont}}
-\label{ssec-altfont}
+\label{ssec:altfont}
 %<*en>
 Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
 This \cs{ltjdeclarealtfont} uses in the following form:
@@ -5766,7 +5915,7 @@ are typeset by \cs{piyo}.
 \subsection{\cs{ltjalchar} と \cs{ltjjachar}}
 文字コードが$\text{<chr\_code>}~(\geq 128=\mathtt{0x80})$の文字を
 \ \cs{char} プリミティブを使い \cs{char}<chr\_code> として出力させると,
-その文字の属する文字範囲(\ref{ssec-setrange}節参照)によって
+その文字の属する文字範囲(\ref{ssec:setrange}節参照)によって
 \textbf{ALchar}か\textbf{JAchar}か,つまり欧文フォントで出力されるか和文フォントで出力され
 るかが決まる.
 
@@ -5777,7 +5926,7 @@ are typeset by \cs{piyo}.
 <chr\_code>が127以下の場合は,\cs{ltjjachar} であっても\textbf{ALchar}として出力されること
 に注意.
 
-以下は\ref{ssec-setrange}節に載せた例に,\cs{char} の動作を追加したものである.
+以下は\ref{ssec:setrange}節に載せた例に,\cs{char} の動作を追加したものである.
 \begin{LTXexample}[width=0.25\textwidth]
 \gtfamily\large % default, ALchar, JAchar
 ¶, \char`¶, \ltjalchar`¶, \ltjjachar`¶\\    % default: ALchar
@@ -5790,19 +5939,19 @@ are typeset by \cs{piyo}.
 
 %<en>\subsection{Patch for NFSS2}
 %<ja>\subsection{NFSS2へのパッチ}
-\label{ssec-nfsspat}
+\label{ssec:nfsspat}
 
 %<*en>
 Japanese patch for NFSS2 in \LuaTeX-ja
 is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
 We will describe
-commands which are not described in Subsection~\ref{ssec-chgfnt}.
+commands which are not described in Subsection~\ref{ssec:chgfnt}.
 %</en>
 %<*ja>
 \LuaTeX-jaのNFSS2への日本語パッチは
 \pLaTeXe で同様の役割を果たす \texttt{plfonts.dtx} をベースに,
 和文エンコーディングの管理等をLuaで書きなおしたものである.
-ここでは\ref{ssec-chgfnt}節で述べていなかった命令について
+ここでは\ref{ssec:chgfnt}節で述べていなかった命令について
 記述しておく.
 %</ja>
 
@@ -5929,17 +6078,16 @@ assignment, where \cs{DeclareRelationFont} does a global assignment.
 
 \item[\cs{userelfont}]
 %<*en>
-Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
-            font family with respect to current Japanese font family,
-            which was set by
-            \cs{DeclareRelationFont} or \cs{SetRelationFont}.
-Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
+(Only)~at the next call of \cs{selectfont},
+  change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
+  font family with respect to current Japanese font family,
+  which was set by
+  \cs{DeclareRelationFont} or \cs{SetRelationFont}.
 %</en>
 %<*ja>
-現在の欧文フォントのエンコーディング/ファミリ/…… を,
+次回(のみ)の\cs{selectfont}の実行時に,現在の欧文フォントのエンコーディング/ファミリ/…… を,
 \cs{DeclareRelationFont} か \cs{SetRelationFont} で指定された
 現在の和文フォントに対応する「従属欧文」フォントに変更する.
-\cs{fontfamily} のように,有効にするためには \cs{selectfont} が必要である.
 %</ja>
 
 \item[\cs{adjustbaseline}]
@@ -5980,11 +6128,11 @@ character whose character class is zero,  instead of `あ'.
 \item[\cs{fontfamily}\{<family>\}]
 %<*en>
 As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
-to <family>. See Subsection~\ref{ssec-fontfamilycmd} for detail.
+to <family>. See Subsection~\ref{ssec:fontfamilycmd} for detail.
 %</en>
 %<*ja>
 元々の\LaTeXe におけるものと同様に,このコマンドは現在のフォントファミリ(欧文,
-和文,\emph{もしくは両方})を<family>に変更する.詳細は\ref{ssec-fontfamilycmd}節を参照すること.
+和文,\emph{もしくは両方})を<family>に変更する.詳細は\ref{ssec:fontfamilycmd}節を参照すること.
 %</ja>
 
 
@@ -6007,7 +6155,7 @@ to <family>. See Subsection~\ref{ssec-fontfamilycmd} for detail.
 \item[\cs{DeclareAlternateKanjiFont}\{<base-encoding>\}\{<base-family>\}\{<base-series>\}\{<base-shape>\}\\
   \null\hfill\{<alt-encoding>\}\{<alt-family>\}\{<alt-series>\}\{<alt-shape>\}\{<range>\}]
 %<*ja>
-\ref{ssec-altfont}節の\
+\ref{ssec:altfont}節の\
 \cs{ltjdeclarealtfont} と同様に,前半の4引数の
 和文フォント(基底フォント)のうち<range>中の文字を
 第5から第8引数の和文フォントを使って組むように指示する.
@@ -6027,7 +6175,7 @@ to <family>. See Subsection~\ref{ssec-fontfamilycmd} for detail.
 \end{itemize}%
 %</ja>
 %<*en>
-As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}),
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}),
 characters in <range> of the Japanese font (we say the \emph{base font})
 which specified by first 4 arguments are typeset
 by the Japanese font which specified by fifth to eighth arguments
@@ -6053,18 +6201,18 @@ As closing this subsection, we shall introduce an example of
 %<*ja>
 この節の終わりに,\cs{SetRelationFont} と \cs{userelfont} の例を
 紹介しておこう.\cs{userelfont} の使用によって,「abc」の部分のフォントが
-Avant Garde (OT1/pag/m/n) に変わっていることがわかる.
+Latin Modern Sans Serif (TU/lmss/m/n) に変わっていることがわかる.
 %</ja>
 \begin{LTXexample}[width=0.3\textwidth]
 \makeatletter
-\SetRelationFont{JY3}{\k@family}{m}{n}{OT1}{pag}{m}{n}
+\SetRelationFont{JY3}{\k@family}{m}{n}{TU}{lmss}{m}{n}
   % \k@family: current Japanese font family
 \userelfont\selectfont あいうabc
 \end{LTXexample}
 
 %<en>\subsection{Detail of \cs{fontfamily} command}
 %<ja>\subsection{\cs{fontfamily}コマンドの詳細}
-\label{ssec-fontfamilycmd}
+\label{ssec:fontfamilycmd}
 %<*en>
 In this subsection, we describe when \cs{fontfamily}<family> changes current
 Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to
@@ -6254,7 +6402,7 @@ for example, the meaning of \cs{TU\cs{textquotedblleft}} is \cs{ltjalchar8220\lt
 
 \begin{table}[t]
   \centering\small
-  \caption{strut}\label{tab:strutbox}
+  \caption{strut}\label{tab:strutbox}\medskip
   \begin{tabular}{llcccl}
     \toprule
     \textbf{box}&\textbf{direction}&\textbf{width}&\textbf{height}&\textbf{depth}
@@ -6301,9 +6449,9 @@ by \cs{input}.
 \cs{input} で読み込み可能である.
 %</ja>
 \subsection{\Pkg{luatexja-fontspec}}
-\label{ssec-fontspec2}
+\label{ssec:fontspec2}
 %<*en>
-As described in Subsection~\ref{ssec-fontspec}, this optional package
+As described in Subsection~\ref{ssec:fontspec}, this optional package
 provides the counterparts for several commands defined in the
 \Pkg{fontspec} package (requires \Pkg{fontspec}~v2.4).
 In addition to OpenType font features in the original \Pkg{fontspec},
@@ -6311,7 +6459,7 @@ the following ``font features'' specifications are allowed for
 the commands of Japanese version:
 %</en>
 %<*ja>
-\ref{ssec-fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}%
+\ref{ssec:fontspec}節で述べたように,この追加パッケージは\Pkg{fontspec}%
 パッケージで定義されているコマンドに対応する和文フォント用のコマンドを提供する.
 
 \Pkg{fontspec}パッケージで指定可能な各種OpenType機能に加えて,和文版のコマンドには
@@ -6325,7 +6473,7 @@ the commands of Japanese version:
 %<*en>
 These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
 \texttt{jfmvar} keys for \cs{jfont}~and~\cs{tfont} respectively.
-See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details
+See Subsections~\ref{ssec:jfont} and \ref{ssec:psft} for details
  of \texttt{cid}, \texttt{jfm} and
 \texttt{jfmvar} keys.
 
@@ -6337,8 +6485,8 @@ will be actually used in \texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
 %<*ja>
 これら3つのキーはそれぞれ \cs{jfont},~\cs{tfont}に対する
 \texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーとそれぞれ対応する.
-\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーの詳細は\ref{ssec-jfont}節
-            と\ref{ssec-psft}節を参照.
+\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーの詳細は\ref{ssec:jfont}節
+            と\ref{ssec:psft}節を参照.
 
 \texttt{CID} キーは下の \texttt{NoEmbed} と合わせて用いられたときのみ有効である.
 また,横組用JFMと縦組用JFMは共用できないため,実際に \texttt{JFM} キーを用いる際は
@@ -6349,11 +6497,11 @@ will be actually used in \texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
 \item[NoEmbed]
 %<*en>
 By specifying this key, one can use ``name-only'' Japanese font which
-will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
+will not be embedded in the output PDF file. See Subsection~\ref{ssec:psft}.
 %</en>
 %<*ja>
 これを指定することで,PDFに埋め込まれない「名前だけ」のフォントを指定することが
-できる.\ref{ssec-psft}節を参照.
+できる.\ref{ssec:psft}節を参照.
 %</ja>
 
 \begin{figure}[!tb]
@@ -6425,16 +6573,16 @@ A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
 \item[AltFont]
 
 %<*en>
-As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}) and
-\cs{DeclareAlternateKanjiFont}~(Subsection~\ref{ssec-nfsspat}),
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}) and
+\cs{DeclareAlternateKanjiFont}~(Subsection~\ref{ssec:nfsspat}),
 with this key, one can typeset some Japanese characters
 by a different font and/or using different features.
 The \texttt{AltFont} feature takes a comma-separated list of comma-separated lists,
 as the following:
 %</en>
 %<*ja>
-\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} や,
-\ref{ssec-nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に,
+\ref{ssec:altfont}節の \cs{ltjdeclarealtfont} や,
+\ref{ssec:nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に,
 このキーを用いると一部の文字を異なったフォントや機能たちを使って組むことができる.
 \texttt{AltFont} キーに指定する値は,次のように二重のコンマ区切りリストである:
 %</ja>
@@ -6534,7 +6682,7 @@ OpenType機能指定は
 
 
 \subsection{\Pkg{luatexja-otf}}
-\label{ssec-ltjotf}
+\label{ssec:ltjotf}
 %<*en>
 This optional package supports typesetting glyphs
 by specifying a CID number.
@@ -6640,7 +6788,7 @@ JFMの\texttt{chars}テーブルのエントリとして \verb+'AJ1-xxx'+ の形
 %</ja>
 
 \subsection{\Pkg{luatexja-adjust}}
-\label{ssec-adj}
+\label{ssec:adj}
 \begin{figure}[t]
 \def\sq{%
   \hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
@@ -6671,11 +6819,11 @@ with priority&%
 \\
 \bottomrule
 \end{tabular}\par}
-\smallskip
+\medskip
 
-Note: the value of
+\fakefn{}{The value of
 \Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
-for making the difference obvious.
+for making the difference obvious.}
 %<ja>\caption{行長調整}\label{fig:adj}
 %<en>\caption{Line adjustment}\label{fig:adj}
 \end{figure}
@@ -6687,12 +6835,12 @@ for making the difference obvious.
 %<*ja>
 この追加パッケージは以下の機能を提供する.詳細な仕様については\ref{sec-adjspec}章を参照してほしい.
 \begin{description}
-\item[行末文字の位置調整]
+ \item[行末文字の位置調整]
   \pTeX では,(是非はともかく)「行末の読点はぶら下げか二分取りか全角取りのいずれかに」のように
   行末文字と実際の行末の位置関係を2通り以上にすることは面倒であった.
   和文フォントメトリックだけでは「常に行末の読点はぶら下げ」といったことしかできず,
   前の文に書いたことを実現するには
-\begin{lstlisting}
+  \begin{lstlisting}
 \def\。{%
   \penalty10000 % 禁則ペナルティ
   \hbox to0pt{。\hss}\penalty0 % ぶら下げの場合
@@ -6702,48 +6850,184 @@ for making the difference obvious.
 \end{lstlisting}
   のような命令を定義し,文中の全ての句点を \lstinline+\。+ で書くことが必要だった.
 
-\Pkg{luatexja-adjust}パッケージは,上で述べた行末文字と実際の行末との位置関係を
-2通り以上から自動的に選択する機能を提供する.
-\pdfTeX と同じように,「\TeX による行分割の後で行末文字の位置を補正する」方法と
-  「行分割の過程で行末文字の位置を考慮に入れる」方法を選べるようにした
-\Pkg{luatexja-adjust}パッケージの既定では前者).
+  \Pkg{luatexja-adjust}パッケージは,上で述べた行末文字と実際の行末との位置関係を
+  2通り以上から自動的に選択する機能を提供する.
+  \pdfTeX と同じように,「\TeX による行分割の後で行末文字の位置を補正する」方法と
+  「行分割の過程で行末文字の位置を考慮に入れる」方法を選べるようにした
+  (\Pkg{luatexja-adjust}パッケージの既定では前者).
   
-\item[優先順位付きの行長調整]
-\pTeX では,行長調整において優先度の概念が存在しなかったため,図
-\ref{fig:adj}上段における半角分の半端は,\autoref{fig:adj}中段のように,鍵
-括弧周辺の空白と和文間空白(\Param{kanjiskip})の両方によって負担される.し
-かし,「日本語組版処理の要件」\cite{jlreq}やJIS~X~4051~\cite{x4051}におい
-ては,このような状況では半端は鍵括弧周辺の空白のみで負担し,その他の和文
-文字はベタ組で組まれる(\autoref{fig:adj}下段)ことになっている.
-\Pkg{luatexja-adjust}パッケージの提供する第2の機能は,
-\cite{jlreq}や\cite{x4051}における規定のような,優先順位付き
-の行長調整である.
-\begin{itemize}
- \item 優先度付き行長調整は,段落を行分割した後に個々の行について行われるものである.
-そのため,行分割の位置は変化することはない.
+ \item[優先順位付きの行長調整]
+  \pTeX では,行長調整において優先度の概念が存在しなかったため,図
+  \ref{fig:adj}上段における半角分の半端は,\autoref{fig:adj}中段のように,鍵
+  括弧周辺の空白と和文間空白(\Param{kanjiskip})の両方によって負担される.し
+  かし,「日本語組版処理の要件」\cite{jlreq}やJIS~X~4051~\cite{x4051}におい
+  ては,このような状況では半端は鍵括弧周辺の空白のみで負担し,その他の和文
+  文字はベタ組で組まれる(\autoref{fig:adj}下段)ことになっている.
+  \Pkg{luatexja-adjust}パッケージの提供する第2の機能は,
+  \cite{jlreq}や\cite{x4051}における規定のような,優先順位付き
+  の行長調整である.
+  \begin{itemize}
+   \item 優先度付き行長調整は,段落を行分割した後に個々の行について行われるものである.
+       そのため,行分割の位置は変化することはない.
+       
+       \verb+\hbox{...}+ といった「途中で改行できない水平ボックス」では(たとえ幅が指定されていても)無効である.
+   \item 優先度付き行長調整を行うと,和文処理グルーの自然長は変化しないが,伸び量や縮み量は
+       一般に変化する.そのため,既に組まれた段落を \cs{unhbox} などを利用して組み直す処理を
+       行う場合には注意が必要である.
+  \end{itemize}
+  
+ \item[「中身までみた」行送り計算]
+  複数行に渡る文章を組版するときには行間に空きが入ることが普通である.
+  \TeX では各行が一つずつの水平ボックスをなしていることを思い出すと,隣り合った
+  2つの行(つまり水平ボックス)の間の空きは次のようにして決まるのだった:
+  \begin{itemize}
+   \item 「通常に組んだときの行間」$d$を,\cs{baselineskip}から
+       「前の行」の深さと「次の行」の高さを加えたものを引いた値とする.
+   \item $d\ge\cs{lineskiplimit}$の場合,
+       標準の行送り\cs{baselineskip}で組んでも十分な間隔があると判断され,
+       2行の間には長さ$d$の空白が挿入される.つまり行送りは\cs{baselineskip}.
+   \item {\catcode`\<=12$d<\cs{lineskiplimit}$}の場合,
+       2行の間には長さ\cs{lineskip}の空白が挿入される.
+       そのため(設定値によるが,多くの場合)行送りは\cs{baselineskip}より広がる.
+  \end{itemize}
 
-\verb+\hbox{...}+ といった「途中で改行できない水平ボックス」では(たとえ幅が指定されていても)無効である.
- \item 優先度付き行長調整を行うと,和文処理グルーの自然長は変化しないが,伸び量や縮み量は
-一般に変化する.そのため,既に組まれた段落を \cs{unhbox} などを利用して組み直す処理を
-行う場合には注意が必要である.
-\end{itemize}
+  \begin{figure}[t]
+       \noindent\centering
+       \begin{minipage}[b]{18\zw}
+         \ltjenableadjust[profile=false, linestep=false]
+         ……だから,①より$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (a)}
+       \end{minipage}%
+       \kern2\zw
+       \begin{minipage}[b]{18\zw}
+         \ltjenableadjust[profile]
+         ……だから,①より$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (b)}
+       \end{minipage}\par
+         \caption{高い行が連続したときの状況}\label{fig:linegap1}
+  \end{figure}
+
+  ここで,\TeX は行送りの決定で「高さ・深さを取っているものが
+  行のどの水平位置にあるか」は一切考慮しないことに注意してほしい.そのため,
+  \autoref{fig:linegap1}~(a)のように「必要以上に行間が空いて見える」状況が起こることがある.
+
+  \Pkg{luatexja-adjust}パッケージでは,「通常に組んだときの行間」$d$を
+  各行の中身の文字・グルー・ボックスの寸法を勘案して計算するという方法を
+  利用できるようにした.この機能を使うと,\autoref{fig:linegap1}~(b)のように
+  行間の空きが必要以上に大きくなることを避けることができる.
+  \begin{itemize}
+       \item 段落中の隣り合った二行だけでなく,行間の空きは
+       新たに水平ボックス$h$を(内部・外部問わず)垂直モードで追加した時にも自動で挿入される.
+       その場合には,前段落で述べた「中身までみる」処理は
+       \begin{itemize}
+        \item 現在のリストにおける最後のノード
+         \footnote{最後のノードが\cs{parskip}によるグルーであった場合のみ
+               さらに一つ前のノードを参照する}が水平ボックス$h'$であり,かつ
+         \item \cs{prevdepth}の値とその$h'$の深さの値が一致している
+       \end{itemize}
+       場合にのみ発動するようにしている.
+       \item 行の中身に水平ボックス$h''$が入ってくることもあるが,その場合は$h''$の中身までは参照しない.
+       参照するようにしてしまうと,\cs{smash}など手動で行った高さ・深さ調整の意味がなくなってしまうからである.
+  \end{itemize}
+  
+  \begin{figure}[t]
+       \noindent\centering
+       \begin{minipage}[b]{16\zw}
+         \ltjenableadjust[profile]
+         ……だから,①より$\dfrac{a^2}{b}= \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (a): 無効}
+       \end{minipage}%
+       \kern2\zw
+       \begin{minipage}[b]{16\zw}
+         \ltjsetparameter{linestep_factor=0.25}
+         \ltjenableadjust[profile, linestep]
+         ……だから,①より$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (b): $0.25$\cs{baselineskip}刻み}
+       \end{minipage}\par\medskip
+       \begin{minipage}[b]{16\zw}
+         \ltjsetparameter{linestep_factor=0.5}
+         \ltjenableadjust[profile, linestep]
+         ……だから,①より$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (c): 0.5\cs{baselineskip}刻み}
+       \end{minipage}%
+       \kern2\zw
+       \begin{minipage}[b]{16\zw}
+         \ltjsetparameter{linestep_factor=1}
+         \ltjenableadjust[profile, linestep]
+         ……だから,①より$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$.\\
+         よって$b=\dfrac{1-\sqrt{5}}2$である.\\
+         これを②式に代入すると……
+         \par\vskip\abovecaptionskip
+         \ltjenableadjust[profile=false, linestep=false]
+         \par\centering\leavevmode{\small (d): \cs{baselineskip}刻み}
+       \end{minipage}\par
+         \caption{段階的な行送り増加}\label{fig:linegap2}
+  \end{figure}
+
+ \item[段階的な行送り調整]
+  既に述べたように,
+  「通常に組んだときの行間」$d$が\cs{lineskiplimit}より小さい場合,\TeX 標準では
+  行間は\cs{lineskip}となるのだった.
+  このとき行送りは「前の行の深さ」,「次の行の高さ」,\cs{lineskip}の3つの和になるわけだが,
+  場合によっては行送りを「\cs{baselineskip}の整数倍」などと切りのいい値に揃えたいという状況が
+  考えられなくもない.
+  
+  \Pkg{luatexja-adjust}パッケージでは,{\catcode`\<=12$d<\cs{lineskiplimit}$}のときに
+  行送りを\cs{baselineskip}の\Param{linestep\_factor}倍ずつ増減させて
+  \begin{quote}
+       行間が\cs{lineskip}以上となるような,
+       最小の$(1+k\cdot \Param{linestep\_factor})\cs{baselineskip}$($k$は整数)の値
+  \end{quote}
+  とする機能を利用できるようにした.
+  \autoref{fig:linegap2}の(a)がこの機能を無効にした状況で,(b),~(c),~(d)が
+  それぞれ\Param{linestep\_factor}を0.25,~0.5,~1とした状況である.
+
+  なお,この機能は表組時(\cs{halign},~\cs{valign})には無効である.
+  \LaTeX における表組環境(tabular, arrayなど)では,\cs{baselineskip},~\cs{lineskip}はどちらも0に設定されているので
+  (代わりに各行に\cs{@arstrut}という支柱が入る)ために意味がないことと,
+  数式を内部で表組を使って組むalign環境などではかえって行間が不揃いになってしまうからである.
 \end{description}
 
-\Pkg{luatexja-adjust}パッケージは,上記で述べた2機能を有効化/無効化するための
+\Pkg{luatexja-adjust}パッケージは,上記で述べた4機能を有効化/無効化するための
 以下の命令を提供する.これらはすべてグローバルに効力を発揮する.
 
 \begin{cslist}
 \item[\cs{ltjenableadjust[...]}]
-\verb+...+ に指定したkey-valueリストに従い,「行末文字の位置調整」「優先順位付きの行長調整」を有効化/無効化する.
+\verb+...+ に指定したkey-valueリストに従い,「行末文字の位置調整」「優先順位付きの行長調整」
+  「『中身までみた』行送り計算」「段階的な行送り調整」を有効化/無効化する.
 指定できるキーは以下の通り.
 \begin{description}
   \item[\texttt{lineend=[false,true,extended]}]
   行末文字の位置調整の機能を無効化(\texttt{false}),「行分割後に調整」の形で有効化(\texttt{true}),
-  「行分割の仮定で考慮」(\texttt{extended})する.
+  「行分割の仮定で考慮」の形で有効化(\texttt{extended})する.
   \item[\texttt{priority=[false,true]}]
-  優先順位付きの行長調整を無効化(\texttt{false}),または有効化(\texttt{true})する.
+  優先順位付きの行長調整を無効化(\texttt{false}),または有効化(\texttt{true}).
+  \item[\texttt{profile=[false,true]}]
+  「中身までみた」行送り計算を無効化(\texttt{false}),または有効化(\texttt{true}).
+  \item[\texttt{linestep=[false,true]}]
+  段階的な行送り調整を無効化(\texttt{false}),または有効化(\texttt{true}).
 \end{description}
-キーともキー名のみを指定した場合は値として\texttt{true}が指定されたものと扱われる.
+どのキーともキー名のみを指定した場合は値として\texttt{true}が指定されたものと扱われる.
 
 互換性の為,オプション無しでただ\cs{ltjenableadjust}が呼び出された場合は,
 \begin{lstlisting}
@@ -6754,13 +7038,13 @@ for making the difference obvious.
 \item[\cs{ltjdisableadjust}]
 \Pkg{luatexja-adjust}パッケージの機能を無効化する.
 \begin{lstlisting}
-\ltjenableadjust[lineend=false,priority=false]
+\ltjenableadjust[lineend=false,priority=false,profile=false,linestep=false]
 \end{lstlisting}
 と同義.
 \end{cslist}
 
-また,優先順位付きの行長調整のために,次の2パラメータが\cs{ltjsetparameter}内で
-追加される.両パラメータともグローバルに効力を発揮する.
+また,優先順位付きの行長調整のために,次の3パラメータが\cs{ltjsetparameter}内で
+追加される.いずれもグローバルに効力を発揮する.
 \begin{cslist}[style=standard]
 \item[\DParam{stretch\_priority}\,=\{<list>\}]
 \Param{kanjiskip}, \Param{xkanjiskip},および「\textbf{JAglue}以外のグルー」を,
@@ -6779,8 +7063,14 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
 \item[\DParam{shrink\_priority}\,=\{<list>\}]
 同様に,「行を自然長より縮める」場合の調整に用いる優先度を指定する.
 それ以外は\Param{stretch\_priority}と指定の形式は変わらない.
+
+ \item[\DParam{linestep\_factor}\,=<float>]
+  段階的な行送り調整の際,\cs{baselineskip}の何倍単位で行送りを変えるかを指定する.
+  0を指定すると無効になるのと変わらない.また負数を指定すると,
+  その絶対値が指定されたかのように扱われる.
+  初期値は0.5(つまり半行単位)である.
 \end{cslist}
-初期値は\Param{stretch\_priority}, \Param{shrink\_priority}と
+\Param{stretch\_priority}, \Param{shrink\_priority}の初期値はどちら
 \begin{lstlisting}
 {kanjiskip=-35,xkanjiskip=-25,others=50}
 \end{lstlisting}
@@ -7175,9 +7465,14 @@ In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fon
 %</en>
 %<*ja>
 \LaTeX 標準のフォント選択機構(NFSS2)を用いて
-\texttt{ltjpm}(明朝),\texttt{ltjpg}(ゴシック),それに後に述べる \texttt{deluxe} オプ
-            ションが指定された場合には \texttt{ltjpmg}(丸ゴシック)という
-3つの和文フォントファミリを定義し,これらを用いる.
+\texttt{ltjpm}$n$(明朝),\texttt{ltjpg}$n$(ゴシック),
+それに後に述べる\texttt{deluxe}オプションが指定された場合には
+\texttt{ltjpmg}$n$(丸ゴシック)という
+和文フォントファミリを定義%
+\footnote{%
+  $n$は自然数であり,\cs{ltjapplypreset}の実行(この命令は\Pkg{luatexja-preset}パッケージ
+  読み込み時に自動的に実行される)ごとに増加していく.
+}し,これらを用いる.
 
 本オプション指定時には\Pkg{fontspec}・\Pkg{luatexja-fontspec}パッケージは
 自動では読み込まれない,しかし,
@@ -7187,9 +7482,10 @@ In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fon
 \end{lstlisting}
 のようにすれば,このオプションを指定すれば
 欧文フォントを\Pkg{fontspec}パッケージの機能を使って指定することができる.
-一方,
-パッケージ読み込み時に既に\Pkg{luatexja-fontspec}パッケージが読み込まれて
-            いる場合は \texttt{nfssonly} オプションは無視される.
+
+一方,\Pkg{luatexja-preset}パッケージ読み込み時に
+既に\Pkg{luatexja-fontspec}パッケージが読み込まれている場合は
+\texttt{nfssonly}オプションは無視される.
 %</ja>
 
 \item[match]
@@ -7285,12 +7581,12 @@ since we use same font for both series of gothic.
           いため,
 「ゴシック体の中字」も同時に変更されることになる.
 %</ja>
-\item[90jis]
-%<en>Use 90JIS glyph variants if possible.
-%<ja>出来る限り90JISの字形を使う.
-\item[jis2004]
-%<en>Use JIS2004 glyph variants if possible.
-%<ja>出来る限りJIS2004の字形を使う.
+\item[jis90\textrm{,~}90jis]
+%<en>Use JIS~X~0208:1990 glyph variants if possible.
+%<ja>出来る限りJIS~X~0208:1990の字形を使う.
+\item[jis2004\textrm{,~}2004jis]
+%<en>Use JIS~X~0213:2004 glyph variants if possible.
+%<ja>出来る限りJIS~X~0213:2004の字形を使う.
 \item[jfm\_yoko=<jfm>]
 %<*en>
 Use the JFM \texttt{jfm-<jfm>.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM).
@@ -7314,14 +7610,14 @@ Use the JFM \texttt{jfm-<jfm>.lua} for vertical direction, instead of \texttt{jf
 
 \end{cslist}
 %<*en>
-Note that \texttt{90jis} and \texttt{jis2004} only affect with mincho,
+Note that \texttt{jis90},~\texttt{90jis}, \texttt{jis2004}~and~\texttt{2004jis} only affect with mincho,
 gothic (and, possibly rounded gothic) families defined by this package.
-We didn't taken account of  when both \texttt{90jis} and \texttt{jis2004} are specified.
+We didn't taken account of when more than one options among them are specified.
 %</en>
 %<*ja>
-\texttt{90jis}と\texttt{jis2004}については本パッケージで定義された
+\texttt{jis90},~\texttt{90jis}, \texttt{jis2004},~\texttt{2004jis}については本パッケージで定義された
 明朝体・ゴシック体(・丸ゴシック体)にのみ有効である.
-両オプションが同時に指定された場合の動作については全く考慮していない.
+これら4オプションのうち複数が同時に指定された場合の動作については全く考慮していない.
 %</ja>
 
 %<en>\subsubsection{Presets which support multi weights}
@@ -7694,17 +7990,17 @@ Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic P
 are internally specified by:
 \begin{description}
 \item[default] by font name (\texttt{HGMinchoE}, etc.).
-\item[{\tt 90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
-\item[{\tt jis2004}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
+\item[\texttt{jis90}, \texttt{90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
+\item[\texttt{jis2004}, \texttt{2004jis}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
 \end{description}
 %</en>
 %<*ja>
 なお,HG明朝E・HGゴシックE・HG創英角ゴシックUB・HG丸ゴシック体PROの4つについては,内部で
 \begin{description}
 \item[標準] フォント名(\texttt{HGMinchoE} など)
-\item[{\tt 90jis}指定時] ファイル名 (%
+\item[\texttt{jis90}, \texttt{90jis}指定時] ファイル名 (%
 \texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
-\item[{\tt jis2004}指定時] ファイル名 (%
+\item[\texttt{jis2004}, \texttt{2004jis}指定時] ファイル名 (%
 \texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
 \end{description}
 として指定を行っているので注意すること.
@@ -7714,11 +8010,11 @@ are internally specified by:
 %<ja>\subsubsection{新たなプリセットの定義}
 
 %<*ja>
-バージョン********.0以降では,自分で新たなプリセットを定義することが出来るようになった.
+バージョン20170904.0以降では,自分で新たなプリセットを定義することが出来るようになった.
 以下に説明する2命令はプリアンブルでしか実行できない.
 %</ja>
 %<*en>
-From version~********.0, one can define new presets using \cs{ltjnewpreset},
+From version~20170904.0, one can define new presets using \cs{ltjnewpreset},
 and use them by \cs{ltjapplypreset}. These two commands can only be used in the preamble.
 %</en>
 \begin{cslist}