OSDN Git Service

Changed initial 'vertical placement' of a real glyph in vertical fonts.
[luatex-ja/luatexja.git] / doc / luatexja.dtx
index 6407cc6..c5b0118 100644 (file)
@@ -47,7 +47,8 @@
 %</ja>
 
 \usepackage{amsmath,array,tikz,pict2e,multienum,float}
-\usepackage{booktabs,multicol}
+\usepackage{booktabs,multicol,luatexja-ruby}
+\usepackage{xy}
 
 %%%%%%%% listings
 
 \newenvironment{cslist}{%
 %<ja>  \leftskip2\zw
 %<en>  \leftskip2em
-  \parindent=0pt\def\makelabel##1{{\tt\textbackslash ##1}}
+  \parindent=0pt\def\makelabel##1{\cs{##1}}
   \def\{{\char`\{}\def\}{\char`\}}
   \let\origitem=\item
   \def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par}
   \vskip\belowcaptionskip}
 
 \def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
+\def\cs#1{\texttt{\upshape\textbackslash #1}}
 
 %%%%%%%%
 \makeatother
 \def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
   #1\mathstrut\cr\noalign{\hrule height.4pt}\strut#2\cr}}}}\,}}
 
-\protected\def\Param#1{\textsf{#1}} % parameter name
+\protected\def\Param#1{\hyperlink{fld:#1}{\textsf{#1}}} % parameter name
+\protected\def\DParam#1{\hypertarget{fld:#1}{\textsf{#1}}} % parameter name (definition)
 \protected\def\Pkg#1{\underline{\smash{\texttt{#1}}}} % packages/classes
 
 
@@ -343,11 +346,11 @@ The followings are major changes from \pTeX:
 
 %<*en>
 \item Furthermore, nodes between two characters which have no effects in
-      line break (\textit{e.g.}, \verb+\special+ node) and kerns from
+      line break (\textit{e.g.}, \cs{special} node) and kerns from
       italic correction are ignored in the insertion process.
 %</en>
 %<*ja>
-\item さらに,2つの文字の間にある行末では効果を持たないノード(例えば \verb+\special+ ノード)や,
+\item さらに,2つの文字の間にある行末では効果を持たないノード(例えば \cs{special} ノード)や,
   イタリック補正に伴い挿入されるカーンは挿入処理中では無視される.
 %</ja>
 
@@ -376,7 +379,7 @@ The followings are major changes from \pTeX:
 
 %<*en>
 \item In the process, two Japanese fonts which only differ in their ``real''
-      fonts are identified. 
+      fonts are identified.
 %</en>
 %<*ja>
 \item 処理中では,2つの和文フォントは,実フォントが異なるだけの場合には同一視
@@ -386,16 +389,14 @@ The followings are major changes from \pTeX:
 
 %<*ja>
 \item \LuaTeX-jaでは,\pTeX と同様に漢字・仮名を制御綴内に用いることができ,
-\verb+\西暦+ などが正しく動作するようにしている.
+\cs{西暦} などが正しく動作するようにしている.
 但し,制御綴中に使える和文文字が\pTeX・\upTeX と全く同じではないことに注意すること.
 %</ja>
 
-%<*en>
-\item At the present, vertical typesetting (\emph{tategaki}), is not
-      supported in \LuaTeX-ja.
-%</en>
 %<*ja>
-\item 現時点では,縦書きは\LuaTeX-jaではサポートされていない.
+\item ****版からは,不安定ながらも\LuaTeX-ja における縦組みをサポートしている.
+\LuaTeX のコールバックの制限などにより,特に異なった組方向のボックスを扱う場合には
+仕様が異なるので注意すること.
 %</ja>
 \end{itemize}
 
@@ -440,7 +441,7 @@ In this document, the following terms and notations are used:
 \end{itemize}
 
 %<*en>
-We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar}, 
+We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
 and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 %</en>
 %<*ja>
@@ -448,13 +449,13 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 \textbf{JAchar}の出力に用いられるフォントを\emph{和文フォント}と呼ぶ.
 %</ja>
 %<*en>
-\item A word in a sans-serif font (like \Param{\hyperlink{fld:prebp}{prebreakpenalty}})
+\item A word in a sans-serif font (like \Param{prebreakpenalty})
       means an internal parameter for Japanese typesetting, and it
-      is used as a key in \verb+\ltjsetparameter+ command.
+      is used as a key in \cs{ltjsetparameter} command.
 %</en>
 %<*ja>
-\item サンセリフ体で書かれた語(例:\Param{\hyperlink{fld:prebp}{prebreakpenalty}})は日本語組版用の
-      パラメータを表し,これらは \verb+\ltjsetparameter+ コマンドのキーとして
+\item サンセリフ体で書かれた語(例:\Param{prebreakpenalty})は日本語組版用の
+      パラメータを表し,これらは \cs{ltjsetparameter} 命令のキーとして
       用いられる.
 %</ja>
 %<*en>
@@ -533,6 +534,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
 \item \Pkg{luatexbase} v0.6
 \item \Pkg{xunicode} v0.981~(2011/09/09)
 \item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
+\item \Pkg{everysel}
 \end{itemize}
 
 %<*en>
@@ -550,7 +552,7 @@ Now \LuaTeX-ja is available from the following archive and distributions:
   \item W32\TeX\ (in \texttt{luatexja.tar.xz})
   \end{itemize}
 
-If you are using \TeX~Live~2013, you can install \LuaTeX-ja 
+If you are using \TeX~Live~2013, you can install \LuaTeX-ja
 from \TeX~Live manager (\texttt{tlmgr}):
 \begin{verbatim}
 $ tlmgr install luatexja
@@ -570,7 +572,7 @@ $ tlmgr install luatexja
   \item W32\TeX\ (\texttt{luatexja.tar.xz})
   \end{itemize}
 
-例えば\TeX~Live~2013を利用しているなら,\LuaTeX-jaは\TeX~Live manager (\texttt{tlmgr})を
+例えば\TeX~Live~2013以降を利用しているなら,\LuaTeX-jaは\TeX~Live manager (\texttt{tlmgr})を
 使ってインストールすることができる.
 \begin{verbatim}
 $ tlmgr install luatexja
@@ -594,7 +596,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
 \begin{flushleft}
 \url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
 \end{flushleft}
-\end{itemize} 
+\end{itemize}
 
 Note that the \texttt{master} branch, and hence the archive in CTAN, are not updated frequently;
 the forefront of development is not the \texttt{master} branch.
@@ -630,7 +632,7 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
 
 %<*en>
 \item If you downloaded this package from CTAN, you have to run following commands
-    to generate classes 
+    to generate classes
     and \texttt{ltj-kinsoku.lua} (the file which stores default ``\textit{kinsoku}'' parameters):
 %</en>
 %<*ja>
@@ -689,8 +691,8 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
       従来日本語の文字コードとして用いられてきたEUC-JPやShift-JISは使用できない.
 %</ja>
 %<*en>
-\item \LuaTeX-ja is very slower than \pTeX. 
-Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja 
+\item \LuaTeX-ja is very slower than \pTeX.
+Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
 about 30\% faster than \LuaTeX, but not always.
 %</en>
 %<*ja>
@@ -703,16 +705,16 @@ IPA mj明朝などの大きいフォントを用いた場合には\LuaTeX より
 %<*en>
 \textbf{Note for MiK\TeX\ users}\quad
 \LuaTeX-ja requires that several CMap files%
-\footnote{\texttt{UniJIS2004-UTF32-H} and \texttt{Adobe-Japan1-UCS2}.}
+\footnote{\texttt{UniJIS2004-UTF32-\{H,V\}} and \texttt{Adobe-Japan1-UCS2}.}
 must be found from \LuaTeX.
-Strictly speaking, those CMaps are needed 
+Strictly speaking, those CMaps are needed
 only in the first run of \LuaTeX-ja after installing or updating.
-But it seems that MiK\TeX\ does not satisfy this condition, 
+But it seems that MiK\TeX\ does not satisfy this condition,
 so you will encounter an error like the following:
 %</en>
 %<*ja>
 \LuaTeX-jaが動作するためには,\emph{導入・更新後の初回起動時に}
-\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}という2つのCMapが
+\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}という3つのCMapが
 \LuaTeX によって見つけられることが必要である.
 しかしMiK\TeX ではそのようになっていないので,次のエラーが発生するだろう:
 %</ja>
@@ -724,8 +726,8 @@ bad argument #1 to 'open' (string expected, got nil)
 %<*en>
 If so, please execute a batch file which is written on
 \href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}.
-This batch file creates a temporaly directory, copy CMaps in it, 
-run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
+This batch file creates a temporary directory, copy CMaps in it,
+run \LuaTeX-ja in this directory, and finally delete the temporary directory.
 %</en>
 %<*ja>
 そのような場合には,
@@ -751,25 +753,36 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
 
 \begin{itemize}
 %<*en>
-\item The following 6~Japanese fonts are preloaded:
+\item The following 12~Japanese fonts are preloaded:
 \begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
 \toprule
+\textbf{direction}&
 \textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-\emph{mincho}&Ryumin-Light    &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-\emph{gothic}&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
+\emph{mincho}&Ryumin-Light    &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+\emph{gothic}&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+\midrule
+\smash{\raisebox{-1ex}{\emph{tate} (vertical)}}&
+\emph{mincho}&Ryumin-Light    &\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+\emph{gothic}&GothicBBB-Medium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
 \bottomrule
 \end{tabular}
 \end{center}
 %</en>
 %<*ja>
-\item 以下の6つの和文フォントが定義される:
+\item 以下の12個の和文フォントが定義される:
 \begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
 \toprule
-\emph{字体}&\emph{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-明朝体&Ryumin-Light    &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-ゴシック体&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+\emph{組方向}&\emph{字体}&\emph{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\smash{\raisebox{-1ex}{横組}}&
+明朝体&Ryumin-Light    &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+ゴシック体&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+\midrule
+\smash{\raisebox{-1ex}{縦組}}&
+明朝体&Ryumin-Light    &\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+ゴシック体&GothicBBB-Medium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -779,7 +792,7 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
 \item It is widely accepted that fonts ``Ryumin-Light'' and
       ``GothicBBB-Medium'' aren't embedded into PDF files, and a PDF reader
       substitute them by some external Japanese fonts (\textit{e.g.},
-      Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader). 
+      Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
       We adopt this custom to the default setting.
 %</en>
 %<*ja>
@@ -806,10 +819,10 @@ run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
 
 %<*en>
 \item The amount of glue that are inserted between a \textbf{JAchar} and
-      an \textbf{ALchar} (the parameter \Param{\hyperlink{fld:xks}{xkanjiskip}}) is set to
+      an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
 %</en>
 %<*ja>
-\item \textbf{JAchar}と\textbf{ALchar}の間に入るグルー(\Param{\hyperlink{fld:xks}{xkanjiskip}})の
+\item \textbf{JAchar}と\textbf{ALchar}の間に入るグルー(\Param{xkanjiskip})の
       量は次のように設定されている:
 %</ja>
 \[
@@ -846,13 +859,12 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
 
 \begin{itemize}
 %<*en>
-\item \texttt{JY3} is the font encoding for Japanese fonts (in horizontal direction).\\
-When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3} will be used for vertical fonts.
+\item The font encoding for Japanese fonts (for horizontal direction) is \texttt{JY3}.\\
+\texttt{JT3} is used for Japanese fonts for vertical direction.
 %</en>
 %<*ja>
-\item \texttt{JY3}は和文フォント用のフォントエンコーディングである(横書き用).\\
-将来的に,\LuaTeX-jaで縦書きがサポートされる際には,\texttt{JT3}を縦書き用として
-用いる予定である.
+\item 和文フォントのエンコーディングとしては,横組用には \texttt{JY3},縦組用には\
+\texttt{JT3}が用いられる.
 %</ja>
 
 %<*en>
@@ -863,17 +875,17 @@ When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3}
 \begin{tabular}{lllc}
 \toprule
 \textbf{classification}&&&\textbf{family name}\\\midrule
-\emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+\emph{mincho} (明朝体)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\emph{gothic} (\textgt{ゴシック体})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
 \bottomrule
 \end{tabular}
 \end{center}
-\item 
+\item
 By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
 \begin{center}\small
 \begin{tabular}{ccccc}
 \toprule
-\textbf{classification}&\textbf{family name}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
+\textbf{classification}&\textbf{family name}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
 \emph{mincho} (明朝体)&\tt mc&Ryumin-Light    &GothicBBB-Medium&0.962216\\
 \emph{gothic} (\textgt{ゴシック体})&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
 \bottomrule
@@ -890,8 +902,8 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
 \begin{tabular}{cllc}
 \toprule
 \emph{字体}&&&\emph{ファミリ名}\\\midrule
-明朝体&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\textgt{ゴシック体}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+明朝体&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\textgt{ゴシック体}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -899,7 +911,7 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
 \begin{center}\small
 \begin{tabular}{ccccc}
 \toprule
-\emph{字体}&\emph{ファミリ}&\verb+\mdseries+&\verb+\bfseries+&\emph{スケール}\\\midrule
+\emph{字体}&\emph{ファミリ}&\cs{mdseries}&\cs{bfseries}&\emph{スケール}\\\midrule
 明朝体&\tt mc&Ryumin-Light    &GothicBBB-Medium&0.962216\\
 ゴシック体&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
 \bottomrule
@@ -943,10 +955,11 @@ Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
 \paragraph{plain \TeX}
 %<*en>
 To change Japanese fonts in plain \TeX, you must use the command
-\verb+\jfont+. So please see Subsection~\ref{ssec-jfont}.
+\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec-jfont}.
 %</en>
 %<*ja>
-plain \TeX で和文フォントを変更するためには,\pTeX のように \verb+\jfont+ 命令を直接用いる.
+plain \TeX で和文フォントを変更するためには,
+\pTeX のように \cs{jfont} 命令や \cs{tfont} 命令を直接用いる.
 \ref{ssec-jfont}節を参照.
 %</ja>
 
@@ -960,13 +973,13 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
 %</ja>
 \begin{itemize}
 %<*en>
-\item Commands \verb+\fontfamily+, \verb+\fontseries+,
-      \verb+\fontshape+, and \verb+\selectfont+ can be used to change
+\item Commands \cs{fontfamily}, \cs{fontseries},
+      \cs{fontshape}, and \cs{selectfont} can be used to change
       attributes of Japanese fonts.
 %</en>
 %<*ja>
-\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, そして
-      \verb+\selectfont+ が和文フォントの属性を変更するために使用できる.
+\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, そして
+      \cs{selectfont} が和文フォントの属性を変更するために使用できる.
 %</ja>
 
 %<*en>
@@ -975,13 +988,13 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
 \toprule
 &\textbf{encoding}&\textbf{family}&\textbf{series}&\textbf{shape}&\textbf{selection}\\\midrule
 alphabetic fonts
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
 Japanese fonts
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-both&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+both&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -992,13 +1005,13 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
 \toprule
 &\emph{エンコーディング}&\emph{ファミリ}&\emph{シリーズ}&\emph{シェープ}&\emph{選択}\\\midrule
 欧文
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
 和文
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-両方&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-自動選択&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+両方&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+自動選択&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1010,8 +1023,8 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
       \verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
       \texttt{JY3},and \verb+\fontencoding{T1}+ changes the encoding of
       alphabetic fonts to \texttt{T1}.
-      \verb+\fontfamily+ also changes the current Japanese font family, 
-      the current alphabetic font family, \emph{or both}. 
+      \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}.
 %</en>
 %<*ja>
@@ -1019,23 +1032,23 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
       側かのどちらかのエンコーディングを変更する.例えば,
       \verb+\fontencoding{JY3}+ は和文フォントのエンコーディングを
       \texttt{JY3}に変更し,\verb+\fontencoding{T1}+ は欧文フォント側を
-      \texttt{T1}へと変更する.\verb+\fontfamily+ も引数により和文側,欧文
+      \texttt{T1}へと変更する.\cs{fontfamily} も引数により和文側,欧文
       側,\emph{あるいは両方}のフォントファミリを変更する.詳細は
       \ref{ssec-nfsspat}節を参照すること.
 %</ja>
 
 %<*en>
 \item For defining a Japanese font family, use
-      \verb+\DeclareKanjiFamily+ instead of
-      \verb+\DeclareFontFamily+. However, in the present implementation,
-      using \verb+\DeclareFontFamily+ doesn't cause any problem.
-\item Defining a Japanese font shape can be done by usual \verb+\DeclareFontShape+:
+      \cs{DeclareKanjiFamily} instead of
+      \cs{DeclareFontFamily}. However, in the present implementation,
+      using \cs{DeclareFontFamily} doesn't cause any problem.
+\item Defining a Japanese font shape can be done by usual \cs{DeclareFontShape}:
 %</en>
 %<*ja>
-\item 和文フォントファミリの定義には \verb+\DeclareFontFamily+ の
-      代わりに \verb+\DeclareKanjiFamily+ を用いる.しかし,現在の
-      実装では \verb+\DeclareFontFamily+ を用いても問題は生じない.
-\item 和文フォントのシェイプを定義するには,通常の \verb+\DeclareFontShape+ を使えば良い:
+\item 和文フォントファミリの定義には \cs{DeclareFontFamily} の
+      代わりに \cs{DeclareKanjiFamily} を用いる.しかし,現在の
+      実装では \cs{DeclareFontFamily} を用いても問題は生じない.
+\item 和文フォントのシェイプを定義するには,通常の \cs{DeclareFontShape} を使えば良い:
 %</ja>
 \begin{verbatim}
 \DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
@@ -1043,8 +1056,8 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
 \end{verbatim}
 %<*ja>
 仮名書体を使う場合など,複数の和文フォントを組み合わせて使いたい場合は
-\ref{ssec-altfont}節の \verb+\ltjdeclarealtfont+ と,その\LaTeX 版の\ 
-\verb+\DeclareAlternateKanjiFont+(\ref{ssec-nfsspat}節)を参照せよ.
+\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} と,その\LaTeX 版の\
+\cs{DeclareAlternateKanjiFont}(\ref{ssec-nfsspat}節)を参照せよ.
 %</ja>
 \end{itemize}
 
@@ -1116,7 +1129,7 @@ To coexist with the \Pkg{fontspec} package, it is needed to load
 \begin{quote}
 \ttfamily \textbackslash usepackage[<options>]\{luatexja-fontspec\}
 \end{quote}
-This \Pkg{luatexja-fontspec} package 
+This \Pkg{luatexja-fontspec} package
 automatically loads \Pkg{luatexja} and \Pkg{fontspec}
 package, if needed.
 %</en>
@@ -1143,16 +1156,16 @@ counterparts of original commands in the \Pkg{fontspec} package:
 \begin{tabular}{ccccc}
 \toprule
 Japanese fonts
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\setmonojfont+$^*$\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
 alphabetic fonts
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\setmonofont+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
 \midrule
 Japanese fonts
-&\verb+\newjfontfamily+&\verb+\newjfontface+
-&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
 alphabetic fonts
-&\verb+\newfontfamily+&\verb+\newfontface+
-&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1162,19 +1175,19 @@ alphabetic fonts
 \begin{tabular}{cccc}
 \toprule
 和文
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}\\
 欧文
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}\\
 \midrule
 和文
-&\verb+\newjfontfamily+&\verb+\newjfontface+&\verb+\defaultjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}&\cs{defaultjfontfeatures}\\
 欧文
-&\verb+\newfontfamily+&\verb+\newfontface+&\verb+\defaultfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}&\cs{defaultfontfeatures}\\
 \midrule
 和文
-&\verb+\addjfontfeatures+\\
+&\cs{addjfontfeatures}\\
 欧文
-&\verb+\addfontfeatures+\\
+&\cs{addfontfeatures}\\
 \bottomrule
 \end{tabular}
 \end{center}
@@ -1183,15 +1196,15 @@ alphabetic fonts
 The package option of \Pkg{luatexja-fontspec} are the followings:
 \begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
  \item[match] If this option is specified, usual family-changing commands such as
-\verb+\rmfamily+,~\verb+\textrm+, \verb+\sffamily+,~\dots\ also change Japanese font family.
+\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
 
-Note that \emph{\texttt{\textup{\textbackslash setmonojfont}} is defined 
+Note that \emph{\cs{setmonojfont} is defined
 if and only if this \texttt{\textup{match}} option is specified}.
 
- \item[pass=<opts>] 
+ \item[pass=<opts>]
 Specify options <opts> which will be passed to the \Pkg{fontspec} package.
-\end{list} 
-The reason that \verb+\setmonojfont+ is not defined by default is that
+\end{list}
+The reason that \cs{setmonojfont} is not defined by default is that
 it is popular for Japanese fonts that nearly all Japanese glyphs have same
 widths.  Also note that kerning information in a font is not used
 (that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
@@ -1202,16 +1215,16 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
 \Pkg{luatexja-fontspec} パッケージのオプションは以下の通りである:
 \begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
  \item[match] このオプションが指定されると,「\pLaTeXe 新ドキュメントクラス」のように\
-\verb+\rmfamily+, \verb+\textrm{...}+, \verb+\sffamily+ 等が
+\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} 等が
 欧文フォントだけでなく和文フォントも変更するようになる.
 
-\emph{なお,{\tt \textbackslash setmonojfont} はこの \texttt{match} オプションが
+\emph{なお,\cs{setmonojfont} はこの \texttt{match} オプションが
 指定された時のみ定義される.}この命令は標準の「タイプライタ体に対応する和文フォント」を指定する.
 
- \item[pass=<opts>] 
+ \item[pass=<opts>]
 \Pkg{fontspec} パッケージに渡すオプション <opts> を指定する.
 \end{list}
-標準で \verb+\setmonojfont+ コマンドが定義されないのは,
+標準で \cs{setmonojfont} コマンドが定義されないのは,
 和文フォントではほぼ全ての和文文字のグリフが等幅であるのが伝統的であったことによる.
 また,これらの和文用のコマンドではフォント内のペアカーニング情報は標準では使用されない,
 言い換えれば \texttt{kern} featureは標準では無効化となっている.
@@ -1248,7 +1261,7 @@ before \Pkg{luatexja-preset}:
 \Pkg{fontspec}を読み込んでいる.
 
 もし\Pkg{fontspec}パッケージに何らかのオプションを渡す必要がある
-\footnote{例えば,数式フォントまで置換されてしまい,\texttt{\textbackslash mathit}によってギリシャ文字の
+\footnote{例えば,数式フォントまで置換されてしまい,\cs{mathit}によってギリシャ文字の
 斜体大文字が出なくなる,など.}場合は,
 次のように\Pkg{luatexja-preset}の前に\Pkg{fontspec}を手動で読みこめば良い:
 %</ja>
@@ -1263,7 +1276,7 @@ before \Pkg{luatexja-preset}:
 \item[nodeluxe]
 %<*en>
 Use one-weighted \textit{mincho} and \textit{gothic} font families.
-This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and 
+This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
 \verb+\gtfamily\mdseries+ use the same font.
 \emph{This option is enabled by default.}
 %</en>
@@ -1277,27 +1290,27 @@ This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
 %<*en>
 Use \textit{mincho} with two weights (medium~and~bold),
 \textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
-\footnote{Provided by \texttt{\textbackslash mgfamily} and \texttt{\textbackslash textmg\{...\}},
+\footnote{Provided by \cs{mgfamily} and \cs{textmg},
 because \textit{rounded gothic} is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \verb+\gtebfamily+,
+The heavy weight of \textit{gothic} can be used by ``changing the family'' \cs{gtebfamily},
 or \verb+\textgteb{...}+.
-This is because \Pkg{fontspec} package can handle only medium (\verb+\mdseries+) and
-bold (\verb+\bfseries+).
+This is because \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
+bold (\cs{bfseries}).
 %</en>
 %<*ja>
 明朝体2ウェイト・ゴシック体3ウェイトと,
-丸ゴシック体 (\verb+\mgfamily+, \verb+\textmg{...}+) を使用可能とする.
+丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を使用可能とする.
 ゴシック体は細字・太字・極太の3ウェイトがあるが,
-極太ゴシック体はファミリの切り替え (\verb+\gtebfamily+, \verb+\textgteb{...}+) %
-で実現している.\Pkg{fontspec}では通常 (\verb+\mdseries+) と太字 (\verb+\bfseries+) しか扱えないために
+極太ゴシック体はファミリの切り替え (\cs{gtebfamily}, \verb+\textgteb{...}+) %
+で実現している.\Pkg{fontspec}では通常 (\cs{mdseries}) と太字 (\cs{bfseries}) しか扱えないために
 このような中途半端な実装になっている.
 %</ja>
 \item[expert]
 %<*en>
-Use horizontal kana alternates, and define a command \verb+\rubyfamily+ to use kana
+Use horizontal kana alternates, and define a command \cs{rubyfamily} to use kana
 characters designed for ruby.
 %</en>
-%<ja>横組専用仮名を用いる.また,\verb+\rubyfamily+ でルビ用仮名が使用可能となる.
+%<ja>横組専用仮名を用いる.また,\cs{rubyfamily} でルビ用仮名が使用可能となる.
 \item[bold]
 %<en>Substitute bold series of \textit{gothic} for  bold series of \textit{mincho}.
 %<ja>「明朝の太字」をゴシック体の太字によって代替する.
@@ -1332,7 +1345,7 @@ We didn't taken account of  when both \texttt{90jis} and \texttt{jis2004} are sp
 %<ja>\paragraph{多ウェイト用プリセットの一覧}
 %<*en>
 Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
-fonts are specified by fontname, not by filename.
+fonts are specified by font name, not by file name.
 %</en>
 %<*ja>
 \texttt{morisawa-pro}, \texttt{morisawa-pr6n}以外はフォントの指定は
@@ -1460,9 +1473,9 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \end{tabular}
 \end{center}
 
- \item[yu-win]  Yu fonts bundled with Windows~8.1. 
+ \item[yu-win]  Yu fonts bundled with Windows~8.1.
 %<en>    \\[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[yu-osx]  Yu fonts bundled with OSX~Mavericks. 
+ \item[yu-osx]  Yu fonts bundled with OSX~Mavericks.
 \begin{center}\small
 \begin{tabular}{clll}
 \toprule
@@ -1587,8 +1600,8 @@ 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 filename (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
-\item[{\tt jis2004}] by filename (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
+\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}).
 \end{description}
 %</en>
 %<*ja>
@@ -1605,7 +1618,7 @@ are internally specified by:
 
 
 %<*en>
-\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}, and macros in \Pkg{japanese-otf} package}
+\subsection{\cs{CID}, \cs{UTF}, and macros in \Pkg{japanese-otf} package}
 Under \pLaTeX, \Pkg{japanese-otf} package (developed by Shuzaburo Saito) is
 used for typesetting characters which is in Adobe-Japan1-6 CID but not
 in JIS~X~0208. Since this package is widely used, \LuaTeX-ja
@@ -1613,7 +1626,7 @@ supports some of functions in \Pkg{japanese-otf} package.
 If you want to use these functions, load \Pkg{luatexja-otf} package.
 %</en>
 %<*ja>
-\subsection{\texttt{\textbackslash CID}, \texttt{\textbackslash UTF}と\Pkg{otf}パッケージのマクロ}
+\subsection{\cs{CID}, \cs{UTF}と\Pkg{otf}パッケージのマクロ}
 \pLaTeX では,JIS~X~0208にないAdobe-Japan1-6の文字を出力するために,
 齋藤修三郎氏による\Pkg{otf}パッケージが用いられていた.このパッケージは
 広く用いられているため,\LuaTeX-jaにおいても\Pkg{otf}パッケージの機能の
@@ -1657,13 +1670,13 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
 There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
 most of them are not stored as internal register of \TeX, but as an
 original storage system in \LuaTeX-ja. Hence, to assign or acquire those
-parameters, you have to use commands \verb+\ltjsetparameter+ and
-\verb+\ltjgetparameter+.
+parameters, you have to use commands \cs{ltjsetparameter} and
+\cs{ltjgetparameter}.
 %</en>
 %<*ja>
 \LuaTeX-jaには多くのパラメータが存在する.そして\LuaTeX の仕様のために,
 その多くは\TeX のレジスタにではなく,\LuaTeX-ja独自の方法で保持されている.
-これらのパラメータを設定・取得するためには \verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ を
+これらのパラメータを設定・取得するためには \cs{ltjsetparameter} と \cs{ltjgetparameter} を
 用いる.
 %</ja>
 
@@ -1673,15 +1686,15 @@ parameters, you have to use commands \verb+\ltjsetparameter+ and
 
 %<*en>
 \LuaTeX-ja divides the Unicode codespace \texttt{U+0080}--\texttt{U+10FFFF}
-into \emph{character ranges}, 
-numbered 1 to 217. The grouping can be (globally) customized by \verb+\ltjdefcharrange+.
+into \emph{character ranges},
+numbered 1 to 217. The grouping can be (globally) customized by \cs{ltjdefcharrange}.
 The next line adds whole characters in Supplementary Ideographic Plane
 and the character ``漢'' to the character range~100.
 %</en>
 %<*ja>
 \LuaTeX-jaは,Unicodeの \texttt{U+0080}--\texttt{U+10FFFF} の空間を
 1番から217番までの\emph{文字範囲}に分割している.
-区分けは \verb+\ltjdefcharrange+ を用いることで(グローバルに)変更することができ,
+区分けは \cs{ltjdefcharrange} を用いることで(グローバルに)変更することができ,
 例えば,次は追加漢字面(SIP)にある全ての文字と「漢」を「100番の文字範囲」に追加する.
 %</ja>
 \begin{lstlisting}
@@ -1689,7 +1702,7 @@ and the character ``漢'' to the character range~100.
 \end{lstlisting}
 %<*en>
 A character can belong to only one character range.
-For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja, 
+For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
 and if you execute the above line, then SIP will belong to the range~100 and be
 removed from the range~4.
 %</en>
@@ -1724,8 +1737,8 @@ it sets
 %<*en>
 The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
 Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
-\textbf{ALchar}'', 
-and positive integer $+n$ meansthat ``\dots\ is a \textbf{JAchar}''.
+\textbf{ALchar}'',
+and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
 %</en>
 %<*ja>
 \textsf{jacharrange}パラメータの引数は非零の整数のリストである.
@@ -1757,7 +1770,7 @@ Now we describe these eight ranges. The superscript ``J'' or ``A'' after the
 number shows whether each character in the range is treated as
 \textbf{JAchar}s or not by default. These settings are similar to the
 \texttt{prefercjk} settings defined in \texttt{PXbase} bundle.
-Any characters above \texttt{U+0080} which does not belong to 
+Any characters above \texttt{U+0080} which does not belong to
 these eight ranges belongs to the character range~217.
 %</en>
 %<*ja>
@@ -1952,12 +1965,12 @@ The block list is indicated in Table~\ref{table-rng7}.
 %<ja>\textbf{JAglue}は以下の3つのカテゴリに分類される:
 \begin{itemize}
 %<*en>
-\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
+\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
       around a Japanese character, this glue will not be inserted at the
       place.
 %</en>
 %<*ja>
-\item JFMで指定されたグルー/カーン.もし \verb+\inhibitglue+ が和文文字の周りで
+\item JFMで指定されたグルー/カーン.もし \cs{inhibitglue} が和文文字の周りで
       発行されていれば,このグルーは挿入されない.
 %</ja>
 %<*en>
@@ -1965,25 +1978,25 @@ The block list is indicated in Table~\ref{table-rng7}.
       kanjiskip}).
 %</en>
 %<*ja>
-\item デフォルトで2つの\textbf{JAchar}の間に挿入されるグルー(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}).
+\item デフォルトで2つの\textbf{JAchar}の間に挿入されるグルー(\Param{kanjiskip}).
 %</ja>
 %<*en>
 \item The default glue which inserted between a \textbf{JAchar} and an
-      \textbf{ALchar} (\Param{\hyperlink{fld:xks}{xkanjiskip}}).
+      \textbf{ALchar} (\Param{xkanjiskip}).
 %</en>
 %<*ja>
-\item デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルー(\Param{\hyperlink{fld:xks}{xkanjiskip}}).
+\item デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルー(\Param{xkanjiskip}).
 %</ja>
 \end{itemize}
 %<*en>
-The value (a skip) of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or 
-\Param{\hyperlink{fld:xks}{xkanjiskip}} can be changed as the following.
+The value (a skip) of \Param{kanjiskip} or
+\Param{xkanjiskip} can be changed as the following.
 Note that only their values \emph{at the end of a paragraph or a hbox are
 adopted in the whole paragraph or the whole hbox.
 }
 %</en>
 %<*ja>
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}や\Param{\hyperlink{fld:xks}{xkanjiskip}}の値
+\Param{kanjiskip}や\Param{xkanjiskip}の値
 は以下のようにして変更可能である.
 %</ja>
 \begin{lstlisting}
@@ -1991,44 +2004,60 @@ adopted in the whole paragraph or the whole hbox.
                  xkanjiskip={0.25\zw plus 1pt minus 1pt}}
 \end{lstlisting}
 %<*en>
-Here \verb+\zw+ is a internal dimension 
+Here \cs{zw} is a internal dimension
 which stores fullwidth of the current Japanese font.
-This \verb+\zw+ can be used as the unit \texttt{zw} in \pTeX.
+This \cs{zw} can be used as the unit \texttt{zw} in \pTeX.
 
-It may occur that JFM contains the data of ``ideal width of 
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}''
-and/or ``ideal width of \Param{\hyperlink{fld:xks}{xkanjiskip}}''.
-To use these data from JFM, set the value of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
-\Param{\hyperlink{fld:xks}{xkanjiskip}} to \verb+\maxdimen+.
+The value of these parameter can be get by \cs{ltjgetparameter}.
+Note that the result by \cs{ltjgetparameter} is \emph{not} the internal quantities,
+but \emph{a string} (hence \cs{the} cannot be prefixed).
 %</en>
 %<*ja>
-ここで,\verb+\zw+ は現在の和文フォントの全角幅を表す長さであり,
+ここで,\cs{zw} は現在の和文フォントの全角幅を表す長さであり,
 \pTeX における長さ単位 \texttt{zw} と同じように使用できる.
 
-JFMは「望ましい\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値」や
-「望ましい\Param{\hyperlink{fld:xks}{xkanjiskip}}の値」を持っていることがある.
-これらのデータを使うためには,\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}や%
-\Param{\hyperlink{fld:xks}{xkanjiskip}}の値を \verb+\maxdimen+ の値に設定すればよい.
+これらのパラメータの値は以下のように取得できる.
+戻り値は内部値ではなく\emph{文字列}である(\cs{the} は前置できない)ことに注意してほしい:
+%</ja>
+\begin{LTXexample}
+kanjiskip: \ltjgetparameter{kanjiskip},\\
+xkanjiskip: \ltjgetparameter{xkanjiskip}
+\end{LTXexample}
+
+%<*en>
+It may occur that JFM contains the data of ``ideal width of
+\Param{kanjiskip}''
+and/or ``ideal width of \Param{xkanjiskip}''.
+To use these data from JFM, set the value of \Param{kanjiskip} or
+\Param{xkanjiskip} to \cs{maxdimen}
+(these ``ideal width'' cannot be retrived by \cs{ltjgetparameter}).
+%</en>
+%<*ja>
+JFMは「望ましい\Param{kanjiskip}の値」や
+「望ましい\Param{xkanjiskip}の値」を持っていることがある.
+これらのデータを使うためには,\Param{kanjiskip}や%
+\Param{xkanjiskip}の値を \cs{maxdimen} の値に設定すればよいが,
+\cs{ltjgetparameter} によって取得することはできないので注意が必要である.
 %</ja>
 
 %<en>\subsection{Insertion Setting of \Param{xkanjiskip}}
 %<ja>\subsection{\Param{xkanjiskip} の挿入設定}
 
 %<*en>
-It is not desirable that \Param{\hyperlink{fld:xks}{xkanjiskip}} is inserted into every
+It is not desirable that \Param{xkanjiskip} is inserted into every
 boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
-\Param{\hyperlink{fld:xks}{xkanjiskip}} should not be inserted after opening parenthesis
+\Param{xkanjiskip} should not be inserted after opening parenthesis
 (\textit{e.g.}, compare ``(あ'' and ``(\hskip\ltjgetparameter{xkanjiskip}あ'').
-\LuaTeX-ja can control whether \Param{\hyperlink{fld:xks}{xkanjiskip}} can be inserted
+\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
 before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
 \Param{alxspmode} parameters \textbf{ALchar}s respectively.
 %</en>
 %<*ja>
-\Param{\hyperlink{fld:xks}{xkanjiskip}}がすべての\textbf{JAchar}と\textbf{ALchar}の境界に
-挿入されるのは望ましいことではない.例えば,\Param{\hyperlink{fld:xks}{xkanjiskip}}は開き括弧の
+\Param{xkanjiskip}がすべての\textbf{JAchar}と\textbf{ALchar}の境界に
+挿入されるのは望ましいことではない.例えば,\Param{xkanjiskip}は開き括弧の
 後には挿入されるべきではない(「(あ」と「(\hskip\ltjgetparameter{xkanjiskip}あ」を
 比べてみよ).
-\LuaTeX-jaでは\Param{\hyperlink{fld:xks}{xkanjiskip}}をある文字の前/後に挿入するかどうかを,
+\LuaTeX-jaでは\Param{xkanjiskip}をある文字の前/後に挿入するかどうかを,
 \textbf{JAchar}に対しては\Param{jaxspmode}を,\textbf{ALchar}に対しては
 \Param{alxspmode}をそれぞれ変えることで制御することができる.
 %</ja>
@@ -2039,11 +2068,11 @@ pあq い!う
 
 %<*en>
 The second argument \texttt{preonly} means that the insertion of
-\Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before this character, but not after.
+\Param{xkanjiskip} is allowed before this character, but not after.
 the other possible values are \texttt{postonly}, \texttt{allow}, and \texttt{inhibit}.
 %</en>
 %<*ja>
-2つ目の引数の \texttt{preonly}は「\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入はこの文字の
+2つ目の引数の \texttt{preonly}は「\Param{xkanjiskip}の挿入はこの文字の
 前でのみ許され,後では許さない」ことを意味する.他に指定可能な値は
 \texttt{postonly}, \texttt{allow}, \texttt{inhibit}である.
 %</ja>
@@ -2069,12 +2098,12 @@ One can use also numbers to specify these two parameters (see Subsection~\ref{ss
 %</ja>
 
 %<*en>
-If you want to enable/disable all insertions of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} and
-\Param{\hyperlink{fld:xks}{xkanjiskip}}, set \Param{autospacing} and \Param{autoxspacing}
+If you want to enable/disable all insertions of \Param{kanjiskip} and
+\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
 parameters to \texttt{true}/\texttt{false}, respectively.
 %</en>
 %<*ja>
-もし全ての\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}と\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入を有効化/無効化
+もし全ての\Param{kanjiskip}と\Param{xkanjiskip}の挿入を有効化/無効化
 したければ,それぞれ\Param{autospacing}と\Param{autoxspacing}を
 \texttt{true}/\texttt{false}に設定すればよい.
 %</ja>
@@ -2084,7 +2113,7 @@ parameters to \texttt{true}/\texttt{false}, respectively.
 %<*en>
 To make a match between a Japanese font and an alphabetic font, sometimes
 shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
-by setting \verb+\ybaselineshift+ to a non-zero length (the
+by setting \cs{ybaselineshift} to a non-zero length (the
 baseline of \textbf{ALchar} is shifted below). However, for documents
 whose main language is not Japanese, it is good to shift the baseline of
 Japanese fonts, but not that of alphabetic fonts.
@@ -2095,7 +2124,7 @@ parameter).
 %</en>
 %<*ja>
 和文フォントと欧文フォントを合わせるためには,時々どちらかのベースラインの移動が
-必要になる.\pTeX ではこれは \verb+\ybaselineshift+ を設定することで
+必要になる.\pTeX ではこれは \cs{ybaselineshift} を設定することで
 なされていた(\textbf{ALchar}のベースラインがその分だけ下がる).しかし,日本語が主ではない
 文書に対しては,欧文フォントではなく和文フォントのベースラインを移動した方がよい.
 このため,\LuaTeX-jaでは欧文フォントのベースラインのシフト量
@@ -2138,16 +2167,16 @@ xyz漢字
 %<*ja>
 \paragraph{数式における挙動:\pTeX との違い}
 \textbf{ALchar}のベースラインを補正する \Param{yalbaselineshift} パラメータは
-ほぼ\pTeX における \verb+\ybaselineshift+ に対応しているものであるが,
+ほぼ\pTeX における \cs{ybaselineshift} に対応しているものであるが,
 数式中の挙動は異なっているので注意が必要である.
-例えば,表\ref{tab:math_bsa}のように,数式中に明示的に現れた \verb+\hbox+ は,
+例えば,表\ref{tab:math_bsa}のように,数式中に明示的に現れた \cs{hbox} は,
 \begin{itemize}
- \item \pTeX では,ボックス全体が \verb+\ybaselineshift+ だとシフトされるので,
+ \item \pTeX では,ボックス全体が \cs{ybaselineshift} だとシフトされるので,
  表\ref{tab:math_bsa}中の``い''のように,ボックス中の和文文字は
- \verb+\ybaselineshift+だけシフトされ,一方,``for all''のように,
+ \ \cs{ybaselineshift} だけシフトされ,一方,``for all''のように,
  ボックス内の欧文文字は2重にシフトされることになる.
  \item 一方,\LuaTeX-jaではそのようなことはおこらず,
- 数式中に明示的に現れた \verb+\hbox+ はシフトしない.そのため,
+ 数式中に明示的に現れた \cs{hbox} はシフトしない.そのため,
  表\ref{tab:math_bsa}中の``い''も``for all''も,それぞれ本文中に
  書かれたときと同じ上下位置に組まれる.
 \end{itemize}
@@ -2179,7 +2208,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
 \par}\\
 \noalign{\vskip-\origbaselineskip}
 \bottomrule
-\end{tabular} 
+\end{tabular}
 \end{table}
 %</ja>
 
@@ -2188,30 +2217,30 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
 \label{part-ref}
 
 %<*ja>
-\section{\LuaTeX-jaにおける \texttt{\textbackslash catcode}}
-\subsection{予備知識:\pTeX と\upTeX における \texttt{\textbackslash kcatcode}}
+\section{\LuaTeX-jaにおける \cs{catcode}}
+\subsection{予備知識:\pTeX と\upTeX における \cs{kcatcode}}
 \pTeX,\upTeX においては,和文文字が制御綴内で利用できるかどうか
-は \verb+\kcatcode+ の値によって決定されるのであった.
+は \cs{kcatcode} の値によって決定されるのであった.
 詳細は表\ref{table-kcat}を参照されたい.
 %</ja>
 %<*en>
-\section{\texttt{\textbackslash catcode} in \LuaTeX-ja}
-\subsection{Preliminaries: \texttt{\textbackslash kcatcode} in \pTeX\ and \upTeX}
-In \pTeX~and~\upTeX, the value of \verb+\kcatcode+ determines
+\section{\cs{catcode} in \LuaTeX-ja}
+\subsection{Preliminaries: \cs{kcatcode} in \pTeX\ and \upTeX}
+In \pTeX~and~\upTeX, the value of \cs{kcatcode} determines
 whether a Japanese character can be used in a control word.
 For the detail, see Table~\ref{table-kcat}.
 %</en>
 
 \begin{table}[t]
 \small
-\caption{\texttt{\textbackslash kcatcode} in \upTeX}
+\caption{\cs{kcatcode} in \upTeX}
 \label{table-kcat}
 %<en>\medskip
 
 \noindent\hfill
 \begin{tabular}{ccccc}
 \toprule
-\bfseries \verb+\kcatcode+&
+\bfseries \cs{kcatcode}&
 %<*en>
 \bfseries meaning&
 \bfseries control word&
@@ -2236,35 +2265,35 @@ For the detail, see Table~\ref{table-kcat}.
 \medskip
 
 %<*ja>
-文字ウィドウ処理\hbox{}$^*$: 「漢字が一文字だけ次の行に行くのを防ぐ」\ 
-\texttt{\textbackslash jcharwidowpenalty} が,
+文字ウィドウ処理\hbox{}$^*$: 「漢字が一文字だけ次の行に行くのを防ぐ」\
+\cs{jcharwidowpenalty} が,
 その文字の直前に挿入されうるか否か,を示す.
 %</ja>
-\end{table} 
+\end{table}
 
 %<*en>
-\verb+\kcatcode+ can be set by a row of JIS~X~0208 in \pTeX,
+\cs{kcatcode} can be set by a row of JIS~X~0208 in \pTeX,
 and generally by a Unicode block\footnote{%
   \upTeX\ divides \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)
-  into three subblocks, and \texttt{\textbackslash kcatcode} can be set by a subblock.
+  into three subblocks, and \cs{kcatcode} can be set by a subblock.
 }
-in \upTeX. So characters which can be used in a control word 
+in \upTeX. So characters which can be used in a control word
 slightly differ between \pTeX~and~\upTeX.
 %</en>
 %<*ja>
-\pTeX では \verb+\kcatcode+ はJIS~X~0208の区単位,
+\pTeX では \cs{kcatcode} はJIS~X~0208の区単位,
 \upTeX では概ねUnicodeブロック単位\footnote{%
   \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)は
   「全角英数字」「半角カナ」「その他」と3つに分割されており,
-  それぞれ別々に \texttt{\textbackslash kcatcode} が指定できるようになっている.
+  それぞれ別々に \cs{kcatcode} が指定できるようになっている.
 }で設定可能になっている.そのため,\pTeX と\upTeX の初期状態では
 制御綴内で使用可能な文字が微妙に異なっている.
 %</ja>
 
 %<*en>
 \subsection{Case of \LuaTeX-ja}
-The role of \verb+\kcatcode+ in \pTeX~and~\upTeX\ caan be 
-divided into the following four kinds, 
+The role of \cs{kcatcode} in \pTeX~and~\upTeX\ can be
+divided into the following four kinds,
 and \LuaTeX-ja can control these four kinds separately:
 \begin{itemize}
  \item
@@ -2272,7 +2301,7 @@ and \LuaTeX-ja can control these four kinds separately:
 is controlled by using the character range, see Subsection~\ref{ssec-setrange}.
  \item
 \emph{Whether the character can be used in a control word}
-is controlled by setting \verb+\catcode+ to 11~(enabled) or 12~(disabled), as usual.
+is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
  \item
 \emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
 is controlled by the lowermost bit of the \Param{kcatcode} parameter.
@@ -2282,13 +2311,13 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
 %</en>
 %<*ja>
 \subsection{\LuaTeX-jaの場合}
-\LuaTeX-jaでは,従来の\pTeX・\upTeX における \verb+\kcatcode+ の役割を
+\LuaTeX-jaでは,従来の\pTeX・\upTeX における \cs{kcatcode} の役割を
 分割している:
 \begin{description}
- \item[欧文/和文の区別 (\upTeX)] 
-\verb+\ltjdefcharrange+ と\textsf{jacharrange}パラメータ(\ref{ssec-setrange}節)
+ \item[欧文/和文の区別 (\upTeX)]
+\cs{ltjdefcharrange} と\textsf{jacharrange}パラメータ(\ref{ssec-setrange}節)
  \item[制御綴中に使用可か]
-\LuaTeX 自身の \verb+\catcode+ でよい
+\LuaTeX 自身の \cs{catcode} でよい
  \item[\Param{jcharwidowpenalty}が挿入可か]
 \Param{kcatcode}パラメータの最下位ビット
  \item[直後の改行の無視]
@@ -2297,48 +2326,48 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
 %</ja>
 
 %<*en>
-Default setting of \verb+\catcode+ of \LuaTeX\ can be found 
+Default setting of \cs{catcode} of \LuaTeX\ can be found
 in \texttt{luatex-unicode-letters.tex},
 which is based on \texttt{unicode-letters.tex} (for \XeTeX).
-However, the default setting of \verb+\catcode+ differs
+However, the default setting of \cs{catcode} differs
 between \XeTeX\ and \LuaTeX, by the following reasons:
 \begin{itemize}
  \item \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
  \item The latter half of \texttt{unicode-letters.tex} sets
-\verb+\catcode+ of Kanji and kana characters to 11,
-via setting \verb+\XeTeXcharclass+.
+\cs{catcode} of Kanji and kana characters to 11,
+via setting \cs{XeTeXcharclass}.
 
 However, this latter half is simply omitted in
 \texttt{luatex-unicode-letters.tex}, hence
-\verb+\catcode+ of Kanji and kana characters remains 12 in \LuaTeX.
+\cs{catcode} of Kanji and kana characters remains 12 in \LuaTeX.
 \end{itemize}
-In other words, Kanji nor kana characters cannot be used in 
+In other words, Kanji nor kana characters cannot be used in
 a control word, in the default setting of \LuaTeX.
 
-This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja, 
-since several control words containing Kanji, such as \verb+\西暦+, 
+This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
+since several control words containing Kanji, such as \verb+\西暦+,
 are used in \pTeX.
 Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex}
-for \LuaTeX, \emph{to match the \texttt{\textbackslash catcode} setting with that of \XeTeX.}
+for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
 %</en>
 %<*ja>
 ネイティブにUnicode全部の文字を扱える\XeTeX や\LuaTeX では,
-文字が制御綴内で使用できるかは通常の欧文文字と同じく \verb+\catcode+
-で指定することとなる.\XeTeX における \verb+\catcode+ の初期設定は\ 
+文字が制御綴内で使用できるかは通常の欧文文字と同じく \cs{catcode}
+で指定することとなる.\XeTeX における \cs{catcode} の初期設定は\
 \texttt{unicode-letters.tex} 中に記述されており,\LuaTeX ではそれを
 元にした \texttt{luatex-unicode-letters.tex} を用いている.
 
-だが,\XeTeX における \verb+\catcode+ の初期設定と
+だが,\XeTeX における \cs{catcode} の初期設定と
 \LuaTeX におけるそれは一致していない:
 \begin{itemize}
- \item \texttt{luatex-unicode-letters.tex} の元になった\ 
+ \item \texttt{luatex-unicode-letters.tex} の元になった\
 \texttt{unicode-letters.tex} が古い
  \item \texttt{unicode-letters.tex} の後半部では
-\verb+\XeTeXcharclass+ の設定を行なっており,
-それによって漢字や仮名の \verb+\catcode+ が11に設定されている.
+\cs{XeTeXcharclass} の設定を行なっており,
+それによって漢字や仮名の \cs{catcode} が11に設定されている.
 
 しかし,\texttt{luatex-unicode-letters.tex} ではこの「後半部」が
-まるごと省略されており,漢字や仮名の \verb+\catcode+ は12のまま.
+まるごと省略されており,漢字や仮名の \cs{catcode} は12のまま.
 \end{itemize}
 言い換えると,\LuaTeX の初期状態では漢字や仮名を制御綴内に
 使用することはできない.
@@ -2417,12 +2446,12 @@ $\vphantom{\D 3000}$\\
 Because the engine differ, so non-kanji JIS~X~0208 characters
 which can be used in a control word differ in \pTeX, in \upTeX,~and~in \LuaTeX-ja.
 Table~\ref{table-kcat-diff} shows the difference.
-Except for four characters ``・'',~``゛'', ``゜'',~``゠'', 
+Except for four characters ``・'',~``゛'', ``゜'',~``゠'',
 \LuaTeX-ja admits more characters in a control word than \upTeX.
-\emph{Note that the ideographic space~\texttt{U+3000} can be used 
+\emph{Note that the ideographic space~\texttt{U+3000} can be used
 in a control word in \LuaTeX-ja.}
 
-Difference becomes larger, if we consider 
+Difference becomes larger, if we consider
 non-kanji JIS~X~0213 characters.
 For the detail, see \url{https://github.com/h-kitagawa/kct}.
 %</en>
@@ -2438,28 +2467,422 @@ For the detail, see \url{https://github.com/h-kitagawa/kct}.
 \LuaTeX-jaでは制御綴中に使用可能であることである.}
 
 JIS~X~0213の範囲に広げると,差異はさらに大きくなる.
-詳細については例えば \url{https://github.com/h-kitagawa/kct} 中の\ 
+詳細については例えば \url{https://github.com/h-kitagawa/kct} 中の\
 \texttt{kct-uni-out.pdf} などを参照すること.
 %</ja>
 
 
+
+
+%<*ja>
+\section{縦組}
+\label{sec-direction}
+\LuaTeX 本体でも,$\Omega$・$\aleph$由来の機能として,複数の組方向をサポートしている.
+しかし,\LuaTeX がサポートするのは \texttt{TLT},~\texttt{TRT}, \texttt{RTT},~\texttt{LTL}\
+のみであり,日本語の縦組に使うのは望ましくない\footnote{%
+和文文字だけならば \texttt{RTT} を使えばなんとかなると思うが,
+欧文文字が入ってきた場合はうまくいかず,\texttt{RTR} という組方向が必要になる.
+}.そのため,\LuaTeX-jaでは横組(\texttt{TLT})で組んだボックスを回転させる方式で
+縦組を実装した.
+
+\subsection{サポートする組方向}
+\begin{table}[t]
+\caption{\LuaTeX-ja のサポートする組方向}
+%<en>\medskip
+\label{tab-dir}
+\centering\small
+\def\obox#1{%
+  \setbox0=\hbox{\yoko\hbox{#1%
+  \large\ltjsetparameter{talbaselineshift=0pt}%
+  \vrule height 25pt width 0.4pt depth 15pt\kern-.2pt%
+  \raise25pt\hbox to 0pt{\hss\composite{*r^@{>>}}\hss}%
+  \raise-15pt\hbox to 0pt{\hss\composite{*l^@{>|}}\hss}\kern.2pt%
+  \vrule height.2pt depth.2pt width 60pt\hbox to 0pt{\hss\composite{*d^@{>}}\hss}\kern-60pt
+  \hbox to 60pt{\,銀は、Ag\hss}}}%
+  \raise\dimexpr 0.5\ltjgetdp0-0.5\ltjgetht0\box0%
+}
+\begin{tabular}{>{\bfseries}lcccc}
+\toprule
+&\cs{yoko}(横組)&\cs{tate}(縦組)
+ &\cs{dtou}&\cs{utod}\\
+\midrule
+字送り方向&水平右向き(→)&垂直下向き(↓)&垂直上向き(↑)&垂直下向き(↓)\\
+行送り方向&垂直下向き(↓)&水平左向き(←)&水平右向き(→)&水平左向き(←)\\
+使用する和文フォント&横組用(\cs{jfont})&縦組用(\cs{tfont})&
+\multicolumn{2}{c}{%
+  横組用(\cs{jfont})の$90^\circ$回転}\\[\smallskipamount]
+組版例\null $^*$ &\obox{\yoko}&\obox{\tate}&\obox{\dtou}&\obox{\utod}\\
+\noalign{\medskip}
+\bottomrule
+\end{tabular}
+
+\medskip\raggedright
+\def\R#1{%
+  \raise0.38\zw\hbox{%
+    \vrule height.2pt  depth.2pt width2\zw%
+    \hbox to 0pt{\hss\composite{*d^@{#1}}\hss}%
+  }%
+}
+$^*$\ 幅(width),高さ(height),深さ(depth)の増加方向を,
+それぞれ「\R{>}」,「\R{>>}」,「\R{>|}」で表している.
+\raggedright
+
+\end{table}
+
+\LuaTeX-jaがサポートする組方向は表\ref{tab-dir}に示す4つである.
+4列目の \cs{dtou} は聞き慣れない命令だと思うが,
+実は\pTeX に同名の命令が(ドキュメントには書かれていないが)存在する.
+Down-TO-Upの意味なのだろう.\cs{dtou} を使用する機会はないだろうが,
+\LuaTeX-jaではデバッグ用に実装している.
+5列目の \cs{utod} は,\pTeX で言う「縦数式ディレクション」に相当するものである.
+
+組方向は,\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod} をそれぞれ使用することで,
+現在作成中のリストやボックスが空の時にのみ変更可能である.
+また,縦組中の数式内のボックスは\pTeX と同じように組方向が \cs{utod} となる.
+
+\subsection{異方向のボックス}
+
+縦組の中に「42」などの2桁以上の算用数字を横組で組むなど,
+異なる組方向を混在させることがしばしば行われる.
+組方向の混在も\pTeX と同じようにできる:
+\begin{LTXexample}
+ここは横組%     yoko
+\hbox{\tate %   tate
+  \hbox{縦組}%  tate
+  の中に
+  \hbox{\yoko 横組の内容}% yoko
+  を挿入する
+}
+また横組に戻る% yoko
+\end{LTXexample}
+
+異なる組方向のボックスを配置した場合にどう組まれるかの仕様も,\pTeX を
+踏襲している.表\ref{tab-diffdir}に示す.
+この表\ref{tab-diffdir}では \cs{utod} 方向についての記述を省略しているが,
+それは縦組の場合と全く同じであるためである.
+内部では,異なる組方向のボックスを配置補正用のボックス
+(本ドキュメントでは\textit{dir\_node}と呼ぶ)に包む形態をとっている.
+
+\begin{table}[t]
+\caption{異方向のボックスの配置}
+%<en>\medskip
+\label{tab-diffdir}
+ \centering\small\unitlength3mm
+ \def\TATEeg{%
+   \hbox{\smash{\begin{picture}(0,0)(-2,0)
+     \thicklines
+     \polyline(-2,0)(-2,-7)(5,-7)(5,0)
+     \put(0,0){\circle*{0.3}}
+     \put(0,0){\vector(1,0){5}} \put(2.5,-0.2){\makebox(0,0)[t]{$h_{\mathrm{T}}$}}
+     \put(0,0){\vector(-1,0){2}}\put(-1,-0.2){\makebox(0,0)[t]{$d_{\mathrm{T}}$}}
+     \put(0,0){\vector(0,-1){7}}\put(0.2,-3.5){\makebox(0,0)[l]{$w_{\mathrm{T}}$}}
+   \end{picture}}}
+ }
+ \def\DTOUeg{%
+   \hbox{\smash{\begin{picture}(0,0)(-5,0)
+     \thicklines
+     \polyline(-5,0)(-5,7)(2,7)(2,0)
+     \put(0,0){\circle*{0.3}}
+     \put(0,0){\vector(-1,0){5}} \put(-2.5,0.3){\makebox(0,0)[b]{$h_{\mathrm{D}}$}}
+     \put(0,0){\vector(1,0){2}}\put(1,0.3){\makebox(0,0)[b]{$d_{\mathrm{D}}$}}
+     \put(0,0){\vector(0,1){7}}\put(-0.2,3.5){\makebox(0,0)[r]{$w_{\mathrm{D}}$}}
+   \end{picture}}}
+ }
+ \def\YOKOeg{%
+   \hbox{\smash{\begin{picture}(0,0)
+     \thicklines
+     \polyline(0,5)(7,5)(7,-2)(0,-2)
+     \put(0,0){\circle*{0.3}}
+     \put(0,0){\vector(0,1){5}} \put(0.3,2.5){\makebox(0,0)[l]{$h_{\mathrm{Y}}$}}
+     \put(0,0){\vector(0,-1){2}}\put(0.3,-1){\makebox(0,0)[l]{$d_{\mathrm{Y}}$}}
+     \put(0,0){\vector(1,0){7}}\put(3.5,0.2){\makebox(0,0)[b]{$w_{\mathrm{Y}}$}}
+   \end{picture}}}
+ }
+\begin{tabular}{ccc}
+\toprule
+\emph{横組中に配置}&\emph{縦組中に配置}&%
+\emph{組方向 \cs{dtou} 中に配置}\\
+\midrule
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(0,0){\line(1,0){3.8}}
+   \put(4,7){\TATEeg}
+   \put(11.2,0){\line(1,0){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
+   \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
+   \put(3,-2){\vector(0,1){2}}
+   \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(6,8){\vector(-1,0){2}}
+   \put(9,8){\vector(1,0){2}}
+   \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{Y}} &= h_{\mathrm{T}}+d_{\mathrm{T}},\\
+   H_{\mathrm{Y}} &= w_{\mathrm{T}},\\
+   D_{\mathrm{Y}} &=0\,\mathrm{pt}
+   \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(7.5,-0.2){\line(0,-1){2.8}}
+   \put(4,2){\YOKOeg}
+   \put(7.5, 7.2){\line(0,1){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(2,0){\line(1,0){1.8}}
+   \put(3,5){\vector(0,1){2}}
+   \put(3,2){\vector(0,-1){2}}
+   \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(8,8){\vector(-1,0){0.5}\vector(1,0){3}}
+   \put(7,8){\vector(-1,0){3}\vector(1,0){0.5}}
+   \put(9.25,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
+   \put(5.75,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{T}} &= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
+   H_{\mathrm{T}} &= w_{\mathrm{Y}}/2,\\
+   D_{\mathrm{T}} &= w_{\mathrm{Y}}/2
+   \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(11,-0.2){\line(0,-1){2.8}}
+   \put(4,2){\YOKOeg}
+   \put(11, 7.2){\line(0,1){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(2,0){\line(1,0){1.8}}
+   \put(3,5){\vector(0,1){2}}
+   \put(3,2){\vector(0,-1){2}}
+   \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(7.5,8){\vector(-1,0){3.5}\vector(1,0){3.5}}
+   \put(13,8){\vector(-1,0){2}}
+   \put(7.5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
+   \put(12,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{D}} &= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
+   H_{\mathrm{D}} &= w_{\mathrm{Y}},\\
+   D_{\mathrm{D}} &= 0\,\mathrm{pt}
+   \end{align*}%
+ }%
+\\\midrule
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(0,0){\line(1,0){3.8}}
+   \put(4,0){\DTOUeg}
+   \put(11.2,0){\line(1,0){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
+   \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
+   \put(3,-2){\vector(0,1){2}}
+   \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(6,8){\vector(-1,0){2}}
+   \put(9,8){\vector(1,0){2}}
+   \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{Y}} &= h_{\mathrm{D}}+d_{\mathrm{D}},\\
+   H_{\mathrm{Y}} &= w_{\mathrm{D}},\\
+   D_{\mathrm{Y}} &= 0\,pt
+   \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(9,-0.2){\line(0,-1){2.8}}
+   \put(4,0){\DTOUeg}
+   \put(9, 7.2){\line(0,1){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(2,0){\line(1,0){1.8}}
+   \put(3,5){\vector(0,1){2}}
+   \put(3,2){\vector(0,-1){2}}
+   \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(6.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
+   \put(10,8){\vector(-1,0){1}\vector(1,0){1}}
+   \put(10,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
+   \put(6.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{T}} &= h_{\mathrm{D}}+d_{\mathrm{D}},\\
+   H_{\mathrm{T}} &= d_{\mathrm{D}},\\
+   D_{\mathrm{T}} &= h_{\mathrm{D}}
+   \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+   \put(6,-0.2){\line(0,-1){2.8}}
+   \put(4,7){\TATEeg}
+   \put(6, 7.2){\line(0,1){3.8}}
+%
+   \put(2,7){\line(1,0){1.8}}
+   \put(2,0){\line(1,0){1.8}}
+   \put(3,5){\vector(0,1){2}}
+   \put(3,2){\vector(0,-1){2}}
+   \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
+%
+   \put(4,7.2){\line(0,1){1.8}}
+   \put(11,7.2){\line(0,1){1.8}}
+   \put(5,8){\vector(-1,0){1}\vector(1,0){1}}
+   \put(8.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
+   \put(5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
+   \put(8.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+   \begin{align*}
+   W_{\mathrm{D}} &= w_{\mathrm{T}},\\
+   H_{\mathrm{D}} &= d_{\mathrm{T}},\\
+   D_{\mathrm{D}} &= h_{\mathrm{T}}
+   \end{align*}%
+ }\\
+\bottomrule
+\end{tabular}
+\end{table}
+
+
+\paragraph{\cs{wd} は組方向には対応しない}
+ボックスレジスタ \cs{box}<num> にセットされているボックスの幅・高さ・深さの取得や
+変更にはそれぞれ \cs{wd},~\cs{ht},~\cs{dp} プリミティブを用いるのであった.
+\pTeX ではこれらのプリミティブは,「現在の組方向におけるボックスの寸法」を指すものであった.
+
+\LuaTeX-jaにおいては状況が異なり,\cs{wd},~\cs{ht},~\cs{dp} は\emph{組方向が
+混在する状況においては正しく機能しない}.具体的には,現在の組方向に依存しないことが挙げられる.
+\begin{LTXexample}
+% yoko direction
+\setbox0=\hbox to 20pt{foo}
+\the\wd0,~\hbox{\tate\vrule\the\wd0}
+\wd0=100pt
+\the\wd0,~\hbox{\tate \the\wd0}
+\end{LTXexample}
+
+\paragraph{\cs{wd} 等の代替命令}
+
+\pTeX のように現在の組方向に応じたボックスの寸法の取得・設定を行うため,
+次の命令を新設した.
+
+\begin{cslist}
+
+ \item[ltjgetwd\{<num>\}\textrm{, }\cs{ltjgetht}\{<num>\}\textrm{, }%
+  \cs{ltjgetdp}\{<num>\}]
+現在の組方向に応じたボックスの寸法の取得を行う.結果は内部長さであるため,
+{\let\item=\origitem
+\begin{verbatim}
+\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
+\end{verbatim}
+のように \cs{wd}<num> の代わりとして扱うことができる.引数が1桁の場合は,
+\cs{ltjgetwd3} のように引数をグループで括らなくても良いが,そうでない場合は
+(通常の命令への引数のように)\verb+\ltjgetwd{42}+ とグループに括る必要がある.
+使用例は以下の通りである.
+\begin{LTXexample}[width=0.3\textwidth]
+\parindent0pt
+\setbox32767=\hbox{\yoko よこぐみ}
+\fboxsep=0mm\fbox{\copy32767}
+\vbox{\hsize=20mm
+\yoko YOKO \the\ltjgetwd{32767}, \\
+  \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\vbox{\hsize=20mm\raggedleft
+\tate TATE \the\ltjgetwd{32767}, \\
+  \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\vbox{\hsize=20mm\raggedleft
+\dtou DTOU \the\ltjgetwd{32767}, \\
+  \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\end{LTXexample}}
+
+ \item[ltjsetwd<num>=<dimen>\textrm{, }\cs{ltjsetht}<num>=<dimen>\textrm{, }%
+  \cs{ltjsetdp}<num>=<dimen>]
+現在の組方向に応じたボックスの寸法の設定を行う.\cs{afterassignment} を2回利用して
+実装しているので,次の4通りは全て同じ意味である.
+{\let\item=\origitem
+\begin{verbatim}
+\ltjsetwd42 20pt,  \ltjsetwd42=20pt,  \ltjsetwd=42 20pt,  \ltjsetwd=42=20pt
+\end{verbatim}
+}%
+
+設定値は「横組」「縦組及び \cs{utod} 方向」「\cs{dtou} 方向」
+の3種ごとに独立して記録される.
+
+\end{cslist}
+
+\subsection{組方向の取得}
+「現在の組方向」や「<num>番のボックスの組方向」は,
+\pTeX では\cs{ifydir} や \cs{ifybox}<num> といった条件判断文を使って
+判断することができた.
+しかし,\LuaTeX-jaはあくまでも\TeX マクロとLuaコードで
+記述されており,それでは新たな条件判断命令を作るのは難しい.
+
+\LuaTeX-jaでは,\Param{direction}パラメータで現在の組方向を,
+\Param{boxdir}パラメータによってボックスの組方向をそれぞれ取得できるようにした.
+戻り値は1文字の数字(文字列)であり,1は \cs{dtou} 方向を,
+3は縦組を,4は横組,11は \cs{utod} 方向を表す:
+\begin{LTXexample}[width=0.3\textwidth]
+\leavevmode\def\DIR{\ltjgetparameter{direction}}
+\hbox{\yoko \DIR}, \hbox{\tate\DIR}, \hbox{\dtou\DIR}, \hbox{\utod\DIR}
+
+\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
+\end{LTXexample}
+
+これらを用いれば,例えば
+\pTeX の \cs{ifydir}, \cs{iftbox200} と同等の条件判断を
+\begin{verbatim}
+\ifnum\ltjgetparameter{direction}=4
+\ifnum\ltjgetparameter{boxdir}{200}=3
+\end{verbatim}
+のように行うことができる.
+
+\subsection{プリミティブの再定義}
+異なる組方向に対応するために,以下に挙げるプリミティブは
+\LuaTeX-jaによる前処理もしくは後処理が行われるように
+\ \verb+\protected\def+ により再定義してある.
+\begin{cslist}
+ \item[unhbox<num>\textrm{, }\cs{unvbox}<num>]
+ ボックスの組方向が現在のリストと異なる場合は事前にエラーメッセージを出力する.
+ \pTeX と異なり,エラーを無視して無理矢理 \cs{unhbox}, \cs{unvbox} を
+ 続行させることもできるが,その場合の組版結果は保証しない.
+ \item[vadjust\{<material>\}] 一旦プリミティブ本来の挙動を行う.その後,<material>の組方向が
+ 周囲の垂直リストの組方向と一致しない場合にエラーを出力し,
+ 該当の \cs{vadjust} を無効にする.
+ \item[lastbox] 必要ならばボックスの「中身」を包んでいる\textit{dir\_node}を除去し,
+ 正しく「中身」のボックスが返されるように前処理をする.
+ \item[raise<dimen><box>\textrm{, }lower<dimen><box>\textrm{\ etc.}] 
+ 一方,こちらでは必要に応じて\textit{dir\_node}を作成する前処理を追加している.
+\end{cslist}
+
+%</ja>
+
 %<en>\section{Font Metric and Japanese Font}
 %<ja>\section{フォントメトリックと和文フォント}
-%<en>\subsection{\texttt{\textbackslash jfont}}
-%<ja>\subsection{\texttt{\textbackslash jfont} 命令}
+%<en>\subsection{\cs{jfont}}
+%<ja>\subsection{\cs{jfont} 命令}
 \label{ssec-jfont}
 
 %<*en>
-To load a font as a Japanese font, you must use the
-\verb+\jfont+ instead of~\verb+\font+, while
-\verb+\jfont+ admits the same syntax used in~\verb+\font+.
+To load a font as a Japanese font (for horizontal direction), you must use the
+\cs{jfont} instead of~\cs{font}, while
+\cs{jfont} admits the same syntax used in~\cs{font}.
 \LuaTeX-ja automatically loads \Pkg{luaotfload} package,
 so TrueType/OpenType fonts with features can be used for Japanese fonts:
 %</en>
 %<*ja>
-フォントを和文フォントとして読み込むためには,\verb+\jfont+ を
-\verb+\font+ プリミティブの代わりに用いる.
-\verb+\jfont+ の文法は \verb+\font+ と同じである.
+フォントを(横組用)和文フォントとして読み込むためには,\cs{jfont} を
+\cs{font} プリミティブの代わりに用いる.
+\cs{jfont} の文法は \cs{font} と同じである.
 \LuaTeX-jaは\Pkg{luaotfload}パッケージを自動的に読み込むので,
 TrueType/OpenTypeフォントにfeatureを指定したものを和文フォントとして用いる
 ことができる:
@@ -2472,16 +2895,16 @@ TrueType/OpenTypeフォントにfeatureを指定したものを和文フォン
 
 %<*en>
 Note that the defined control sequence
-(\verb+\tradgt+ in the example above) using \verb+\jfont+ is not a
+(\cs{tradgt} in the example above) using \cs{jfont} is not a
 \textit{font\_def} token,  but a macro.
 Hence the input like \verb+\fontname\tradgt+
 causes a error.  We denote control sequences which are defined in
-\verb+\jfont+ by <jfont\_cs>.
+\cs{jfont} by <jfont\_cs>.
 %</en>
 %<*ja>
-なお,\verb+\jfont+ で定義された制御綴(上の例だと \verb+\tradgt+
+なお,\cs{jfont} で定義された制御綴(上の例だと \cs{tradgt}
 は\textit{font\_def}トークンではなくマクロである.従って,\verb+\fontname\tradgt+ のような
-入力はエラーとなる.以下では \verb+\jfont+ で定義された
+入力はエラーとなる.以下では \cs{jfont} で定義された
 制御綴を<jfont\_cs>で表す.
 %</ja>
 
@@ -2490,13 +2913,13 @@ causes a error.  We denote control sequences which are defined in
 As noted in Introduction, a JFM has measurements of characters and
 glues/kerns that are automatically inserted for Japanese
 typesetting. The structure of JFM will be described in the next
-subsection. At the calling of \verb+\jfont+, you must specify
+subsection. At the calling of \cs{jfont}, you must specify
 which JFM will be used for this font by the following keys:
 %</en>
 %<*ja>
 「はじめに」の節で述べたように,JFMは文字と和文組版で自動的に挿入される
 グルー/カーンの寸法情報を持っている.JFMの構造は次の節で述べる.
-\verb+\jfont+ 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
+\cs{jfont} 命令の呼び出しの際には,どのJFMを用いるのかを以下のキーで
 指定する必要がある:
 %</ja>
 
@@ -2525,8 +2948,8 @@ which JFM will be used for this font by the following keys:
 \toprule
 &\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
 \midrule
-%<en>Example~1\cite{min10}
-%<ja>例1\cite{min10}
+%<en>Example~1~\cite{min10}
+%<ja>例1~\cite{min10}
 &\r{ujis}&\r{jis}&\r{min}\\
 %<en>Example~2
 %<ja>例2
@@ -2541,14 +2964,15 @@ Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
 \begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
 \item[jfm=<name>]
 %<*en>
-Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
+Specify the name of (horizontal) JFM.
+If specified JFM has not been loaded, \LuaTeX-ja search and load
 a file named \texttt{jfm-<name>.lua}.
 
 The following JFMs are shipped with \LuaTeX-ja:
 %</en>
 %<*ja>
-JFMの名前を指定する.もし以前に指定されたJFMが読み込まれていなければ,
-\texttt{jfm-<name>.lua}を読み込む.以下のJFMが\LuaTeX-jaには同梱されている:
+用いる(横組用)JFMの名前を指定する.もし以前に指定されたJFMが読み込まれていなければ,
+\texttt{jfm-<name>.lua}を読み込む.以下の横組用JFMが\LuaTeX-jaには同梱されている:
 %</ja>
 \begin{description}
 %<*en>
@@ -2578,9 +3002,9 @@ JFMの名前を指定する.もし以前に指定されたJFMが読み込ま
 %</ja>
 %<*en>
 \item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
-  of the default Japanese font metric shipped with \pTeX. 
+  of the default Japanese font metric shipped with \pTeX.
 %</en>
-%<*ja> 
+%<*ja>
 \item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文用TFM
   である \verb+min10.tfm+ に相当する.
 %</ja>
@@ -2620,7 +3044,7 @@ The difference among these three~JFMs is  shown in Table~\ref{tab-difjfm}.
 JFMもサイズも同じなので,普通に「)【」と入力した時と同じように半角空きとなる.
 
 しかし,JFMとサイズが同じであっても,\texttt{jfmvar} キーの異なる
-2つの和文フォント,例えば図\ref{fig:jfmvar}で言う \verb+\F+ と \verb+\H+
+2つの和文フォント,例えば図\ref{fig:jfmvar}で言う \cs{F} と \cs{H}
 は「区別される」.異なる和文フォントに異なる \texttt{jfmvar} キーを割り当て,
 かつ\Param{differentjfm}パラメータを \texttt{both} に設定すれば,
 \pTeX と似た状況で組版されることになる.
@@ -2650,12 +3074,12 @@ JFMもサイズも同じなので,普通に「)【」と入力した時と
 %<ja>\paragraph{ペアカーニング情報の使用}
 \label{para-kern}
 %<*en>
-Some fonts have information for inter-glyph spacing. 
+Some fonts have information for inter-glyph spacing.
 This version of \LuaTeX-ja treats kerning spaces like an italic correction;
 any glue and/or kern from the JFM and a kerning space can coexist.
 See Figure~\ref{fig:kern-jfm} for detail.
 
-Note that in \verb+\setmainjfont+ etc.\ which are provided by \Pkg{luatexja-fontspec}
+Note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec}
 package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default,
 because of the compatibility with previous versions of \LuaTeX-ja.
 %</en>
@@ -2666,7 +3090,7 @@ because of the compatibility with previous versions of \LuaTeX-ja.
 つまり,カーニング由来の空白とJFM由来のグルー・カーンは同時に入りうる.
 図\ref{fig:kern-jfm}を参照.
 \begin{itemize}
- \item \emph{\texttt{\textbackslash jfont} や,
+ \item \emph{\cs{jfont} や,
 NFSS2用の命令(\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節)における指定では
 カーニング情報は標準で使用する}ことになっているようである.
 言い換えれば,カーニング情報を使用しない設定にするには,面倒でも
@@ -2674,9 +3098,9 @@ NFSS2用の命令(\ref{ssec-chgfnt}節,\ref{ssec-nfsspat}節)における
 \jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
 \DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
 \end{verbatim}
-のように,\texttt{-kern} という指定を自分で追しなければいけない.
- \item 
-一方,\emph{\Pkg{luatexja-fontspec} の提供する \texttt{\textbackslash setmainjfont}\ 
+のように,\texttt{-kern} という指定を自分で追しなければいけない.
+ \item
+一方,\emph{\Pkg{luatexja-fontspec} の提供する \cs{setmainjfont}\
 などの命令の標準設定ではカーニング情報は使用しない}(\texttt{Kerning=Off})
 ことになっている.これは以前のバージョンの\LuaTeX-jaとの互換性のためである.
 \end{itemize}
@@ -2688,7 +3112,7 @@ OpenType font featureと見かけ上同じような形式で指定できるも
 \begin{description}
 \item[\texttt{extend=}<extend>] 横方向に<extend>倍拡大する.
 \item[\texttt{slant=}<slant>] <slant>に指定された割合だけ傾ける.
-\end{description}  
+\end{description}
 の2つがある.
 \texttt{extend}や\texttt{slant}を指定した場合は,それに応じたJFMを指定すべきである%
 \footnote{\LuaTeX-jaでは,これらに対するJFMを特に提供することはしない予定である.}.
@@ -2703,7 +3127,7 @@ The following setting can be specified as OpenType font features:
 \item[\texttt{slant=}<slant>] slant the font.
 \end{description}
 Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
-settings; you have to write new JFMs on purpose. 
+settings; you have to write new JFMs on purpose.
 For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
 letter-spacing and the width of italic correction are not correct:
 %</en>
@@ -2715,19 +3139,43 @@ letter-spacing and the width of italic correction are not correct:
 \S あいう\/ABC
 \end{LTXexample}
 
+%<en>\subsection{\cs{tfont}}
+%<ja>\subsection{\cs{tfont} 命令}
+
+%<*en>
+...
+%</en>
+%<*ja>
+\cs{tfont} はフォントを縦組用の和文フォントとして読み込む命令であり,
+\cs{jfont} の文法は \cs{jfont} と同じである.
+\cs{tfont} で定義された縦組用和文フォントは,
+以下の点が \cs{jfont} による横組用和文フォントとは異なる:
+\begin{itemize}
+ \item 出力時に,自動的に「\verb+vert+ feature相当」のグリフ置換が行われる.
+       これは,\Pkg{luaotfload}による各種featureのサポートとは全く別個に行われるもので,
+       いちいち \verb+vert+ featureを指定する必要はない.
+\begin{verbatim}
+\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujis % OK
+\end{verbatim}
+ \item \ref{ssec-math}節で述べる,数式中の和文フォントには縦組用和文フォントは指定できない.
+ \item \texttt{jfm=<name>}\ の部分には縦組用JFMを指定する.現在同梱されているのは,
+OTFパッケージの \verb+upnmlminr-v.tfm+ を元にした\texttt{jfm-ujisv.lua}\ のみである.
+\end{itemize}
+%</ja>
+
 %<en>\subsection{Prefix \texttt{psft}}
 %<ja>\subsection{\texttt{psft}プリフィックス}
 \label{ssec-psft}
 %<*en>
 Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
-are introduced in the \Pkg{luaotfload} package, 
-\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \verb+\jfont+ (and~\verb+\font+),
+are introduced in the \Pkg{luaotfload} package,
+\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \cs{jfont} (and~\cs{font}),
 to specify a ``name-only'' Japanese font which
 will not be embedded to PDF. Typical use of this prefix is to specify
 standard, non-embedded Japanese fonts, namely, ``Ryumin-Light'' and
 ``GothicBBB-Medium''.
 
-\emph{OpenType font features, such as ``{\tt +jp90}'', 
+\emph{OpenType font features, such as ``{\tt +jp90}'',
 have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
 because we can't expect what fonts are actually used by the PDF reader.}
 Note that \texttt{extend}~and~\texttt{slant} settings (see~above) are supported
@@ -2736,7 +3184,7 @@ with \texttt{psft} prefix, because they are only simple linear transformations.
 %<*ja>
 \Pkg{luaotfload}で使用可能になった
 \texttt{file:}\ と \texttt{name:}\ のプリフィックスに加えて,
-\verb+\jfont+(と \verb+\font+ プリミティブ)では
+\cs{jfont}(と \cs{font} プリミティブ)では
 \texttt{psft:}プリフィックスを用いることができる.
 このプリフィックスを用いることで,PDFには埋め込まれない「名前だけの」
 和文フォントを指定することができる.「標準的な」非埋め込み和文フォント,
@@ -2843,8 +3291,13 @@ floating-point numbers in design-size unit.
 %<en>(required)
 %<ja>(必須)
 
-%<en>The direction of JFM. At the present, only \texttt{'yoko'} is supported.
-%<ja>JFMの書字方向.現時点では横書き(\texttt{'yoko'})のみがサポートされる.
+%<*en>
+The direction of JFM. \texttt{'yoko'}~(horizontal)
+or \texttt{'tate'}~(vertical) are supported.
+%</en>
+%<*ja>
+JFMの書字方向.\texttt{'yoko'}(横組)と \texttt{'tate'}(縦組)がサポートされる.
+%</ja>
 
 \item[zw=<length>]
 %<en>(required)
@@ -2857,7 +3310,7 @@ floating-point numbers in design-size unit.
 %<en>(required)
 %<ja>(必須)
 
-%<en>The amount of the ``full-height'' (height + depth). 
+%<en>The amount of the ``full-height'' (height + depth).
 %<ja>「全角高さ」(height + depth)の長さ.通常は全角幅と同じ長さになるだろう.
 
 \item[kanjiskip=\{<natural>, <stretch>, <shrink>\}]
@@ -2865,16 +3318,16 @@ floating-point numbers in design-size unit.
 %<ja>(任意)
 
 %<*en>
-This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}. As noted
+This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
             in Subsection~\ref{subs-kskip}, if the parameter
-            \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is \verb+\maxdimen+, the value specified
+            \Param{kanjiskip} is \cs{maxdimen}, the value specified
             in this field is actually used (if this field is not specified in
             JFM, it is regarded as 0\,pt). Note that <stretch> and <shrink>
             fields are in design-size unit too.
 %</en>
 %<*ja>
-理想的な\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の量を指定する.\ref{subs-kskip}節で述べたように,
-もし\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}が \verb+\maxdimen+ の値ならば,このフィールドで指定された
+理想的な\Param{kanjiskip}の量を指定する.\ref{subs-kskip}節で述べたように,
+もし\Param{kanjiskip}が \cs{maxdimen} の値ならば,このフィールドで指定された
 値が実際には用いられる(指定なしは0\,ptとして扱われる).<stretch>と<shrink>のフィールドもdesign-size
 が単位であることに注意せよ.
 %</ja>
@@ -2885,10 +3338,10 @@ This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{ka
 
 %<*en>
 Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
-            amount of \Param{\hyperlink{fld:xks}{xkanjiskip}}.
+            amount of \Param{xkanjiskip}.
 %</en>
 %<*ja>
-\texttt{kanjiskip}フィールドと同様に,\Param{\hyperlink{fld:xks}{xkanjiskip}}の理想的な量を
+\texttt{kanjiskip}フィールドと同様に,\Param{xkanjiskip}の理想的な量を
 指定する.
 %</ja>
 \end{list}
@@ -2947,11 +3400,11 @@ This field is a list of characters which are in this character
 %<ja>(必須)
 
 %<*en>
-Specifythe width of characters in character class~$i$, the height, the depth and
+Specify the width of characters in character class~$i$, the height, the depth and
 the amount of italic correction. All characters in character class~$i$ are regarded that its width, height, and depth are
 as values of these fields.
 
-But there is one exception: \texttt{width} field can be \texttt{'prop'}. 
+But there is one exception: \texttt{width} field can be \texttt{'prop'}.
 This means that width of a character becomes that of its ``real'' glyph.
 %</en>
 %<*ja>
@@ -2973,7 +3426,8 @@ These fields are for adjusting the position of the ``real'' glyph. Legal
             3~fields are omitted, \texttt{left} and \texttt{down} are
             treated as~0, and \texttt{align} field is treated as
             \texttt{'left'}.
-The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
+The effects of these 3~fields are indicated in 
+Figures \ref{fig-pos}~and~\ref{fig-pos-tate}.
 %</en>
 %<*ja>
 これらのフィールドは実際のグリフの位置を調整するためにある.
@@ -2981,7 +3435,8 @@ The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
 \texttt{'right'} のいずれかである.もしこれら3つのフィールドのうちの1つが省かれた
 場合,\texttt{left} と \texttt{down} は0,\texttt{align} フィールドは
 \ \texttt{'left'} であるものとして扱われる.
-これら3つのフィールドの意味については図\ref{fig-pos}で説明する.
+これら3つのフィールドの意味については図\ref{fig-pos}(横組用和文フォント),
+図\ref{fig-pos-tate}(縦組用和文フォント)で説明する.
 %</ja>
 
 %<*en>
@@ -3002,10 +3457,10 @@ when the current character class is the class for opening delimiters'.
 \begin{minipage}{0.4\textwidth}%
 \begin{center}\unitlength=10pt\small
 \begin{picture}(15,12)(-1,-4)
-\color{black!10!white}% real glyph :step1
+\color{black!10!white}% jfm
 \put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}
 
-\color{red!20!white}% real glyph :step1
+\color{red!20!white}% step1
 \put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
 
 \color{red}% real glyph
@@ -3015,10 +3470,10 @@ when the current character class is the class for opening delimiters'.
 \put(-1,5.5){\line(1,0){6}}
 \put(-1,-4){\line(1,0){6}}
 
-\color{green!20!white}% real glyph :step1
+\color{green!20!white}% real glyph
 \put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
 
-\color{black}% real glyph :step1
+\color{black}% jfm
 \thicklines
 \put(0,0){\vector(0,1){8}\line(0,-1){3}\vector(1,0){12}}
 \put(12,0){\line(0,1){8}\vector(0,-1){3}}
@@ -3028,7 +3483,7 @@ when the current character class is the class for opening delimiters'.
 \put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
 \put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}
 
-\color{green!50!black}% real glyph :step1
+\color{green!50!black}% step1
 \thicklines
 \put(3,0){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
 \put(9,0){\line(0,1){7}\line(0,-1){2.5}}
@@ -3053,31 +3508,32 @@ when the current character class is the class for opening delimiters'.
 \end{minipage}%
 \begin{minipage}{0.6\textwidth}%
 %<*en>
-Consider a node containing Japanese character whose value of the \texttt{align}
+Consider a  Japanese character node which belongs to 
+a character class whose the \texttt{align}
 field is \texttt{'middle'}.
 %</en>
 %<*ja>
-\texttt{align}フィールドの値が\texttt{'middle'}である和文文字を含むノードを
-考えよう.
+\texttt{align}フィールドの値が\texttt{'middle'}であるような文字クラスに属する
+和文文字ノードを考えよう.
 %</ja>
 \begin{itemize}
 \item
 %<*en>
-The black rectangle is a frame of the node.
+The black rectangle is the imaginary body of the node.
 Its width, height, and depth are specified by JFM.
 %</en>
 %<*ja>
-é»\92è\89²ã\81®é\95·æ\96¹å½¢ã\81¯ã\83\8eã\83¼ã\83\89ã\81®æ\9e ã\81§ã\81\82ã\82\8bï¼\8e
-その幅,高さ,深さはJFMによって指定される.
+é»\92è\89²ã\81®é\95·æ\96¹å½¢ã\81¯ã\83\8eã\83¼ã\83\89ã\81®æ\9e ã\81§ã\81\82ã\82\8aï¼\8c
\81\9dã\81®å¹\85ï¼\8cé«\98ã\81\95ï¼\8cæ·±ã\81\95ã\81¯JFMã\81«ã\82\88ã\81£ã\81¦æ\8c\87å®\9aã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bï¼\8e
 %</ja>
 \item
 %<*en>
 Since the \texttt{align} field is \texttt{'middle'},
-the ``real'' glyph is centered horizontally (the green rectangle).
+the ``real'' glyph is centered horizontally (the green rectangle) first.
 %</en>
 %<*ja>
-\texttt{align}フィールドは\texttt{middle}なので,実際のグリフは
-水平方向の中心に配置される(緑色の長方形).
+\texttt{align}フィールドは\texttt{middle}なので,
+実際のグリフの位置はまず水平方向に中央揃えしたものとなる(緑色の長方形).
 %</ja>
 \item
 %<*en>
@@ -3086,7 +3542,7 @@ Furthermore, the glyph is shifted according to values of fields
       glyph is indicated by the red rectangle.
 %</en>
 %<*ja>
-さらに,グリフは\texttt{left}と\texttt{down}の値に従ってシフトされる.
+さらに,グリフは \texttt{left} と \texttt{down} の値に従ってシフトされる.
 最終的な実際のグリフの位置は赤色の長方形で示された位置になる.
 %</ja>
 \end{itemize}
@@ -3094,11 +3550,93 @@ Furthermore, the glyph is shifted according to values of fields
 \medskip
 
 \caption{%
-%<en>The position of the real glyph
-%<ja>「実際の」グリフの位置
+%<en>The position of the real glyph (horizontal Japanese fonts)
+%<ja>横組和文フォントにおける「実際の」グリフの位置
 }
 \label{fig-pos}
 \end{figure}
+\begin{figure}[!tb]
+\begin{minipage}{0.4\textwidth}%
+\begin{center}\unitlength=10pt\small
+\begin{picture}(15,12)(-6,0)
+\color{black!10!white}% jfm
+\put(-6,0){\vrule width 12\unitlength height 11\unitlength}
+
+\color{red!20!white}% real glyph
+\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
+
+\color{red}% real glyph
+\thicklines
+\put(-6.5,5.5){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
+\put( 1.5,5.5){\line(0,1){6}\line(0,-1){3}}
+\put(-6.5,11.5){\line(1,0){8}}
+\put(-6.5,2.5){\line(1,0){8}}
+
+\color{green!20!white}% step1
+\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
+
+\color{black}% jfm
+\thicklines
+\put(0,11){\vector(1,0){6}\vector(-1,0){6}\vector(0,-1){11}}
+\put(0,0){\line(1,0){6}\line(-1,0){6}}
+\put(-6,0){\line(0,1){11}}
+\put( 6,0){\line(0,1){11}}
+\put( 3,10.8){\makebox(0,0)[t]{\texttt{height}}}
+\put(-3,10.8){\makebox(0,0)[t]{\texttt{depth}}}
+\put(0.2,5.5){\makebox(0,0)[l]{\texttt{width}}}
+
+\color{green!50!black}% step1
+\thicklines
+\put(-4,3){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
+\put( 4,3){\line(0,1){6}\line(0,-1){3}}
+\put(-4,9){\line(1,0){8}}
+\put(-4,0){\line(1,0){8}}
+\savebox{\eqdist}(0,0)[b]{%
+  \thinlines
+  \put(-0.08,0.2){\line(0,-1){0.4}}%
+  \put(0.08,0.2){\line(0,-1){0.4}}}
+\put(2,9){\usebox{\eqdist}}
+\put(-2,9){\usebox{\eqdist}}
+
+
+\color{blue}% shifted
+\thicklines
+\put(-4,3){\vector(0,1){2.5}}
+\put(-3.8,4.25){\makebox(0,0)[l]{\texttt{left}}}
+\put(-4,5.5){\vector(-1,0){2.5}}
+\put(-5.,5.7){\makebox(0,0)[b]{\texttt{down}}}
+\end{picture}
+\end{center}
+\end{minipage}%
+\begin{minipage}{0.6\textwidth}%
+%<*en>
+(\dots)
+%</en>
+%<*ja>
+\texttt{align}フィールドの値が\texttt{'right'}であるような文字クラスに属する
+和文文字を考えよう.
+\begin{itemize}
+\item
+実際のグリフの「垂直位置」は,ベースラインが文字の物理的な左右方向の中央を通る
+位置となる.
+\item 
+また,この場合\texttt{align}フィールドは\texttt{middle}なので,
+「水平位置」は字送り方向に「右寄せ」したものとなる(緑色の長方形).
+その際,高さ・深さは,実フォントのascender, descenderの値が使われる.
+\item 
+その後さらに \texttt{left} と \texttt{down} の値に従ってシフトされる
+のは横組用和文フォントと変わらない.
+\end{itemize}
+%</ja>
+\end{minipage}
+\medskip
+
+\caption{%
+%<en>The position of the real glyph (vertical Japanese fonts)
+%<ja>縦組和文フォントにおける「実際の」グリフの位置
+}
+\label{fig-pos-tate}
+\end{figure}
 
 \item[kern={\{[$j$]=<kern>, [$j'$]=\{<kern>, [<ratio>]\}, ...\}}]
 
@@ -3120,7 +3658,7 @@ Furthermore, the glyph is shifted according to values of fields
 \item それ以外の値は,「前の文字」由来のグルーと「後の文字」由来の
 グルーが混合されていることを示す.
 \end{itemize}
-なお,このフィールドの値は\Param{\hyperlink{fld:diffjfm}{differentjfm}}の値が
+なお,このフィールドの値は\Param{differentjfm}の値が
 \texttt{pleft},~\texttt{pright},~\texttt{paverage}の値のときのみ実際に用いられる.
 
 例えば,\cite{x4051}では,句点と中点の間には,
@@ -3134,9 +3672,9 @@ Furthermore, the glyph is shifted according to values of fields
 \end{itemize}
 %</ja>
 %<*en>
-\ 
+\
 
-Specifies the width of kern or glue which will be inserted 
+Specifies the width of kern or glue which will be inserted
 between characters in character class~$i$ and those in character class~$j$.
 
 <priority> is an integer in $[-2,2]$ (treated as 0 if omitted), and this is
@@ -3145,7 +3683,7 @@ used only in line adjustment with priority by \Pkg{luatexja-adjust}
 and is also easy to shrink.
 
 <ratio> is also an optional value between $-1$ and 1. For example,
-Thw width of a glue between an ideographic full stop ``。''
+The width of a glue between an ideographic full stop ``。''
 and a fullwidth middle dot ``・'' is three-fourth of fullwidth,
 namely halfwidth from the ideographic full stop, and
 quarter-width from the fullwidth middle dot.  In this case,
@@ -3203,8 +3741,8 @@ Now we look why the above source outputs 20\,pt, not 15\,pt.
 by \verb+vert+ feature.
 \item The character class of ``\char"FE12'' is zero, hence its width is fullwidth.%"
 \item The character class of ``漢'', hence its width is fullwidth.
-\item \verb+\inhibitglue+ makes that no glue will be inserted between ``。'' and ``漢''.
-\item Hence the width of \verb+\hbox+ equals to 20\,pt.
+\item \cs{inhibitglue} makes that no glue will be inserted between ``。'' and ``漢''.
+\item Hence the width of \cs{hbox} equals to 20\,pt.
 \end{enumerate}
 This example shows that the character class of a character is determined \emph{after
 applying font features by \Pkg{luaotfload}}.
@@ -3213,8 +3751,8 @@ applying font features by \Pkg{luaotfload}}.
 では,全角二分(15.0\,pt)となるのが自然……と思うかもしれないが,上の実行結果では20\,ptとなっている.
 それは以下の事情によるものである:
 \begin{enumerate}
-\item \verb+vert+ featureによって句点(\texttt{U+3002})が縦書き用のグリフと置き換わる(\Pkg{luaotfload} による処理).
-\item この縦書き用句点のグリフは \texttt{U+FE12} であるため,その文字クラスは0となる.
+\item \verb+vert+ featureによって句点(\texttt{U+3002})が縦用のグリフと置き換わる(\Pkg{luaotfload} による処理).
+\item この縦用句点のグリフは \texttt{U+FE12} であるため,その文字クラスは0となる.
 \item 以上により文字クラス0とみなされるため,結果として「。」の幅は全角だと認識されてしまう.
 \end{enumerate}
 この例は,\emph{文字クラスの決定はfont featureの適用によるグリフ置換の後に行われる}ことを
@@ -3222,7 +3760,7 @@ applying font features by \Pkg{luaotfload}}.
 %</ja>
 
 %<*en>
-However, a starred specificaion like ``\texttt{'、*'}'' changes the rule.
+However, a starred specification like ``\texttt{'、*'}'' changes the rule.
 Consider the following input:
 %</en>
 %<*ja>
@@ -3248,9 +3786,9 @@ as following:
 %<*ja>
 ここで,読点「、」(\texttt{U+3001})の文字クラスは,以下のようにして決まる.
 \begin{enumerate}
-\item とりあえず句点の時と同じように,\Pkg{luaotfload} によって縦書き用読点のグリフに置き換わる.
+\item とりあえず句点の時と同じように,\Pkg{luaotfload} によって縦用読点のグリフに置き換わる.
 \item 置換後のグリフは \texttt{U+FE11} であり,そのままでは文字クラスは0と判定される.
-\item ところが,JFMには「\texttt{'、*'}」指定があるので,置換前の横書き用読点のグリフによって文字クラスを判定する.
+\item ところが,JFMには「\texttt{'、*'}」指定があるので,置換前の横用読点のグリフによって文字クラスを判定する.
 \item 結果として,上の出力例中の読点の文字クラスは2000となる.
 \end{enumerate}
 %</ja>
@@ -3289,12 +3827,12 @@ The following is the list of imaginary characters:
 %%<ja>JFMやサイズが異なる2つの\textbf{JAchar}の間の境界として用いられる.
 
 \item['boxbdd']
-%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \verb+\noindent+) paragraph.
-%<ja>hboxの先頭と末尾,及びインデントされていない(\verb+\noindent+ で開始された)段落の先頭を表す.
+%<en>The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
+%<ja>hboxの先頭と末尾,及びインデントされていない(\cs{noindent} で開始された)段落の先頭を表す.
 
 \item['parbdd']
 %<en>The beginning of an (indented) paragraph.
-%<ja>通常の(\verb+\noindent+ で開始されていない)段落の先頭.
+%<ja>通常の(\cs{noindent} で開始されていない)段落の先頭.
 
 \item['jcharbdd']
 %<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
@@ -3334,14 +3872,14 @@ See Japanese version of this manual.
       文字クラスに関してはグルー/カーンの設定はしない.
 
 これは,\pTeX では,
-      hboxの先頭・末尾とインデントされていない(\verb+\noindent+ で開始さ
+      hboxの先頭・末尾とインデントされていない(\cs{noindent} で開始さ
       れた)段落の先頭にはJFMグルーは入らないという仕様を実現させるためである.
 \item \pTeX の組版を再現させようというのが目的であれば以上の注意を守れば十分である.
 
 ところで,\pTeX では通常の段落の先頭にJFMグルーが残るという仕様があるので,
       段落先頭の開き括弧は全角二分下がりになる.全角下がりを実現させるに
-      は,段落の最初に手動で \verb+\inhibitglue+ を追加するか,あるいは
-      \ \verb+\everypar+ のハックを行い,それを自動化させるしかなかった.
+      は,段落の最初に手動で \cs{inhibitglue} を追加するか,あるいは
+      \ \cs{everypar} のハックを行い,それを自動化させるしかなかった.
 
 一方,\LuaTeX-jaでは,\texttt{'parbdd'}によって,それがJFM側で調整できるよ
 うになった.例えば,\LuaTeX-ja同梱のJFMのように,\texttt{'boxbdd'}と同じ文字クラスに
@@ -3356,8 +3894,8 @@ See Japanese version of this manual.
 \end{LTXexample}
 \end{itemize}
 
-但し,\verb+\everypar+ を利用している場合にはこの仕組みは正しく動かない.
-そのような例としては箇条書き中の \verb+\item+ で始まる段落があり,\Pkg{ltjsclasses}では
+但し,\cs{everypar} を利用している場合にはこの仕組みは正しく動かない.
+そのような例としては箇条書き中の \cs{item} で始まる段落があり,\Pkg{ltjsclasses}では
 人工的に「\texttt{'parbdd'}の意味を持つ」whatsitノードを作ることによって対処している%
 \footnote{\texttt{ltjsclasses.dtx} を参照されたい.
 JFM側で一部の対処ができることにより,\Pkg{jsclasses}のようにif文の判定はしていない.}.
@@ -3373,28 +3911,28 @@ JFM側で一部の対処ができることにより,\Pkg{jsclasses}のよう
 Aleph, \LuaTeX~and $\varepsilon$-\kern-.125em(u)\pTeX\ can handles 256~families, but
 an external package is needed to support this in plain \TeX\ and
 \LaTeX.}, and each family has three fonts:
-\verb+\textfont+, \verb+\scriptfont+ and \verb+\scriptscriptfont+.
+\cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}.
 %</en>
 %<*ja>
 \TeX\ は数式フォントを16のファミリ\footnote{Omega, Aleph, \LuaTeX,そして
   $\varepsilon$-\kern-.125em(u)\pTeX\ では256の数式ファミリを扱うことができるが,
   これをサポートするためにplain \TeX と\LaTeX では外部パッケージを読み込む必要が
   ある.}で管理し,それぞれのファミリは3つのフォントを持っている:
-\verb+\textfont+, \verb+\scriptfont+ そして \verb+\scriptscriptfont+ である.
+\cs{textfont}, \cs{scriptfont} そして \cs{scriptscriptfont} である.
 %</ja>
 
 %<*en>
 \LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
 Table~\ref{tab-math} shows counterparts to \TeX's primitives for math
 font families. There is no relation between the value of
-\verb+\fam+ and that of \verb+\jfam+; with appropriate settings,
-you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
+\cs{fam} and that of \cs{jfam}; with appropriate settings,
+you can set both \cs{fam} and \cs{jfam} to the same value.
 %</en>
 %<*ja>
 \LuaTeX-jaの数式中での和文フォントの扱いも同様である.
 表\ref{tab-math}は数式フォントファミリに対する \TeX のプリミティブと対応する
-ものを示している.\verb+\fam+ と \verb+\jfam+ の値の間には関係はなく,
-適切な設定の下では \verb+\fam+ と \verb+\jfam+ の両方に同じ値を設定することができる.
+ものを示している.\cs{fam} と \cs{jfam} の値の間には関係はなく,
+適切な設定の下では \cs{fam} と \cs{jfam} の両方に同じ値を設定することができる.
 %</ja>
 
 \begin{table}[!tb]
@@ -3409,10 +3947,10 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
 %<en>\bf Japanese fonts&\bf alphabetic fonts\\
 %<ja>\bf 和文フォント&\bf 欧文フォント\\
 \midrule
-\verb+\jfam+${}\in [0,256)$&\verb+\fam+\\
-\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\textfont+<fam>=<font\_cs>\\
-\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptfont+<fam>=<font\_cs>\\
-\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptscriptfont+<fam>=<font\_cs>\\
+\cs{jfam}${}\in [0,256)$&\cs{fam}\\
+\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{textfont}<fam>=<font\_cs>\\
+\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptfont}<fam>=<font\_cs>\\
+\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\cs{scriptscriptfont}<fam>=<font\_cs>\\
 \bottomrule
 \end{tabular}
 \end{table}
@@ -3471,7 +4009,7 @@ An example of this callback is the \texttt{ltjarticle} class, with
 %<en>\item[\texttt{luatexja.define\_jfont} callback]
 %<ja>\item[\texttt{luatexja.define\_jfont}コールバック]
 %<*en>
-This callback and the next callback form a pair, and you can assign characters 
+This callback and the next callback form a pair, and you can assign characters
  which do not have fixed code points in Unicode to non-zero character classes.
 This \texttt{luatexja.define\_font} callback is called just when new Japanese font is loaded.
 %</en>
@@ -3491,13 +4029,13 @@ end
 \emph{which may not overwritten by a user}:
 \begin{description}
 \item[\texttt{size}]
-The font size specified at \verb+\jfont+ in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
+The font size specified at \cs{jfont} in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
 \item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
 These are scaled value of those specified by the JFM, by the font size.
 \item[\texttt{jfm}]
 The internal number of the JFM.
 \item[\texttt{var}]
-The value of \texttt{jfmvar}~key, which is specified at \verb+\jfont+.
+The value of \texttt{jfmvar}~key, which is specified at \cs{jfont}.
 The default value is the empty string.
 \item[\texttt{chars}]
 The mapping table from character codes to its character classes.\\
@@ -3507,8 +4045,8 @@ The specification \texttt{[i].chars=\{<character>, ...\}} in the JFM will be  st
 For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose class is
           $i$, and has the following fields:
 \begin{itemize}
- \item \texttt{width},~\texttt{height}, \texttt{depth}, 
-  \texttt{italic}, \texttt{down},~\texttt{left}\ are just 
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+  \texttt{italic}, \texttt{down},~\texttt{left}\ are just
        scaled value of those specified by the JFM, by the font size.
  \item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
 \[
@@ -3516,7 +4054,7 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
   0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
  \end{cases}
 \]
-\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted 
+\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
 between character class~$i$ and class~$j$.
 
 If a kern will be inserted, the value of this field is \texttt{[$j$]=\{false, <kern\_node>, <ratio>\}},
@@ -3539,16 +4077,16 @@ sp単位で格納している.
 \item[\texttt{jfm}]
 利用されているJFMを識別するための番号.
 \item[\texttt{var}]
-\verb+\jfont+で指定された \texttt{jfmvar} キーの値(未指定のときは空文字列).
+\cs{jfont}で指定された \texttt{jfmvar} キーの値(未指定のときは空文字列).
 \item[\texttt{chars}]
 文字コードから文字クラスへの対応が記述されたテーブル.\\
-JFM内の \texttt{[i].chars=\{<character>, ...\}} という指定は\ 
+JFM内の \texttt{[i].chars=\{<character>, ...\}} という指定は\
 \texttt{chars=\{[<character>]=\,$i$, ...\}} という形式に変換されている.
 \item[\texttt{char\_type}]
 $i\in\omega$に対して,\texttt{char\_type[$i$]} は文字クラス$i$の文字の寸法を格納しており,
 以下のフィールドを持つ.
 \begin{itemize}
- \item \texttt{width},~\texttt{height}, \texttt{depth}, 
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
   \texttt{italic}, \texttt{down},~\texttt{left}\ は
 JFMで指定されているそれぞれの値をスケーリングしたものである.
  \item \texttt{align} はJFMで指定されている値によって,
@@ -3560,7 +4098,7 @@ JFMで指定されているそれぞれの値をスケーリングしたもの
 のいずれかの値をとる.
 \item $j\in \omega$に対して,\texttt{[$j$]} は文字クラス$i$の文字と$j$の文字の間に挿入されるkern
       やglueを格納している.
-間に入るものがkernであれば,このフィールドの値は\ 
+間に入るものがkernであれば,このフィールドの値は\
 \texttt{[$j$]=\{false, <kern\_node>, <ratio>\}} である.
 <kern\_node>はkernを表すノードそのものである\footnote{%
 本バージョンでは利用可能ならばノードのアクセス手法にdirect access
@@ -3697,11 +4235,11 @@ Then, the position of glyphs is shifted up by
 
 %<en>\section{Parameters}
 %<ja>\section{パラメータ}
-\subsection{\texttt{\textbackslash ltjsetparameter}}
+\subsection{\cs{ltjsetparameter}}
 \label{ssec-param}
 
 %<*en>
-As described before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
+As described before, \cs{ltjsetparameter} and \cs{ltjgetparameter} are
 commands for accessing most parameters of \LuaTeX-ja. One of the main
 reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
 (\textit{e.g.},~\verb+\prebreakpenalty`)=10000+)
@@ -3709,7 +4247,7 @@ is the position of \verb+hpack_filter+ callback in the source
 of \LuaTeX, see Section~\ref{sec-para}.
 %</en>
 %<*ja>
-先に述べたように,\verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ は
+先に述べたように,\cs{ltjsetparameter} と \cs{ltjgetparameter} は
 \LuaTeX-jaのほとんどのパラメータにアクセスするための命令である.
 \LuaTeX-jaが\pTeX のような文法(例えば,\verb+\prebreakpenalty`)=10000+)を
 採用しない理由の一つは,\LuaTeX のソースにおける \verb+hpack_filter+
@@ -3717,37 +4255,37 @@ of \LuaTeX, see Section~\ref{sec-para}.
 %</ja>
 
 %<*en>
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are commands
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
 for assigning parameters. These take one argument which is a
-\texttt{<key>=<value>} list. 
+\texttt{<key>=<value>} list.
 The list of allowed keys are described in the next subsection.
 The difference between
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ is only the
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} is only the
 scope of assignment;
-\verb+\ltjsetparameter+ does a local assignment and
-\verb+\ltjglobalsetparameter+ does a global one.
-They also obey the value of \verb+\globaldefs+,
+\cs{ltjsetparameter} does a local assignment and
+\cs{ltjglobalsetparameter} does a global one.
+They also obey the value of \cs{globaldefs},
 like other assignment.
 %</en>
 %<*ja>
-\verb+\ltjsetparameter+ と \verb+\ltjglobalsetparameter+ はパラメータを
+\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} はパラメータを
 指定するための命令である.これらは\texttt{<key>=<value>}のリストを
 引数としてとる.許されるキーの一覧は次の節にある.
-\verb+\ltjsetparameter+ と \verb+\ltjglobalsetparameter+ の違いはスコープの
+\cs{ltjsetparameter} と \cs{ltjglobalsetparameter} の違いはスコープの
 違いのみで,
-\verb+\ltjsetparameter+ はローカルな指定,\verb+\ltjglobalsetparameter+ は
+\cs{ltjsetparameter} はローカルな指定,\cs{ltjglobalsetparameter} は
 グローバルな指定を行う.
-これらは他のパラメータ指定と同様に \verb+\globaldefs+ の値に従う.
+これらは他のパラメータ指定と同様に \cs{globaldefs} の値に従う.
 %</ja>
 
 %<*en>
 The following is the list of parameters which can be specified by the
-\verb+\ltjsetparameter+ command. [\verb+\cs+] indicates the counterpart
+\cs{ltjsetparameter} command. [\cs{cs}] indicates the counterpart
 in \pTeX, and symbols beside each parameter has the following meaning:
 %</en>
 %<*ja>
-以下は \verb+\ltjsetparameter+ に指定することができるパラメータの一覧である.
-[\verb+\cs+]は\pTeX における対応物を示す.
+以下は \cs{ltjsetparameter} に指定することができるパラメータの一覧である.
+[\cs{cs}]は\pTeX における対応物を示す.
 また,それぞれのパラメータの右上にある記号には次の意味がある:
 %</ja>
 \begin{itemize}
@@ -3767,7 +4305,7 @@ adopted in the whole paragraph or the whole hbox.
 \end{itemize}
 
 \begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\Param{jcharwidowpenalty}\,=<penalty>$^\ast$] [\verb+\jcharwidowpenalty+]
+\item[\DParam{jcharwidowpenalty}\,=<penalty>$^\ast$] [\cs{jcharwidowpenalty}]
 %<*en>
 Penalty value for suppressing orphans. This penalty is inserted just
             after the last \textbf{JAchar} which is not regarded as a
@@ -3779,7 +4317,7 @@ Penalty value for suppressing orphans. This penalty is inserted just
 挿入される.
 %</ja>
 
-\item[\Param{kcatcode}\,=\{<chr\_code>,<natural number>\}$^\ast$]\
+\item[\DParam{kcatcode}\,=\{<chr\_code>,<natural number>\}$^\ast$]\
 %<*en>
 An additional attributes which each character whose character code is <chr\_code> has.
 At the present version, the lowermost bit of <natural number> indicates
@@ -3792,7 +4330,7 @@ At the present version, the lowermost bit of <natural number> indicates
 みなされるかどうかを表している(上の\Param{jcharwidowpenalty}の記述を参照).
 %</ja>
 
-\item[\Param{\hypertarget{fld:prebp}{prebreakpenalty}}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\verb+\prebreakpenalty+]\
+\item[\DParam{prebreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\cs{prebreakpenalty}]\
 %<*ja>
 文字コード<chr\_code>の\textbf{JAchar}が行頭にくることを抑止するために,
             この文字の前に挿入/追加されるペナルティの量を指定する.
@@ -3816,12 +4354,12 @@ by default.
 %</en>
 
 
-\item[\Param{\hypertarget{fld:postbp}{postbreakpenalty}}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\verb+\postbreakpenalty+]
+\item[\DParam{postbreakpenalty}\,=\{<chr\_code>,<penalty>\}$^\ast$] [\cs{postbreakpenalty}]
 %<*ja>
 文字コード<chr\_code>の\textbf{JAchar}が行末にくることを抑止するために,
             この文字の後に挿入/追加されるペナルティの量を指定する.
 
-\pTeX では,\verb+\prebreakpenalty+, \verb+\postbreakpenalty+において,
+\pTeX では,\cs{prebreakpenalty}, \cs{postbreakpenalty}において,
 \begin{itemize}
 \item 一つの文字に対して,pre, postどちらか一つしか指定することができなかっ
       た(後から指定した方で上書きされる).
@@ -3831,77 +4369,79 @@ by default.
 %</ja>
 %<*en>
 Set a penalty which is inserted automatically after the character <chr\_code>,
-to prevent a line ends with this character. 
-\pTeX\ has following restrictions on \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+,
+to prevent a line ends with this character.
+\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty},
 but they don't exist in \LuaTeX-ja:
 \begin{itemize}
- \item Both \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+ cannot be set
+ \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set
 for the same character.
- \item We can set \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+  up to 256~characters.
+ \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty}  up to 256~characters.
 \end{itemize}
 %</en>
 
-\item[\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\textfont+ in \TeX]
-%<ja>[\TeX の \verb+\textfont+]
-\item[\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\scriptfont+ in \TeX]
-%<ja>[\TeX の \verb+\scriptfont+]
-\item[\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
-%<en>[\verb+\scriptscriptfont+ in \TeX]
-%<ja>[\TeX の \verb+\scriptscriptfont+]
-\item[\Param{yjabaselineshift}\,=<dimen>]\
-\item[\Param{yalbaselineshift}\,=<dimen>] [\verb+\ybaselineshift+]
+\item[\DParam{jatextfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{textfont} in \TeX]
+%<ja>[\TeX の \cs{textfont}]
+\item[\DParam{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{scriptfont} in \TeX]
+%<ja>[\TeX の \cs{scriptfont}]
+\item[\DParam{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}$^\ast$]
+%<en>[\cs{scriptscriptfont} in \TeX]
+%<ja>[\TeX の \cs{scriptscriptfont}]
+\item[\DParam{yjabaselineshift}\,=<dimen>]\
+\item[\DParam{yalbaselineshift}\,=<dimen>] [\cs{ybaselineshift}]
+\item[\DParam{tjabaselineshift}\,=<dimen>]\
+\item[\DParam{talbaselineshift}\,=<dimen>] [\cs{tbaselineshift}]
 
-\item[\Param{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]
+\item[\DParam{jaxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$]
 
 %<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
+Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is <chr\_code>.
 The followings are allowed for <mode>:
 %</en>
 %<*ja>
-文字コードが<chr\_code>の\textbf{JAchar}の前/後ろに\Param{\hyperlink{fld:xks}{xkanjiskip}}の
+文字コードが<chr\_code>の\textbf{JAchar}の前/後ろに\Param{xkanjiskip}の
 挿入を許すかどうかの設定.
 以下の<mode>が許される:
 %</ja>
 \begin{description}
-%<en>\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%<ja>\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも禁止される.
-%<en>\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%<ja>\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前では許されるが,後ろでは許されない.
-%<en>\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%<ja>\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の後ろでは許されるが,前では許されない.
-%<en>\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed both before the character and after the character. This is the default value.
-%<ja>\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%<ja>\item[0, \texttt{inhibit}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも禁止される.
+%<en>\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%<ja>\item[1, \texttt{preonly}] \Param{xkanjiskip}の挿入は文字の前では許されるが,後ろでは許されない.
+%<en>\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%<ja>\item[2, \texttt{postonly}] \Param{xkanjiskip}の挿入は文字の後ろでは許されるが,前では許されない.
+%<en>\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
+%<ja>\item[3, \texttt{allow}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
 \end{description}
 %<*en>
-This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but not compatible with \verb+\inhibitxspcode+.
+This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not compatible with \cs{inhibitxspcode}.
 %</en>
 %<*ja>
-このパラメータは\pTeX の \verb+\inhibitxspcode+ プリミティブと似ているが,
+このパラメータは\pTeX の \cs{inhibitxspcode} プリミティブと似ているが,
 互換性はない.
 %</ja>
-\item[\Param{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\verb+\xspcode+]
+\item[\DParam{alxspmode}\,=\{<chr\_code>,<mode>\}$^\ast$] [\cs{xspcode}]
 
 %<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before/after a
+Setting whether inserting \Param{xkanjiskip} is allowed before/after a
             \textbf{ALchar} whose character code is <chr\_code>.
              The followings are allowed for <mode>:
 %</en>
 %<*ja>
-文字コードが<chr\_code>の\textbf{ALchar}の前/後ろに\Param{\hyperlink{fld:xks}{xkanjiskip}}の
+文字コードが<chr\_code>の\textbf{ALchar}の前/後ろに\Param{xkanjiskip}の
 挿入を許すかどうかの設定.
 以下の<mode>が許される:
 %</ja>
 \begin{description}
-%<en>\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%<ja>\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも禁止される.
-%<en>\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%<ja>\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前では許されるが,後ろでは許されない.
-%<en>\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%<ja>\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の後ろでは許されるが,前では許されない.
-%<en>\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character and after the character. This is the default value.
-%<ja>\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<en>\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%<ja>\item[0, \texttt{inhibit}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも禁止される.
+%<en>\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%<ja>\item[1, \texttt{preonly}] \Param{xkanjiskip}の挿入は文字の前では許されるが,後ろでは許されない.
+%<en>\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%<ja>\item[2, \texttt{postonly}] \Param{xkanjiskip}の挿入は文字の後ろでは許されるが,前では許されない.
+%<en>\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
+%<ja>\item[3, \texttt{allow}] \Param{xkanjiskip}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
 \end{description}
 %<*en>
 Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
@@ -3911,25 +4451,25 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
 これら2つのパラメータは互いの異名となっていることに注意する.
 %</ja>
 
-\item[\Param{autospacing}\,=<bool>] [\verb+\autospacing+]
-\item[\Param{autoxspacing}\,=<bool>] [\verb+\autoxspacing+]
-\item[\Param{\hypertarget{fld:kanjiskip}{kanjiskip}}\,=<skip>$^\ast$] [\verb+\kanjiskip+]
+\item[\DParam{autospacing}\,=<bool>] [\cs{autospacing}]
+\item[\DParam{autoxspacing}\,=<bool>] [\cs{autoxspacing}]
+\item[\DParam{kanjiskip}\,=<skip>$^\ast$] [\cs{kanjiskip}]
 %<*ja>
 デフォルトで2つの\textbf{JAchar}の間に挿入されるグルーである.
 通常では,\pTeX と同じようにフォントサイズに比例して変わることはない.
-しかし,自然長が \verb+\maxdimen+ の場合は,例外的に和文フォントのJFM側で指定されている
+しかし,自然長が \cs{maxdimen} の場合は,例外的に和文フォントのJFM側で指定されている
 値を採用(こちらはフォントサイズに比例)することになっている.
 %</ja>
 
-\item[\Param{\hypertarget{fld:xks}{xkanjiskip}}\,=<skip>$^\ast$] [\verb+\xkanjiskip+]
+\item[\DParam{xkanjiskip}\,=<skip>$^\ast$] [\cs{xkanjiskip}]
 %<*ja>
 デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルーである.
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}と同じように,通常ではフォントサイズに比例して変わることはないが,
-自然長が \verb+\maxdimen+ の場合が例外である.
+\Param{kanjiskip}と同じように,通常ではフォントサイズに比例して変わることはないが,
+自然長が \cs{maxdimen} の場合が例外である.
 %</ja>
 
 
-\item[\Param{\hypertarget{fld:diffjfm}{differentjfm}}\,=<mode>$^\dagger$]
+\item[\DParam{differentjfm}\,=<mode>$^\dagger$]
 
 %<*en>
 Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
@@ -3941,12 +4481,12 @@ JFM(もしくはサイズ)が異なる2つの\textbf{JAchar}の間にグル
 許される値は以下の通り:
 %</ja>
 \begin{quote}
-\texttt{average}, 
-\texttt{both}, 
-\texttt{large}, 
-\texttt{small}, 
-\texttt{pleft}, 
-\texttt{pright}, 
+\texttt{average},
+\texttt{both},
+\texttt{large},
+\texttt{small},
+\texttt{pleft},
+\texttt{pright},
 \texttt{paverage}
 \end{quote}
 %<*en>
@@ -3957,18 +4497,28 @@ The default value is \texttt{paverage}. \dots
 各々の値による差異の詳細は\ref{ssec-cluster-wa}節の「『右空白』の算出」を参照してほしい.
 %</ja>
 
-\item[\Param{jacharrange}\,=<ranges>]
-\item[\Param{kansujichar}\,=\{<digit>, <chr\_code>\}$^\ast$] [\verb+\kansujichar+]
+\item[\DParam{jacharrange}\,=<ranges>]
+\item[\DParam{kansujichar}\,=\{<digit>, <chr\_code>\}$^\ast$] [\cs{kansujichar}]
+
+\item[\DParam{direction}\,=<dir>\ \hbox{\rm (always local)}]
+
+%<*ja>
+組方向を変更する \cs{yoko}~(if $\hbox{<dir>}=4$), \cs{tate}~(if $\hbox{<dir>}=3$),
+\cs{dtou}~(if $\hbox{<dir>}=1$), \cs{utod}~(if $\hbox{<dir>}=11$) と同じ役割を持つ.
+利用可能な状況もこれら4命令と同一である.引数<dir>が4,~3, 1,~11のいずれでも無いときの
+動作は未定義である.
+%</ja>
+
 \end{list}
 
-\subsection{\texttt{\textbackslash ltjgetparameter}}
+\subsection{\cs{ltjgetparameter}}
 \label{ssec-getpar}
 %<*en>
-\verb+\ltjgetparameter+ is a conteol sequence for acquiring parameters. It
+\cs{ltjgetparameter} is a control sequence for acquiring parameters. It
 always takes a parameter name as first argument.
 %</en>
 %<*ja>
-\verb+\ltjgetparameter+ はパラメータの値を取得するための命令であり,
+\cs{ltjgetparameter} はパラメータの値を取得するための命令であり,
 常にパラメータの名前を第一引数にとる.
 %</ja>
 \begin{LTXexample}
@@ -3979,20 +4529,20 @@ always takes a parameter name as first argument.
 \end{LTXexample}
 
 %<*en>
-\emph{The return value of\/ {\normalfont\tt\textbackslash ltjgetparameter} is
+\emph{The return value of\/ \cs{ltjgetparameter} is
 always a string}. This is outputted by \texttt{tex.write()}, so any
 character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
 12~(other), while the space has 10~(space).
 %</en>
 %<*ja>
-\emph{{\normalfont\tt\textbackslash ltjgetparameter}の戻り値は常に文字列である.}
+\emph{\cs{ltjgetparameter} の戻り値は常に文字列である.}
 これは\texttt{tex.write()}によって出力しているためで,空白「\texttt{\char32}」
 (\texttt{U+0020})を除いた文字のカテゴリーコードは全て12~(other)となる.
 一方,空白のカテゴリーコードは10~(space)である.
 %</ja>
 
 \begin{itemize}
-\item 
+\item
 %<*en>
 If first argument is one of the
 following, no  additional argument is needed.
@@ -4001,13 +4551,13 @@ following, no  additional argument is needed.
 第1引数が次のいずれかの場合には,追加の引数は必要ない.
 %</ja>
 \begin{quote}
-\sffamily 
+\sffamily
 jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
-kanjiskip, xkanjiskip, differentjfm
+kanjiskip, xkanjiskip, differentjfm, direction
 \end{quote}
 %<*en>
 Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
-returns 1 or 0, not 
+returns 1 or 0, not
 \texttt{true}~nor~\texttt{false}.
 %</en>
 %<*ja>
@@ -4016,7 +4566,7 @@ returns 1 or 0, not
 1と0のいずれかを返すことに注意,
 %</ja>
 
-\item 
+\item
 %<*en>
 If first argument is one of the
 following, an additional argument---a character code, for example---is needed.
@@ -4025,15 +4575,15 @@ following, an additional argument---a character code, for example---is needed.
 第1引数が次のいずれかの場合には,さらに文字コードを第二引数としてとる.
 %</ja>
 \begin{quote}
-\sffamily 
+\sffamily
 kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
-\end{quote} 
+\end{quote}
 %<*en>
 \verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
 returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
 %</en>
 %<*ja>
-\verb+\ltjgetparameter{jaxspmode}{...}+ や \verb+\ltjgetparameter{alxspmode}{...}+\ 
+\verb+\ltjgetparameter{jaxspmode}{...}+ や \verb+\ltjgetparameter{alxspmode}{...}+\
 は,\texttt{preonly} などといった文字列ではなく,0から3までの値を返す.
 %</ja>
 
@@ -4055,32 +4605,58 @@ Although there is no character range~$-1$, specifying $-1$ to <range> does not c
 %<*en>
 For an integer~<digit> between 0~and~9,
      \verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ returns the character code
-of the result of \verb+\kansuji+<digit>.
+of the result of \cs{kansuji}<digit>.
 %</en>
 %<*ja>
 0--9の数<digit>に対して,
-\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ は,\verb+\kansuji+<digit>で出力され
+\verb+\ltjgetparameter{kansujichar}{+<digit>\verb+}+ は,\cs{kansuji}<digit>で出力され
      る文字の文字コードを返す.
 %</ja>
 
+\item
+%<*en>
+\verb+\ltjgetparameter{adjustdir}+ returns a integer which represents
+the direction of the surrounding vertical list.
+As \Param{direction}, the return value 1 means \emph{down-to-up} direction,
+3 means \emph{tate} direction (vertical typesetting),
+and 4 means \emph{yoko} direction (horizontal typesetting).
+%</en>
+%<*ja>
+\verb+\ltjgetparameter{adjustdir}+ は,周囲のvboxの組方向(言い換えれば,
+\cs{vadjust} で用いられる組方向)を表す数値を返す.
+\Param{direction}と同様に,1は \cs{dtou} 方向を,
+3は縦組みを,4は横組みを表す.
+%</ja>
 
-\item 
+\item
+%<*en>
+For an integer~<reg\_num> between 0~and~65535,
+\verb+\ltjgetparameter{boxdim}{+<reg\_num>\verb+}+ returns the direction of
+\cs{box}<reg\_num>. If this box is void, the returned value is zero.
+%</en>
+%<*ja>
+0--65535の数<reg\_num>に対して,
+\verb+\ltjgetparameter{boxdim}{+<reg\_num>\verb+}+ は,\cs{box}<reg\_num>に
+格納されているボックスの組方向を表す.もしこのレジスタが空の場合は,0が返される.
+%</ja>
+
+\item
 %<*en>
-The following parameter names \emph{cannot be specified} in \verb+\ltjgetparameter+.
+The following parameter names \emph{cannot be specified} in \cs{ltjgetparameter}.
 %</en>
 %<*ja>
-次のパラメータ名を \verb+\ltjgetparameter+ に指定することはできない.
+次のパラメータ名を \cs{ltjgetparameter} に指定することはできない.
 %</ja>
 \begin{quote}
-\sffamily 
+\sffamily
 jatextfont, jascriptfont, jascriptscriptfont, jacharrange
 \end{quote}
 
-\item 
+\item
 %<*en>
-\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ returns 
+\verb+\ltjgetparameter{chartorange}{+<chr\_code>\verb+}+ returns
 the range number which <chr\_code> belongs to
-(although there is no parameter named ``chartorange''). 
+(although there is no parameter named ``chartorange'').
 
 If <chr\_code> is between 0 and 127, this <chr\_code> does not belong to
 any character range. In this case,
@@ -4118,14 +4694,14 @@ by the following:
 %<*en>
 The following commands are implemented for compatibility with \pTeX.
 Note that the former five commands don't support JIS~X~0213, but only JIS~X~0208.
-The last \verb+\kansuji+ converts an integer into its Chinese numerals.
+The last \cs{kansuji} converts an integer into its Chinese numerals.
 %</en>
 %<*ja>
 以下の命令は\pTeX との互換性のために実装されている.そのため,JIS~X~0213には対応せず,
 \pTeX と同じようにJIS~X~0208の範囲しかサポートしていない.
 %</ja>
 \begin{center}
-\verb+\kuten+, \verb+\jis+, \verb+\euc+, \verb+\sjis+, \verb+\jis+, \verb+\kansuji+
+\cs{kuten}, \cs{jis}, \cs{euc}, \cs{sjis}, \cs{jis}, \cs{kansuji}
 \end{center}
 %<*en>
 These six commands takes an internal integer, and returns a \emph{string}.
@@ -4152,15 +4728,14 @@ To change characters of Chinese numerals for each digit, set \Param{kansujichar}
 %</en>
 
 
-%<en>\subsection{\texttt{\textbackslash inhibitglue}}
-%<ja>\subsection{\texttt{\textbackslash inhibitglue}}
+\subsection{\cs{inhibitglue}}
 %<*en>
-\verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
+\cs{inhibitglue} suppresses the insertion of \textbf{JAglue}.
 The following is an example, using a special JFM that there will be a glue between
 the beginning of a box and ``あ'', and also between ``あ''~and~``ウ''.
 %</en>
 %<*ja>
-\verb+\inhibitglue+ は\textbf{JAglue}の挿入を抑制する.
+\cs{inhibitglue} は\textbf{JAglue}の挿入を抑制する.
 以下は,ボックスの始めと「あ」の間,「あ」「ウ」の間にグルーが入る特別なJFMを用いた例で
 ある.
 %</ja>
@@ -4175,61 +4750,61 @@ the beginning of a box and ``あ'', and also between ``あ''~and~``ウ''.
 \end{LTXexample}
 
 %<*en>
-With the help of this example, we remark the specification of \verb+\inhibitglue+:
+With the help of this example, we remark the specification of \cs{inhibitglue}:
 %</en>
 %<*ja>
-この例を援用して,\verb+\inhibitglue+ の仕様について述べる.
+この例を援用して,\cs{inhibitglue} の仕様について述べる.
 %</ja>
 \begin{itemize}
 %<*en>
-\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
+\item The call of \cs{inhibitglue} in the (internal) vertical mode is
       simply ignored.
 %</en>
 %<*ja>
-\item \verb+\inhibitglue+ の垂直モード中での呼び出しは意味を持たない.
-4行目の入力で有効にならないのは,\verb+\inhibitglue+ の時点では垂直モードであり,
-\verb+\noindent+ の時点で水平モードになるからである.
+\item \cs{inhibitglue} の垂直モード中での呼び出しは意味を持たない.
+4行目の入力で有効にならないのは,\cs{inhibitglue} の時点では垂直モードであり,
+\cs{noindent} の時点で水平モードになるからである.
 %</ja>
 
 %<*en>
-\item The call of \verb+\inhibitglue+ in the (restricted) horizontal
+\item The call of \cs{inhibitglue} in the (restricted) horizontal
       mode is only effective on the spot; does not get over boundary of
-      paragraphs. Moreover, \verb+\inhibitglue+ cancels ligatures and
+      paragraphs. Moreover, \cs{inhibitglue} cancels ligatures and
       kernings, as shown in the last line of above example.
 %</en>
 %<*ja>
-\item \verb+\inhibitglue+ の(制限された)水平モード中での呼び出しはその場でのみ
+\item \cs{inhibitglue} の(制限された)水平モード中での呼び出しはその場でのみ
   有効であり,段落の境界を乗り越えない.
-  さらに,\verb+\inhibitglue+ は上の例の最終行のように(欧文における)リガチャとカーニングを
-  打ち消す.これは,\verb+\inhibitglue+ が内部的には「現在のリスト中にwhatsitノードを
+  さらに,\cs{inhibitglue} は上の例の最終行のように(欧文における)リガチャとカーニングを
+  打ち消す.これは,\cs{inhibitglue} が内部的には「現在のリスト中にwhatsitノードを
   追加する」ことを行なっているからである.
 %</ja>
 
 %<*en>
-\item The call of \verb+\inhibitglue+ in math mode is just ignored.
+\item The call of \cs{inhibitglue} in math mode is just ignored.
 %</en>
 %<*ja>
-\item \verb+\inhibitglue+ を数式モード中で呼び出した場合はただ無視される.
+\item \cs{inhibitglue} を数式モード中で呼び出した場合はただ無視される.
 %</ja>
 
 %<*ja>
 \item \LaTeX で\LuaTeX-ja を使用する場合は,
-\verb+\inhibitglue+ の代わりとして \verb+\<+ を使うことができる.
+\cs{inhibitglue} の代わりとして \verb+\<+ を使うことができる.
 既に \verb+\<+ が定義されていた場合は,\LuaTeX-ja の読み込みで強制的に上書きされるので
 注意すること.
 %</ja>
 \end{itemize}
 
 
-\subsection{\texttt{\textbackslash ltjdeclarealtfont}}
+\subsection{\cs{ltjdeclarealtfont}}
 \label{ssec-altfont}
 %<*en>
-Using \verb+\ltjdeclarealtfont+, one can ``compose'' more than one Japanese fonts.
-This \verb+\ltjdeclarealtfont+ uses in the following form:
+Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
+This \cs{ltjdeclarealtfont} uses in the following form:
 \begin{quote}
 \ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>{<range>}
 \end{quote}
-where  <base\_font\_cs>~and~<alt\_font\_cs> are defined by \verb+\jfont+.
+where  <base\_font\_cs>~and~<alt\_font\_cs> are defined by \cs{jfont}.
 Its meaning is
 \begin{quote}
 If the current Japanese font is <base\_font\_cs>, characters which belong to <range>
@@ -4241,24 +4816,24 @@ $-n$~($n≥1$) means that all characters of character classes~$n$, with respect
 by <base\_font\_cs>. Note that characters which do not exist in <alt\_font\_cs> are
 ignored.
 
-For example, if \verb+\hoge+ uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
-then 
+For example, if \cs{hoge} uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
+then
 \begin{verbatim}
 \ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
 \end{verbatim}
 does
 \begin{quote}
-If the current Japanese font is \verb+\hoge+, \texttt{U+3000}--\texttt{U+30FF}
-and characters in class~1 (ideographic opening brackets) 
-are typeset by \verb+\piyo+.
+If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
+and characters in class~1 (ideographic opening brackets)
+are typeset by \cs{piyo}.
 \end{quote}
 %</en>
 %<*ja>
-\verb+\jfont+ の書式を見ればわかるように,基本的には\LuaTeX-jaにおける1つの和文フォントに
+\cs{jfont} の書式を見ればわかるように,基本的には\LuaTeX-jaにおける1つの和文フォントに
 使用出来る「実際のフォント」は1つである.
-しかし,\verb+\ltjdeclarealtfont+ を用いると,この原則から外れることができる.
+しかし,\cs{ltjdeclarealtfont} を用いると,この原則から外れることができる.
 
-\verb+\ltjdeclarealtfont+ は以下の書式で使用する:
+\cs{ltjdeclarealtfont} は以下の書式で使用する:
 \begin{quote}
 \ttfamily \textbackslash ltjdeclarealtfont<base\_font\_cs><alt\_font\_cs>{<range>}
 \end{quote}
@@ -4266,7 +4841,7 @@ are typeset by \verb+\piyo+.
 <range>に属する文字は<alt\_font\_cs>を用いて組版される,という意味である.
 \begin{itemize}
  \item <base\_font\_cs>, <alt\_font\_cs>は
-\verb+\jfont+ によって定義された和文フォントである.
+\cs{jfont} によって定義された和文フォントである.
  \item <range>は文字コードの範囲を表すコンマ区切りのリストであるが,
    例外として負数$-n$は「<base\_font\_cs>のJFMの文字クラス$n$に属する全ての文字」
    を意味する.
@@ -4275,14 +4850,14 @@ are typeset by \verb+\piyo+.
 その文字に対する設定は無視される.
 \end{itemize}
 
-例えば,\verb+\hoge+ のJFMが\LuaTeX-ja標準の
+例えば,\cs{hoge} のJFMが\LuaTeX-ja標準の
 \ \texttt{jfm-ujis.lua} であった場合,
 \begin{verbatim}
 \ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
 \end{verbatim}
-は「\verb+\hoge+ を利用しているとき,
+は「\cs{hoge} を利用しているとき,
 \texttt{U+3000}--\texttt{U+30FF}と
-文字クラス1(開き括弧類)中の文字だけは \verb+\piyo+ を用いる」
+文字クラス1(開き括弧類)中の文字だけは \cs{piyo} を用いる」
 ことを設定する.\verb+{-1}-{-1}+ という変わった指定の仕方をしているのは,
 普通に \texttt{-1} と指定したのでは正しく$-1$と読み取られないという
 マクロの都合による.
@@ -4308,8 +4883,8 @@ are typeset by \verb+\piyo+.
 {\kanjifamily{edm}\selectfont
 日本国民は、正当に選挙された国会における代表者を通じて行動し、……}
 \end{LTXexample}
-%<ja>\caption{\texttt{\textbackslash DeclareAlternateKanjiFont} の使用例}
-%<en>\caption{An example of \texttt{\textbackslash DeclareAlternateKanjiFont}}
+%<ja>\caption{\cs{DeclareAlternateKanjiFont} の使用例}
+%<en>\caption{An example of \cs{DeclareAlternateKanjiFont}}
 \label{fig:altkanji}
 \end{figure}
 
@@ -4334,7 +4909,7 @@ commands which are not described in Subsection~\ref{ssec-chgfnt}.
 }\par
 
 %<*en>
-Like \pLaTeXe, \LuaTeX-ja defines the following dimensions 
+Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
 for information of current Japanese font:
 %</en>
 %<*ja>
@@ -4342,49 +4917,50 @@ for information of current Japanese font:
 %</ja>
 {\let\item=\origitem
 \begin{quote}
- \verb+\cht+~(height), \verb+\cdp+~(depth), \verb+\cHT+~(sum of former two),\\
- \verb+\cwd+~(width), \verb+\cvs+~(lineskip), \verb+\chs+~(equals to \verb+\cwd+)
+ \cs{cht}~(height), \cs{cdp}~(depth), \cs{cHT}~(sum of former two),\\
+ \cs{cwd}~(width), \cs{cvs}~(lineskip), \cs{chs}~(equals to \cs{cwd})
 \end{quote}}
-%<en>and its \verb+\normalsize+ version:
-%<ja>と,その \verb+\normalsize+ 版である
+%<en>and its \cs{normalsize} version:
+%<ja>と,その \cs{normalsize} 版である
 {\let\item=\origitem
 \begin{quote}
- \verb+\Cht+~(height), \verb+\Cdp+~(depth),
- \verb+\Cwd+~(width), \\\verb+\Cvs+~(equals to \verb+\baselineskip+), 
- \verb+\Chs+~(equals to \verb+\cwd+)%
+ \cs{Cht}~(height), \cs{Cdp}~(depth),
+ \cs{Cwd}~(width), \\\cs{Cvs}~(equals to \cs{baselineskip}),
+ \cs{Chs}~(equals to \cs{cwd})%
 %<en>.
 \end{quote}}
 %<*ja>
-を定義している.なお,\verb+\cwd+ と \verb+\zw+,また
-\verb+\cHT+ と \verb+\zh+ は一致しない可能性がある.なぜなら,
-\verb+\cwd+,~\verb+\cHT+ は「あ」の寸法から決定されるのに対し,
-\verb+\zw+ と \verb+\zh+ はJFMに指定された値に過ぎないからである.
+を定義している.なお,\cs{cwd} と \cs{zw},また
+\cs{cHT} と \cs{zh} は一致しない可能性がある.なぜなら,
+\cs{cwd},~\cs{cHT} は「あ」の寸法から決定されるのに対し,
+\cs{zw} と \cs{zh} はJFMに指定された値に過ぎないからである.
 %</ja>
 %<*en>
-Note that \verb+\cwd+~and~\verb+\cHT+ may  differ from \verb+\zw+~and~\verb+\zh+
+Note that \cs{cwd}~and~\cs{cHT} may  differ from \cs{zw}~and~\cs{zh}
 respectively.
 On the one hand the former dimensions are determined from the character ``あ'',
-but on the other hand \verb+\zw+~and~\verb+\zh+ are specified by JFM.
+but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
 %</en>
 
 
 \item[DeclareYokoKanjiEncoding\{<encoding>\}\{<text-settings>\}\{<math-settings>\}]
+\item[DeclareYokoKanjiEncoding\{<encoding>\}\{<text-settings>\}\{<math-settings>\}]
 
 %<*en>
 In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
             and Japanese font families are only made by their
             encodings. For example, encodings OT1 and T1 are for
             alphabetic font families, and a Japanese font family cannot
-            have these encodings. This command defines a new encoding
-            scheme for Japanese font family (in horizontal direction).
+            have these encodings. These command define a new encoding
+            scheme for Japanese font family.
 %</en>
 %<*ja>
 \LuaTeX-jaのNFSS2においては,欧文フォントファミリと和文フォントファミリは
 そのエンコーディングによってのみ区別される.
 例えば,OT1とT1のエンコーディングは欧文フォントファミリに対するものであり,
 和文フォントファミリはこれらのエンコーディングを持つことはできない.
\81\93ã\81®ã\82³ã\83\9eã\83³ã\83\89ã\81¯æ¨ªæ\9b¸ã\81\8d用和文フォントのための新しいエンコーディングを
-定義する.
\81\93ã\82\8cã\82\89ã\82³ã\83\9eã\83³ã\83\89ã\81¯æ¨ªçµ\84ç\94¨ã\83»ç¸¦çµ\84用和文フォントのための新しいエンコーディングを
+それぞれ定義する.
 %</ja>
 
 \item[DeclareKanjiEncodingDefaults\{<text-settings>\}\{<math-settings>\}]
@@ -4392,10 +4968,10 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
 \item[DeclareErrorKanjiFont\{<encoding>\}\{<family>\}\{<series>\}\{<shape>\}\{<size>\}]
 
 %<*en>
-The above 3~commands are just the counterparts for \verb+\DeclareFontEncodingDefaults+ and~others.
+The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
 %</en>
 %<*ja>
-上記3つのコマンドはちょうど \verb+\DeclareFontEncodingDefaults+ などに対応するものである.
+上記3つのコマンドはちょうど \cs{DeclareFontEncodingDefaults} などに対応するものである.
 %</ja>
 
 \item[reDeclareMathAlphabet\{<unified-cmd>\}\{<al-cmd>\}\{<ja-cmd>\}]
@@ -4403,8 +4979,8 @@ The above 3~commands are just the counterparts for \verb+\DeclareFontEncodingDef
 % ToDo: en
 %<*ja>
 和文・欧文の数式用フォントファミリを一度に変更する命令を作成する.
-具体的には,欧文数式用フォントファミリ変更の命令<al-cmd>(\verb+\mathrm+ 等)と,和文数式用フォ
-            ントファミリ変更の命令<ja-cmd>(\verb+\mathmc+ 等)の2つを同時に行う命令として
+具体的には,欧文数式用フォントファミリ変更の命令<al-cmd>(\cs{mathrm} 等)と,和文数式用フォ
+            ントファミリ変更の命令<ja-cmd>(\cs{mathmc} 等)の2つを同時に行う命令として
             <unified-cmd>を(再)定義する.実際の使用では<unified-cmd>と
             <al-cmd>に同じものを指定する,すなわち,<al-cmd>で和文側も変
             更させるようにするのが一般的と思われる.
@@ -4421,7 +4997,7 @@ The above 3~commands are just the counterparts for \verb+\DeclareFontEncodingDef
 %<ja>\advance\linewidth-2\zw
 \begin{itemize}
 \item <al-cmd>,~<ja-cmd>は既に定義されていなければならない.
-      \verb+\reDeclareMathAlphabet+\\の後に
+      \cs{reDeclareMathAlphabet}\\の後に
 両命令の内容を再定義しても,<unified-cmd>の内容にそれは反映されない.
 \item <al-cmd>,~<ja-cmd>に\verb+\@mathrm+などと \texttt{@} をつけた命令を指定した時の動作は保証できない.
 \end{itemize}}
@@ -4439,12 +5015,12 @@ with respect to a Japanese font family given by the former 4~arguments.
 %</ja>
 \item[SetRelationFont]
 %<*en>
-This command is almost same as \verb+\DeclareRelationFont+, except that this command does a local
-assignment, where \verb+\DeclareRelationFont+ does a global assignment.
+This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
+assignment, where \cs{DeclareRelationFont} does a global assignment.
 %</en>
 %<*ja>
-このコマンドは \verb+\DeclareRelationFont+ とローカルな指定であることを除いて
-ほとんど同じである(\verb+\DeclareRelationFont+ はグローバル).
+このコマンドは \cs{DeclareRelationFont} とローカルな指定であることを除いて
+ほとんど同じである(\cs{DeclareRelationFont} はグローバル).
 %</ja>
 
 \item[userelfont]
@@ -4452,42 +5028,38 @@ assignment, where \verb+\DeclareRelationFont+ does a global assignment.
 Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
             font family with respect to current Japanese font family,
             which was set by
-            \verb+\DeclareRelationFont+ or \verb+\SetRelationFont+.
-Like \verb+\fontfamily+, \verb+\selectfont+ is required to take an effect.
+            \cs{DeclareRelationFont} or \cs{SetRelationFont}.
+Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
 %</en>
 %<*ja>
 現在の欧文フォントのエンコーディング/ファミリ/…… を,
-\verb+\DeclareRelationFont+ か \verb+\SetRelationFont+ で指定された
+\cs{DeclareRelationFont} か \cs{SetRelationFont} で指定された
 現在の和文フォントファミリに対応する「従属欧文」フォントファミリに変更する.
-\verb+\fontfamily+ のように,有効にするためには \verb+\selectfont+ が必要である.
+\cs{fontfamily} のように,有効にするためには \cs{selectfont} が必要である.
 %</ja>
 
 \item[adjustbaseline]
 %<*en>
-In \pLaTeXe, \verb+\adjustbaseline+ sets \verb+\tbaselineshift+ 
+In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
 to match the vertical center of ``M'' and that of ``あ''  in vertical typesetting:
 \[
-\text{\ttfamily \textbackslash tbaselineshift} \leftarrow 
+\text{\cs{tbaselineshift}} \leftarrow
 \frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
   + d_{\text{あ}} - d_{\text{M}},
 \]
 where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively.
-
-Current \LuaTeX-ja does not support vertical typesetting, so
-this \verb+\adjustbaseline+ has almost no effect.
+In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
 %</en>
 %<*ja>
-\pLaTeXe では,\verb+\adjustbaseline+ は縦書時に「M」と「あ」の中心線を一致させるために,
-\verb+\tbaselineshift+ を設定する役割を持っていた:
+\pLaTeXe では,\cs{adjustbaseline} は縦組時に「M」と「あ」の中心線を一致させるために,
+\cs{tbaselineshift} を設定する役割を持っていた:
 \[
-\text{\ttfamily \textbackslash tbaselineshift} \leftarrow 
+\text{\cs{tbaselineshift}} \leftarrow
 \frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{あ}}+d_{\text{あ}})}2
   + d_{\text{あ}} - d_{\text{M}},
 \]
 ここで,$h_{a}$,~$d_{a}$はそれぞれ「$a$」の高さ・深さを表す.
-
-現在の\LuaTeX-jaは縦書きをサポートしていないので,この \verb+\adjustbaseline+ は
-ほとんど何もしていない.
+\LuaTeX-jaにおいても\cs{adjustbaseline} は同様の処理を行っている.
 %</ja>
 
 \item[fontfamily\{<family>\}]
@@ -4518,10 +5090,11 @@ to <family>. Which family will be changed is determined as follows:
 \begin{itemize}
 %<*en>
 \item The family <family> under the encoding <ja-enc> has been already defined by
-      \verb+\DeclareKanijFamily+.
+      \cs{DeclareKanijFamily}.
 %</en>
 %<*ja>
-\item エンコーディング<ja-enc>におけるファミリ<family>が既に \verb+\DeclareKanjiFamily+ によって定義されている.
+\item エンコーディング<ja-enc>におけるファミリ<family>が
+既に \cs{DeclareKanjiFamily} によって定義されている.
 %</ja>
 %<*en>
 \item A font definition named \texttt{<ja-enc><family>.fd} (the file name is
@@ -4562,31 +5135,33 @@ In this case, the default family for font substitution is used for
   \null\hfill\{<alt-encoding>\}\{<alt-family>\}\{<alt-series>\}\{<alt-shape>\}\{<range>\}]
 %<*ja>
 \ref{ssec-altfont}節の\
-\verb+\ltjdeclarealtfont+ と同様に,前半の4引数の和文フォント(基底フォント)のうち<range>中の文字を
-第5--第8引数の和文フォントを使って組むように指示する.使用例を図\ref{fig:altkanji}に載せた.
+\cs{ltjdeclarealtfont} と同様に,前半の4引数の
+和文フォント(基底フォント)のうち<range>中の文字を
+第5--第8引数の和文フォントを使って組むように指示する.
+使用例を図\nobreak\ref{fig:altkanji}に載せた.
 
 {\let\item\origitem
 %<en>\advance\linewidth-2em
 %<ja>\advance\linewidth-2\zw
 \vspace{-\medskipamount}
 \begin{itemize}
- \item 
-\verb+\ltjdeclarealtfont+ では基底フォント・置き換え先和文フォントはあらかじめ定義されてい
+ \item
+\cs{ltjdeclarealtfont} では基底フォント・置き換え先和文フォントはあらかじめ定義されてい
             ないといけない(その代わり即時発効)であったが,
-\verb+\DeclareAlternateKanjiFont+ の設定が
+\cs{DeclareAlternateKanjiFont} の設定が
 実際に効力が発揮するのは,書体変更やサイズ変更を行った時,
-あるいは(これらを含むが)\verb+\selectfont+ が実行された時である.
- \item 
+あるいは(これらを含むが)\cs{selectfont} が実行された時である.
+ \item
 段落やhboxの最後での設定値が段落/hbox全体にわたって通用する点や,
 <range>に負数$-n$を指定した場合,それが「基底フォントの文字クラス$n$に属する文字全体」
-と解釈されるのは \verb+\ltjdeclarealtfont+ と同じである.
+と解釈されるのは \cs{ltjdeclarealtfont} と同じである.
 \end{itemize}%
 }
 %</ja>
 %<*en>
-As \verb+\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 
+which specified by first 4 arguments are typeset
 by the Japanese font which specified by fifth to eighth arguments
 (we say the \emph{alternate font}).
 An example is shown in Figure~\ref{fig:altkanji}.
@@ -4596,11 +5171,11 @@ An example is shown in Figure~\ref{fig:altkanji}.
 %<ja>\advance\linewidth-2\zw
 \vspace{-\medskipamount}
 \begin{itemize}
- \item 
-In \verb+\ltjdeclarealtfont+, the base font and the alternate font must be already defined.
-But this \verb+\DeclareAlternateKanjiFont+ is not so.
-In other words, \verb+\DeclareAlternateKanjiFont+ is effective only after
-current Japanese font is changed, or only after \verb+\selectfont+ is executed.
+ \item
+In \cs{ltjdeclarealtfont}, the base font and the alternate font must be already defined.
+But this \cs{DeclareAlternateKanjiFont} is not so.
+In other words, \cs{DeclareAlternateKanjiFont} is effective only after
+current Japanese font is changed, or only after \cs{selectfont} is executed.
  \item \dots
 \end{itemize}%
 \vspace{-\medskipamount}
@@ -4610,11 +5185,11 @@ current Japanese font is changed, or only after \verb+\selectfont+ is executed.
 
 %<*en>
 As closing this subsection, we shall introduce an example of
-\verb+\SetRelationFont+ and \verb+\userelfont+:
+\cs{SetRelationFont} and \cs{userelfont}:
 %</en>
 %<*ja>
-この節の終わりに,\verb+\SetRelationFont+ と \verb+\userelfont+ の例を
-紹介しておこう.\verb+\userelfont+ の使用によって,「abc」の部分のフォントが
+この節の終わりに,\cs{SetRelationFont} と \cs{userelfont} の例を
+紹介しておこう.\cs{userelfont} の使用によって,「abc」の部分のフォントが
 Avant Garde (OT1/pag/m/n) に変わっていることがわかる.
 %</ja>
 \begin{LTXexample}[width=0.3\textwidth]
@@ -4626,17 +5201,17 @@ Avant Garde (OT1/pag/m/n) に変わっていることがわかる.
 
 %<*en>
 \section{Addons}
-\LuaTeX-ja has several addon packages. 
-These addons are written as \LaTeX\ packages, but 
+\LuaTeX-ja has several addon packages.
+These addons are written as \LaTeX\ packages, but
 \Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
-by \verb+\input+.
+by \cs{input}.
 %</en>
 %<*ja>
 \section{拡張}
 \LuaTeX-jaには(動作には必須ではないが)自由に読み込める拡張が付属している.
 これらは\LaTeX のパッケージとして制作しているが,
-\Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\ 
-\verb+\input+ で読み込み可能である.
+\Pkg{luatexja-otf}と\Pkg{luatexja-adjust}についてはplain \LuaTeX でも\
+\cs{input} で読み込み可能である.
 %</ja>
 \subsection{\texttt{luatexja-fontspec.sty}}
 \label{ssec-fontspec2}
@@ -4663,16 +5238,16 @@ the commands of Japanese version:
 
 %<*en>
 These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
-\texttt{jfmvar} keys for \verb+\jfont+ respectively.
+\texttt{jfmvar} keys for \cs{jfont} respectively.
 \texttt{CID} is effective only when with \texttt{NoEmbed}
 described below.
 See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
 %</en>
 %<*ja>
-これら3つのキーはそれぞれ \verb+\jfont+ に対する
+これら3つのキーはそれぞれ \cs{jfont} に対する
 \texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーとそれぞれ対応する.
 \texttt{CID} は下の \texttt{NoEmbed} と合わせて用いられたときのみ有効である.
-\verb+\jfont+ プリミティブに対する
+\cs{jfont} プリミティブに対する
 \texttt{cid}, \texttt{jfm}, \texttt{jfmvar}キーの詳細は\ref{ssec-jfont}節
             と\ref{ssec-psft}節を参照.
 %</ja>
@@ -4705,19 +5280,19 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
 \label{fig:altkanji-fontspec}
 \end{figure}
 
-\item[AltFont]\ 
+\item[AltFont]\
 
 %<*en>
-As \verb+\ltjdeclarealtfont+~(Subsection~\ref{ssec-altfont}) and
-\verb+\DeclareAlternateKanjiFont+~(Subsection~\ref{ssec-nfsspat}),
-with this key, one can typeset some Japanese characters 
+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}節の \verb+\ltjdeclarealtfont+ や,
-\ref{ssec-nfsspat}節の \verb+\DeclareAlternateKanjiFont+ と同様に,
+\ref{ssec-altfont}節の \cs{ltjdeclarealtfont} や,
+\ref{ssec-nfsspat}節の \cs{DeclareAlternateKanjiFont} と同様に,
 このキーを用いると一部の文字を異なったフォントやfont featureを使って組むことができる.
 \texttt{AltFont} に指定する値は,次のように二重のコンマ区切りリストである:
 %</ja>
@@ -4731,12 +5306,13 @@ AltFont = {
 }
 \end{lstlisting}
 %<*en>
-Each sublist should have the \texttt{Range} key. 
-A demonstrartion is shown in Figure~\ref{fig:altkanji-fontspec}.
+Each sublist should have the \texttt{Range} key
+(sublist which does not contain \texttt{Range} key is simply ignored).
+A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
 %</en>
 %<*ja>
\90\84é\83¨å\88\86ã\83ªã\82¹ã\83\88ã\81«ã\81¯ \texttt{Range} ã\82­ã\83¼ã\81\8cå¿\85é \88ã\81§ã\81\82ã\82\8bï¼\8e\texttt{Font} ã\82­ã\83¼ã\81¨ã\81\9dã\81®ä»\96font featuresã\81®
-指定は任意であるが,両者とも指定しないのは無駄に時間とメモリを消費するだけである
\90\84é\83¨å\88\86ã\83ªã\82¹ã\83\88ã\81«ã\81¯ \texttt{Range} ã\82­ã\83¼ã\81\8cå¿\85é \88ã\81§ã\81\82ã\82\8bï¼\88å\90«ã\81¾ã\82\8cã\81ªã\81\84é\83¨å\88\86ã\83ªã\82¹ã\83\88ã\81¯
+単純に無視される)
 指定例は図\ref{fig:altkanji-fontspec}に示した.
 %</ja>
 \end{list}
@@ -4751,8 +5327,8 @@ A demonstrartion is shown in Figure~\ref{fig:altkanji-fontspec}.
 \label{ssec-ltjotf}
 %<*en>
 This optional package supports typesetting characters in
-Adobe-Japan1 character collection 
-(or other CID character collecton, if the font is supported). 
+Adobe-Japan1 character collection
+(or other CID character collection, if the font is supported).
 The package \Pkg{luatexja-otf} offers the following 2~low-level
 commands:
 %</en>
@@ -4761,8 +5337,8 @@ commands:
 別のCID文字セットでも可)の文字の出力をサポートする.
 \Pkg{luatexja-otf}は以下の2つの低レベルコマンドを提供する:
 %</ja>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\textbackslash CID\{<number>\}]
+\begin{cslist}
+\item[CID\{<number>\}]
 %<*en>
 Typeset a character whose CID number is <number>.
 %</en>
@@ -4770,7 +5346,7 @@ Typeset a character whose CID number is <number>.
 CID番号が<number>の文字を出力する.
 %</ja>
 
-\item[\textbackslash UTF\{<hex\_number>\}]
+\item[UTF\{<hex\_number>\}]
 %<*en>
 Typeset a character whose character code is <hex\_number> (in hexadecimal).
 This command is similar to \verb+\char"+<hex\_number>,\ %"
@@ -4780,7 +5356,7 @@ but please remind remarks below.
 文字コードが(16進で)<hex\_number>の文字を出力する.
 このコマンドは \verb+\char"+<hex\_number>と似ているが,下の記述に注意すること.%"
 %</ja>
-\end{list}
+\end{cslist}
 
 %<*ja>
 このパッケージは,\texttt{ajmacros.sty}(\Pkg{otf}パッケージ付属のマクロ集,井上浩一氏作)から
@@ -4792,11 +5368,11 @@ but please remind remarks below.
 %<en>\paragraph{Remarks}
 %<ja>\paragraph{注意}
 %<*en>
-Characters by \verb+\CID+ and \verb+\UTF+ commands are different from
+Characters by \cs{CID} and \cs{UTF} commands are different from
 ordinary characters in the following points:
 %</en>
 %<*ja>
-\verb+\CID+ と \verb+\UTF+ コマンドによって出力される文字は
+\cs{CID} と \cs{UTF} コマンドによって出力される文字は
 以下の点で通常の文字と異なる:
 %</ja>
 \begin{itemize}
@@ -4826,7 +5402,7 @@ chars} table in JFM now allows a string in the form
 \verb+'AJ1-xxx'+, which stands for the character
 whose CID number in Adobe-Japan1 is \verb+xxx+.
 
-This extened notation is used in the standard JFM \texttt{jfm-ujis.lua}
+This extended notation is used in the standard JFM \texttt{jfm-ujis.lua}
 to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
 %</en>
 %<*ja>
@@ -4948,8 +5524,8 @@ with priority&%
 \end{tabular}\par}
 \smallskip
 
-Note: the value of 
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
+Note: the value of
+\Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
 for making the difference obvious.
 %<ja>\caption{行長調整}\label{fig-adj}
 %<en>\caption{Line adjustment}\label{fig-adj}
@@ -4962,7 +5538,7 @@ for making the difference obvious.
 %<*ja>
 \pTeX では,行長調整において優先度の概念が存在しなかったため,図
 \ref{fig-adj}上段における半角分の半端は,図\ref{fig-adj}中段のように,鍵
-括弧周辺の空白と和文間空白(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})の両方によって負担される.し
+括弧周辺の空白と和文間空白(\Param{kanjiskip})の両方によって負担される.し
 かし,「日本語組版処理の要件」\cite{jlreq}やJIS~X~4051~\cite{x4051}におい
 ては,このような状況では半端は鍵括弧周辺の空白のみで負担し,その他の和文
 文字はベタ組で組まれる(図\ref{fig-adj}下段)ことになっている.この追加
@@ -4974,32 +5550,130 @@ for making the difference obvious.
 
 また,\verb+\hbox to ... {...}+ のような「幅が指定されたhbox」では無効である.
  \item 優先度付き行長調整を行うと,和文処理グルーの自然長は変化しないが,伸び量や縮み量は
-一般に変化する.そのため,既に組まれた段落を \verb+\unhbox+ などを利用して組み直す処理を
+一般に変化する.そのため,既に組まれた段落を \cs{unhbox} などを利用して組み直す処理を
 行う場合には注意が必要である.
 \end{itemize}
 
 
 \Pkg{luatexja-adjust} は,以下の命令を提供する.これらはすべてグローバルに効力を発揮する.
 
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\textbackslash ltjdisableadjust]
+\begin{cslist}
+\item[ltjdisableadjust]
 優先順位付きの行長調整を無効化する.
 
-\item[\textbackslash ltjenableadjust]
+\item[ltjenableadjust]
 優先順位付きの行長調整を有効化する.
 
-\item[\textsf{adjust}\,=<bool>] \verb+\ltjsetparameter+ で指定可能な追加パラメータであり,
-<bool>が\textit{true}なら \verb+\ltjenableadjust+ を,
-そうでなければ \verb+\ltjdisableadjust+ を実行する.
-
+\origitem[\textsf{adjust}\,=<bool>] \cs{ltjsetparameter} で指定可能な追加パラメータであり,
+<bool>が\textit{true}なら \cs{ltjenableadjust} を,
+そうでなければ \cs{ltjdisableadjust} を実行する.
+\end{cslist}
+%</ja>
 
-\end{list}
+\subsection{\texttt{luatexja-ruby.sty}}
+%<*en>
+This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
+using callbacks of \LuaTeX-ja.
+There is no detailed manual of \Pkg{luatexja-ruby.sty} in English.
+(Japanese manual is another PDF file, \url{luatexja-ruby.pdf}.)
+%</en>
+%<*ja>
+この追加パッケージは,\LuaTeX-jaの機能を利用したルビ(振り仮名)の組版機能を提供する.
+前後の文字種に応じた前後への自動進入や,
+行頭形・行中形・行末形の自動的な使い分けが特徴である.
 
+ルビ組版に設定可能な項目や注意事項が多いため,本追加パッケージの詳細な説明は
+使用例と共に \url{luatexja-ruby.pdf}\ という別ファイルに載せている.
+この節では簡単な使用方法のみ述べる.
+%</ja>
 
+\begin{description}
+%<*en>
+ \item[Group-ruby]
+By default, ruby characters (the second argument of \cs{ruby})
+are attached to base characters (the first argument), as one object.
+This type of ruby is called \emph{group-ruby}.
+%</en>
+%<*ja>
+ \item[グループルビ] 標準ではグループルビの形で組まれる.第1引数に親文字,
+第2引数にルビを記述する.
+%</ja>
+\begin{LTXexample}[width=0.3\textwidth]
+東西線\ruby{妙典}{みようでん}駅は……\\
+東西線の\ruby{妙典}{みようでん}駅は……\\
+東西線の\ruby{妙典}{みようでん}という駅……\\
+東西線\ruby{葛西}{かさい}駅は……
+\end{LTXexample}
+%<*en>
+As the above example, ruby hangover is allowed on the Hiragana before/after
+its base characters.
+%</en>
+%<ja> この例のように,標準では前後の平仮名にルビ全角までかかるようになっている.
 
+%<*en>
+\item[Mono-ruby]
+To attach ruby characters to each base characters (\emph{mono-ruby}),
+one should use \cs{ruby} multiple times:
+%</en>
+%<*ja>
+ \item[モノルビ] 親文字を1文字にするとモノルビとなる.
+2文字以上の熟語をモノルビの形で組みたい場合は,面倒でも
+その数だけ \cs{ruby} を書く必要がある.
+%</ja>
+\begin{LTXexample}[width=0.3\textwidth]
+東西線の\ruby{妙}{みよう}\ruby{典}{でん}駅は……
+\end{LTXexample}
 
+%<*en>
+ \item[Jukugo-ruby]
+Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
+%</en>
+%<*ja>
+ \item[熟語ルビ] 引数内の縦棒 \verb+|+ はグループの区切りを表し,
+複数グループのルビは熟語ルビとして組まれる.
+\cite{x4051}にあるように,
+どのグループでも「親文字」が対応するルビ以上の長さの場合は
+各グループごとに,そうでないときは全体をまとめて1つのグループルビとして組まれる.
+\cite{jlreq}で規定されている組み方とは異なるので注意.
+%</ja>
+\begin{LTXexample}
+\ruby{妙|典}{みよう|でん}\
+\ruby{葛|西}{か|さい}\
+\ruby{神楽|坂}{かぐら|ざか}
+\end{LTXexample}
+%<*en>
+If there are multiple groups in one \cs{ruby} call,
+A linebreak between two groups is allowed.
+%</en>
+%<ja> 複数ルビではグループとグループの間で改行が可能である.
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=6\zw\noindent
+  \hbox to 2.5\zw{}\ruby{京|急|蒲|田}{けい|きゆう|かま|た}
+  \hbox to 2.5\zw{}\ruby{京|急|蒲|田}{けい|きゆう|かま|た}
+  \hbox to   3\zw{}\ruby{京|急|蒲|田}{けい|きゆう|かま|た}
+}
+\end{LTXexample}
+\end{description}
 
+%<*en>
+If the width of ruby characters are longer than that of base characters,
+\cs{ruby} automatically selects the appropriate form
+among the line-head form, the line-middle form, and the line-end form.
+%</en>
+%<*ja>
+また,ルビ文字のほうが親文字よりも長い場合は,自動的に
+行頭形・行中形・行末形のいずれか適切なものを選択する.
 %</ja>
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=8\zw\noindent
+\null\kern3\zw ……を\ruby{承}{うけたまわ}る
+     \kern1\zw ……を\ruby{承}{うけたまわ}る\\
+\null\kern5\zw ……を\ruby{承}{うけたまわ}る
+}
+\end{LTXexample}
+
+
+
 
 
 
@@ -5022,18 +5696,19 @@ Here the following is the list of dimensions and attributes which are used in \L
 \begin{list}{}{%
 \def\makelabel{\ttfamily}\advance\leftmargin1\zw
 \def\dim#1{\item[\textbackslash #1\ \textrm{(dimension)}]}
+\def\cnt#1{\item[\textbackslash #1\ \textrm{(counter)}]}
 \def\attr#1{\item[\textbackslash #1\ \textrm{(attribute)}]}
 }
 
 \dim{jQ}
 %<*en>
-\verb+\jQ+ is equal to
+\cs{jQ} is equal to
                        $1\,\textrm{Q}=0.25\,\textrm{mm}$, where ``Q''~(also called ``級'') is
-                       a unit used in Japanese phototypesetting. 
+                       a unit used in Japanese phototypesetting.
 So one should not change the value of this dimension.
 %</en>
 %<*ja>
-\verb+\jQ+ は写植で用いられた$1\,\textrm{Q}=0.25\,\textrm{mm}$%
+\cs{jQ} は写植で用いられた$1\,\textrm{Q}=0.25\,\textrm{mm}$%
 (「級」とも書かれる)に等しい.したがって,
 この寸法レジスタの値を変更してはならない.
 %</ja>
@@ -5041,35 +5716,35 @@ So one should not change the value of this dimension.
 \dim{jH}
 %<*en>
 There is also a unit called ``歯'' which equals to $0.25\,\textrm{mm}$ and
-                         used in Japanese phototypesetting. 
-This \verb+\jH+ is the same \verb+\dimen+ register as \verb+\jQ+.
+                         used in Japanese phototypesetting.
+This \cs{jH} is the same \cs{dimen} register as \cs{jQ}.
 %</en>
 %<*ja>
 同じく写植で用いられていた単位として「歯」があり,これも$0.25\,\textrm{mm}$と
-等しい.この \verb+\jH+ は \verb+\jQ+ と同じ寸法レジスタを指す.
+等しい.この \cs{jH} は \cs{jQ} と同じ寸法レジスタを指す.
 %</ja>
 
 \dim{ltj@zw}
 %<*en>
 A temporal register for the ``full-width'' of current Japanese font.
-The command \verb+\zw+ sets this register to the correct value, and
+The command \cs{zw} sets this register to the correct value, and
 ``return'' this register itself.
 %</en>
 %<*ja>
 現在の和文フォントの「全角幅」を保持する一時レジスタ.
-\verb+\zw+ 命令は,このレジスタを適切な値に設定した後,
+\cs{zw} 命令は,このレジスタを適切な値に設定した後,
 「このレジスタ自体を返す」.
 %</ja>
 
 \dim{ltj@zh}
 %<*en>
 A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
-The command \verb+\zh+ sets this register to the correct value, and
+The command \cs{zh} sets this register to the correct value, and
 ``return'' this register itself.
 %</en>
 %<*ja>
 現在の和文フォントの「全角高さ」(通常,高さと深さの和)を保持する一時レジスタ.
-\verb+\zh+ 命令は,このレジスタを適切な値に設定した後,
+\cs{zh} 命令は,このレジスタを適切な値に設定した後,
 「このレジスタ自体を返す」.
 %</ja>
 
@@ -5083,10 +5758,18 @@ Current number of Japanese font family for math formulas.
 
 \attr{ltj@curjfnt}
 %<*en>
-The font index of current Japanese font.
+The font index of current Japanese font for horizontal direction.
+%</en>
+%<*ja>
+現在の横組用和文フォントのフォント番号.
+%</ja>
+
+\attr{ltj@curtfnt}
+%<*en>
+The font index of current Japanese font for vertical direction.
 %</en>
 %<*ja>
-現在の和文フォントのフォント番号.
+現在の縦組用和文フォントのフォント番号.
 %</ja>
 
 \attr{ltj@charclass}
@@ -5113,20 +5796,23 @@ The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\
 スケールド・ポイント($2^{-16}\,\textrm{pt}$)を単位とした和文フォントのベースラインの移動量.
 %</ja>
 
+\attr{ltj@tablshift}
+\attr{ltj@tkblshift}
+
 \attr{ltj@autospc}
 %<*en>
-Whether the auto insertion of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is allowed at the node.
+Whether the auto insertion of \Param{kanjiskip} is allowed at the node.
 %</en>
 %<*ja>
-そのノードで\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の自動挿入が許されるかどうか.
+そのノードで\Param{kanjiskip}の自動挿入が許されるかどうか.
 %</ja>
 
 \attr{ltj@autoxspc}
 %<*en>
-Whether the auto insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed at the node.
+Whether the auto insertion of \Param{xkanjiskip} is allowed at the node.
 %</en>
 %<*ja>
-そのノードで\Param{\hyperlink{fld:xks}{xkanjiskip}}の自動挿入が許されるかどうか.
+そのノードで\Param{xkanjiskip}の自動挿入が許されるかどうか.
 %</ja>
 
 \attr{ltj@icflag}
@@ -5142,12 +5828,12 @@ assigned to this attribute:
 %<*en>
 Kerns from italic correction (\verb+\/+), or from kerning information of a Japanese font.
 These kerns are ``ignored'' in the insertion process of \textbf{JAglue},
-unlike explicit \verb+\kern+.
+unlike explicit \cs{kern}.
 %</en>
 %<*ja>
 イタリック補正(\verb+\/+)によるカーン,
 または \Pkg{luaotfload} によって挿入されたフォントのカーニング情報由来のカーン.
-これらのカーンは通常の \verb+\kern+ とは異なり,
+これらのカーンは通常の \cs{kern} とは異なり,
 \textbf{JAglue}の挿入処理においては透過する.
 %</ja>
 
@@ -5162,11 +5848,11 @@ Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japan
 %<en>Glues/kerns from JFM.
 %<ja>JFM由来のグルー/カーン.
 \item[\textit{kanji\_skip}~(9), \textit{kanji\_skip\_jfm}~(10)]
-%<en>Glues from \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}.
-%<ja>和文間空白\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を表すグルー.
+%<en>Glues from \Param{kanjiskip}.
+%<ja>和文間空白\Param{kanjiskip}を表すグルー.
 \item[\textit{xkanji\_skip}~(11), \textit{xkanji\_skip\_jfm}~(12)]
-%<en>Glues from \Param{\hyperlink{fld:xks}{xkanjiskip}}.
-%<ja>和欧文間空白\Param{\hyperlink{fld:xks}{xkanjiskip}}を表すグルー.
+%<en>Glues from \Param{xkanjiskip}.
+%<ja>和欧文間空白\Param{xkanjiskip}を表すグルー.
 \item[\textit{processed} (13)]
 %<en>Nodes which is already processed by \ldots.
 %<ja>\LuaTeX-ja の内部処理によって既に処理されたノード.
@@ -5182,7 +5868,7 @@ Glues from an italic correction, but already processed in the insertion process
 
 %<*ja>
 また,挿入処理の結果であるリストの最初のノードでは,\verb+\ltj@icflag+ の値に
-\textit{processed\_begin\_flag}~(128)が追加される.これによって,\verb+\unhbox+ が
+\textit{processed\_begin\_flag}~(128)が追加される.これによって,\cs{unhbox} が
 連続した場合でも「ボックスの境界」が識別できるようになっている.
 %</ja>
 
@@ -5196,30 +5882,53 @@ $i$は7より小さい自然数.
 これら7つの属性レジスタは,どの文字ブロックが\textbf{JAchar}のブロックとして
 扱われるかを示すビットベクトルを格納する.
 %</ja>
+
+\attr{ltj@dir}
+%<*ja>
+ボックスにおける組方向を示す.通常のボックスでは
+\begin{description}
+\item[\textit{dir\_dtou} (1)]
+\item[\textit{dir\_tate} (3)]
+\item[\textit{dir\_yoko} (4)]
+\end{description}
+のいずれかに次を加えた値(17,~19, 20, 33, 35,~36)をとるボックスが作られることもあ
+                        る(\ref{sec-dir-imp}章参照).
+%</ja>
+\begin{description}
+\item[\textit{dir\_node\_auto} (16)]
+%<ja> 異なる組方向に配置するために自動的に作られたボックス.
+\item[\textit{dir\_node\_manual} (32)]
+%<ja> \cs{ltjsetwd} によって「ボックスの本来の組方向とは異なる組方向での寸法」を
+%<ja> 設定したときに,それを記録するためのボックス.
+\end{description}
+%<ja> \TeX 側から見える値,つまり \verb+\the\ltj@dir+ の値は常に0である.
+
 \end{list}
 
 %<*en>
 Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
-inrernal processing. All those nodes store a natural number (hence the node's
-\texttt{type} is 100). 
-Their \texttt{user\_id} (used for distinguish user-defined whatsits) 
+internal processing. All those nodes except \emph{direction} whatsits
+store a natural number (hence its \texttt{type} is 100).
+\emph{direction} whatsits store a node list, hence its \texttt{type} is 110.
+Their \texttt{user\_id} (used for distinguish user-defined whatsits)
 are allocated by \texttt{luatexbase.newuserwhatsitid}.
 %</en>
 %<*ja>
 さらに,\LuaTeX-jaはいくつかのuser-defined whatsit nodeを内部処理に用いる.
-これらのwhatsitノードの \texttt{type} は100であり,ノードは自然数を格納している.
-user-defined whatsitを識別するための \texttt{user\_id} は\ 
+\textit{direction} whatsitはノードリストを格納するが,
+それ以外のwhatsitノードの \texttt{type} は100であり,ノードは自然数を格納している.
+user-defined whatsitを識別するための \texttt{user\_id} は\
 \texttt{luatexbase.newuserwhatsitid} により確保されており,
 下の見出しは単なる識別用でしかない.
 %</ja>
 \begin{description}
 \item[\textit{inhibitglue}]
 %<*en>
-Nodes for indicating that \verb+\inhibitglue+ is
+Nodes for indicating that \cs{inhibitglue} is
           specified. The \texttt{value} field of these nodes doesn't matter.
 %</en>
 %<*ja>
-\verb+\inhibitglue+ が指定されたことを示すノード.これらのノードの\ 
+\cs{inhibitglue} が指定されたことを示すノード.これらのノードの\
 \texttt{value} フィールドは意味を持たない.
 %</ja>
 
@@ -5238,17 +5947,17 @@ Nodes for \LuaTeX-ja's stack system (see the next
 %<*en>
 Nodes for \textbf{JAchar} which the callback process of
           \Pkg{luaotfload} won't be applied, and the character code is
-          stored in the \texttt{value} field. Each node of this type are 
+          stored in the \texttt{value} field. Each node of this type are
            converted to a \textit{glyph\_node} \emph{after}
           the callback process of luaotfload.
-Nodes of this type is used in \verb+\CID+, \verb+\UTF+ and IVS support.
+Nodes of this type is used in \cs{CID}, \cs{UTF} and IVS support.
 %</en>
 %<*ja>
 \Pkg{luaotfload}のコールバックによる処理が適用されない\textbf{JAchar}のためのノードで,
 \texttt{value} フィールドに文字コードが格納されている.
 この種類のノードはそれぞれが\Pkg{luaotfload}のコールバックの処理の
 \emph{後で}\textit{glyph\_node}に変換される.
-\verb+\CID+, \verb+\UTF+やIVS対応処理でこの種類のノードが利用されている.
+\cs{CID}, \cs{UTF}やIVS対応処理でこの種類のノードが利用されている.
 %</ja>
 
 \item[\textit{replace\_vs}]
@@ -5266,13 +5975,16 @@ These nodes are for \textbf{ALchar} which the callback process of
 \item[\textit{begin\_par}]
 %<*en>
 Nodes for indicating beginning of a paragraph.
-A paragraph which is started by \verb+\item+ in list-like environments has a horizontal box
+A paragraph which is started by \cs{item} in list-like environments has a horizontal box
 for its label before the actual contents. So \dots
 %</en>
 %<*ja>
 「段落の開始」を意味するノード.
-list環境,itemize環境などにおいて,\verb+\item+ で始まる各項目は……
+list環境,itemize環境などにおいて,\cs{item} で始まる各項目は……
 %</ja>
+
+\item[\textit{direction}]
+
 \end{description}
 
 %<*en>
@@ -5291,13 +6003,13 @@ These whatsits will be removed during the process of inserting \textbf{JAglue}s.
 %<*en>
 \LuaTeX-ja has its own stack system, and most parameters of \LuaTeX-ja
 are stored in it. To clarify the reason, imagine the parameter
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is stored by a skip, and consider the following
+\Param{kanjiskip} is stored by a skip, and consider the following
 source:
 %</en>
 %<*ja>
 \LuaTeX-jaは独自のスタックシステムを持ち,\LuaTeX-jaのほとんどのパラメータは
 これを用いて保持されている.その理由を明らかにするために,
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメータがスキップレジスタで保持されているとし,
+\Param{kanjiskip}パラメータがスキップレジスタで保持されているとし,
 以下のコードを考えてみよう:
 %</ja>
 \begin{LTXexample}
@@ -5309,16 +6021,16 @@ source:
 
 %<*en>
 As described in Subsection~\ref{ssec-param}, the only effective value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} in an hbox is the latest value, so the value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} which applied in the entire hbox should be 5\,pt.
+\Param{kanjiskip} in an hbox is the latest value, so the value of
+\Param{kanjiskip} which applied in the entire hbox should be 5\,pt.
 However, by the implementation method of \LuaTeX, this ``5\,pt'' cannot be
 known from any callbacks.  In the \texttt{tex/packaging.w}, which is a
 file in the source of \LuaTeX, there are the following codes:
 %</en>
 %<*ja>
 \ref{ssec-param}節で述べたように,あるhboxの中で効力を持つ
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値は最後に現れた値のみであり,したがってボックス全体に適用される
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}は5\,ptであるべきである.しかし,\LuaTeX の実
+\Param{kanjiskip}の値は最後に現れた値のみであり,したがってボックス全体に適用される
+\Param{kanjiskip}は5\,ptであるべきである.しかし,\LuaTeX の実
 装を観察すると,この5\,ptという長さはどのコールバックからも知ることはできないことがわかる.
 \LuaTeX のソースファイルの1つ \texttt{tex/packaging.w} の中に,
 以下のコードがある:
@@ -5373,7 +6085,7 @@ These are two \TeX\ count registers for maintaining information:
 the \TeX's group level when the last assignment was done.  Parameters
 are stored in one big table named \texttt{charprop\_stack\_table}, where
 \texttt{charprop\_stack\_table[$i$]} stores data of stack level~$i$. If
-a new stack level is created by \verb+\ltjsetparameter+, all data of the
+a new stack level is created by \cs{ltjsetparameter}, all data of the
 previous level is copied.
 %</en>
 %<*ja>
@@ -5382,7 +6094,7 @@ previous level is copied.
 なされた時点での\TeX のグループレベルを保持している.
 パラメータは\texttt{charprop\_stack\_table}という名前のひとつの大きなテーブルに
 格納される.ここで,\texttt{charprop\_stack\_table[$i$]}はスタックレベル$i$の
-データを格納している.もし新しいスタックレベルが \verb+\ltjsetparameter+ によって
+データを格納している.もし新しいスタックレベルが \cs{ltjsetparameter} によって
 生成されたら,前のレベルの全てのデータがコピーされる.
 %</ja>
 
@@ -5450,13 +6162,13 @@ $t$とすると:
 %<*en>
 Note that to work this trick correctly, assignments to
 \verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
-regardless the value of \verb+\globaldefs+.
-To solve this problem, we use another trick: the assignment 
+regardless the value of \cs{globaldefs}.
+To solve this problem, we use another trick: the assignment
 \hbox{\verb+\directlua{tex.globaldefs=0}+} is always local.
 %</en>
 %<*ja>
 このトリックを正しく働かせるためには,\verb+\ltj@@stack+ と \verb+\ltj@@group@level+ への
-代入は \verb+\globaldefs+ の値によらず常にローカルでなければならないことに注意する.
+代入は \cs{globaldefs} の値によらず常にローカルでなければならないことに注意する.
 この問題は \hbox{\verb+\directlua{tex.globaldefs=0}+}(この代入は常にローカル)を
 用いることで解決している.
 %</ja>
@@ -5478,15 +6190,15 @@ The following function can be used to store data into a stack:
 \begin{verbatim}
 luatexja.stack.set_stack_table(index, <any> data)
 \end{verbatim}
-Any values which except \texttt{nil}~and~NaN are usable as \textit{index}. 
-However, a user should use only negative integers or strings as \textit{index}, 
+Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
+However, a user should use only negative integers or strings as \textit{index},
 since natural numbers are used by \LuaTeX-ja itself.
-Also, whether \textit{data} is stored locally or globally 
+Also, whether \textit{data} is stored locally or globally
 is determined by \texttt{luatexja.isglobal}
 (stored globally if and only if \texttt{luatexja.isglobal == 'global'}).
 %</en>
 %<*ja>
-スタックに値を設定するには,以下のLua関数を呼びせば良い:
+スタックに値を設定するには,以下のLua関数を呼びせば良い:
 \begin{verbatim}
 luatexja.stack.set_stack_table(<any> index, <any> data)
 \end{verbatim}
@@ -5503,8 +6215,8 @@ Stored data can be obtained as the return value of
 \begin{verbatim}
 luatexja.stack.get_stack_table(index, <any> default, <number> level)
 \end{verbatim}
-where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+, 
-and \textit{default} is the default value which will be returned if no values are stored 
+where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
+and \textit{default} is the default value which will be returned if no values are stored
 in the stack table whose level is \textit{level}.
 %</en>
 %<*ja>
@@ -5530,7 +6242,7 @@ luatexja.stack.get_stack_table(<any> index, <any> default, <number> level)
   \relax\ifnum\globaldefs<0\directlua{luatexja.isglobal=''}%
     \else\directlua{luatexja.isglobal='global'}\fi%
   \setkeys[ltj]{japaram}{#1}\ignorespaces}
-\end{lstlisting} 
+\end{lstlisting}
 %<ja>\caption{パラメータ設定命令の定義}
 %<en>\caption{Definiton of parameter setting commands}
 \label{fig:setpar-def}
@@ -5538,50 +6250,50 @@ luatexja.stack.get_stack_table(<any> index, <any> default, <number> level)
 
 %<*en>
 \subsection{Extending Parameters}
-Keys for \verb+\ltjsetparameter+~and~\verb+\ltjgetparameter+ can be extended, 
+Keys for \cs{ltjsetparameter}~and~\cs{ltjgetparameter} can be extended,
 as in \Pkg{luatexja-adjust}.
 %</en>
 %<*ja>
 \subsection{パラメータの拡張}
 ここでは,\Pkg{luatexja-adjust}で行なっているように,
-\verb+\ltjsetparameter+,~\verb+\ltjgetparameter+に指定可能なキーを追加する方法
+\cs{ltjsetparameter},~\cs{ltjgetparameter}に指定可能なキーを追加する方法
 を述べる.
 %</ja>
 
 %<*en>
 \paragraph{Setting parameters}
-Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of 
-two commands, 
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+.
-Most important part is the last \verb+\setkeys+, 
+Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+two commands,
+\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
+Most important part is the last \cs{setkeys},
 which is offered by the \Pkg{xkeyval} package.
 
-Hence, to add a key in \verb+\ltjsetparameter+, one only have to add a key
+Hence, to add a key in \cs{ltjsetparameter}, one only have to add a key
 whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
 \begin{verbatim}
 \define@key[ltj]{japaram}{...}{...}
 \end{verbatim}
 
-\verb+\ltjsetparameter+~and~\verb+\ltjglobalsetparameter+ automatically sets
+\cs{ltjsetparameter}~and~\cs{ltjglobalsetparameter} automatically sets
 \texttt{luatexja.isglobal}. Its meaning is the following.
 \begin{align}
- \texttt{luatexja.isglobal} = 
+ \texttt{luatexja.isglobal} =
 \begin{cases}
  \texttt{'global'}&\text{global}\\
  \texttt{''}&\text{local}
 \end{cases}
 \end{align}
 This is determined not only by command name
-(\verb+\ltjsetparameter+~or~\verb+\ltjglobalsetparameter+), 
-but also by the value of \verb+\globaldefs+.
+(\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}),
+but also by the value of \cs{globaldefs}.
 %</en>
 %<*ja>
 \paragraph{パラメータの設定}
-\verb+\ltjsetparameter+ と,\verb+\ltjglobalsetparameter+ の定義は図\ref{fig:setpar-def}の
+\cs{ltjsetparameter} と,\cs{ltjglobalsetparameter} の定義は図\ref{fig:setpar-def}の
 のようになっている.
-本質的なのは最後の \verb+\setkeys+ で,これは\Pkg{xkeyval}パッケージの提供する命令である.
+本質的なのは最後の \cs{setkeys} で,これは\Pkg{xkeyval}パッケージの提供する命令である.
 
-このため,\verb+\ltjsetparameter+ に指定可能なパラメータを追加するには,
+このため,\cs{ltjsetparameter} に指定可能なパラメータを追加するには,
 <prefix>を \texttt{ltj},<family>を \texttt{japaram} としたキーを
 \begin{verbatim}
 \define@key[ltj]{japaram}{...}{...}
@@ -5589,22 +6301,22 @@ but also by the value of \verb+\globaldefs+.
 のように定義すれば良いだけである.
 なお,パラメータ指定がグローバルかローカルかどうかを示す \texttt{luatexja.isglobal} が,
 \begin{align}
- \texttt{luatexja.isglobal} = 
+ \texttt{luatexja.isglobal} =
 \begin{cases}
  \texttt{'global'}&\text{パラメータ設定はグローバル}\\
  \texttt{''}&\text{パラメータ設定はローカル}
 \end{cases}
 \end{align}
-として自動的にセットされる\footnote{命令が \texttt{\textbackslash ltjglobalsetparameter} かどうかだけでは
-なく,実行時の \texttt{\textbackslash globaldefs} の値にも依存して定まる.}.
+として自動的にセットされる\footnote{命令が \cs{ltjglobalsetparameter} かどうかだけでは
+なく,実行時の \cs{globaldefs} の値にも依存して定まる.}.
 %</ja>
 
 %<*ja>
 \paragraph{パラメータの取得}
-一方,\verb+\ltjgetparameter+ はLuaスクリプトによって実装されている.
-値を取得するのに追加引数の要らないパラメータについては,\verb+luatexja.unary_pars+\ 
+一方,\cs{ltjgetparameter} はLuaスクリプトによって実装されている.
+値を取得するのに追加引数の要らないパラメータについては,\verb+luatexja.unary_pars+\
 内に処理内容を記述した関数を定義すれば良い.例えば,Luaスクリプトで
-\begin{lstlisting}[numbers=left] 
+\begin{lstlisting}[numbers=left]
 function luatexja.unary_pars.hoge (t)
   return 42
 end
@@ -5616,13 +6328,13 @@ end
 
 一方,追加引数(\emph{数値しか許容しない})が必要なパラメータについては,
 まずLuaスクリプトで処理内容の本体を記述しておく:
-\begin{lstlisting}[numbers=left] 
+\begin{lstlisting}[numbers=left]
 function luatexja.binary_pars.fuga (c, t)
   return tostring(c) .. ', ' .. tostring(42)
 end
 \end{lstlisting}
-引数$t$は,先に述べた通りのスタックレベルである.一方,引数$c$は\ 
-\verb+\ltjgetparameter+ の第2引数を表す数値である.
+引数$t$は,先に述べた通りのスタックレベルである.一方,引数$c$は\
+\cs{ltjgetparameter} の第2引数を表す数値である.
 しかしこれだけでは駄目で,
 \begin{verbatim}
 \ltj@@decl@array@param{fuga}
@@ -5717,7 +6429,7 @@ after ``beginning/ending of a group'' characters.
       (midline) edge                 node {5\ [\sp]} (endm)
       (midline) edge [loop left]     node {G, O} (midline)
       (skipspc) edge                 node [right] {5} (ends)
-      (newline) edge                 node {5 [{\tt\textbackslash par}]} (endn);
+      (newline) edge                 node {5 [\cs{par}]} (endn);
 \begin{scope}[red]
 \path (newline) edge [bend right]    node [right=25,below=3]{J} (kanji)
       (midline) edge                 node [below]{J} (kanji)
@@ -5740,8 +6452,8 @@ after ``beginning/ending of a group'' characters.
 \item[\textsf{5}] \textit{end-of-line} (usually \verb+^+\verb+^J+).
 \item[\textsf{10}] space (usually \sp).
 \item[\textsf{O}] other characters, whose category code is in $\{3,4,6,7,8,11,12,13\}$.
-\item[\textsf{[\sp]}, \textsf{[{\tt\textbackslash par}]}]
-emits a space, or~\verb+\par+.
+\item[\textsf{[\sp]}, \textsf{[\cs{par}]}]
+emits a space, or~\cs{par}.
 \end{description}
 \end{minipage}
 \begin{itemize}
@@ -5781,7 +6493,7 @@ A character \texttt{U+FFFFF} (its category code is set to 14~(\textit{comment})
 \LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually
 process it}, if and only if the following three conditions are satisfied:
 \begin{enumerate}
-\item The category code of \verb+\endlinechar+%
+\item The category code of \cs{endlinechar}%
 \footnote{Usually, it is $\langle$\textit{return}$\rangle$
       (whose character code is 13).} is 5~(\textit{end-of-line}).
 \item The category code of \texttt{U+FFFFF} itself is 14~(\textit{comment}).
@@ -5803,7 +6515,7 @@ y\ltjsetparameter{jacharrange={+6}}zい
 u
 \end{LTXexample}
 It is not strange that ``あ'' does not printed in the above output.
-This is because \TeX\ Gyre\ Termes does not contain ``あ'', and because 
+This is because \TeX\ Gyre\ Termes does not contain ``あ'', and because
 ``あ'' in line~3 is considered as an \textbf{ALchar}.
 
 Note that there is no space before ``y'' in the output, but
@@ -5811,7 +6523,7 @@ there is a space before ``u''. This follows from following reasons:
 \begin{itemize}
 \item When line~3 is processed by \texttt{process\_input\_buffer} callback,
 ``あ'' is considered as an \textbf{JAchar}.
-Since  line~3 ends with an \textbf{JAchar}, 
+Since  line~3 ends with an \textbf{JAchar},
 the comment character \texttt{U+FFFFF} is appended to this line,
 and hence the linebreak immediately after this line is ignored.
 \item When line~4 is processed by \texttt{process\_input\_buffer} callback,
@@ -5841,7 +6553,7 @@ emits a space.
 \footnote{この文字はコメント文字として扱われるように\LuaTeX-ja内部で設定をしている.}
 を末尾に追加する.よって,その場合に改行は空白とは見做されないこととなる.
 \begin{enumerate}
-\item \verb+\endlinechar+の文字\footnote{普通は,改行文字(文字コード13番)である.}
+\item \cs{endlinechar}の文字\footnote{普通は,改行文字(文字コード13番)である.}
 のカテゴリーコードが5~(\textit{end-of-line})である.
 \item \texttt{U+FFFFF}のカテゴリーコードが14~(\textit{comment})である.
 \item 入力行は次の「正規表現」にマッチしている:
@@ -5879,7 +6591,7 @@ u
       「い」は欧文文字扱いである.よって4行目は欧文文字で終わることになり,
       直後の改行文字は空白に置き換わる.
 \end{itemize}
-このため,トラブルを避けるために,和文文字の範囲を\verb+\ltjsetparameter+で編集した場合,
+このため,トラブルを避けるために,和文文字の範囲を\cs{ltjsetparameter}で編集した場合,
 その行はそこで改行するようにした方がいいだろう.
 %</ja>
 
 \begin{itemize}
 \item JFMグルーの挿入は,和文文字を表すトークンを元に水平リストに(文字を表す)<char\_node>を
 追加する過程で行われる.
-\item \Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は,hboxへのパッケージングや行分割前に行われる.
-\item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}はノードとしては挿入されない.パッケージングや行分割の計算時に
-「和文文字を表す2つの<char\_node>の間には\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}がある」ものとみなされる.
+\item \Param{xkanjiskip}の挿入は,hboxへのパッケージングや行分割前に行われる.
+\item \Param{kanjiskip}はノードとしては挿入されない.パッケージングや行分割の計算時に
+「和文文字を表す2つの<char\_node>の間には\Param{kanjiskip}がある」ものとみなされる.
 \end{itemize}
 しかし,\LuaTeX-jaでは,hboxへのパッケージングや行分割前に全ての
-\textbf{JAglue},即ちJFMグルー・\Param{\hyperlink{fld:xks}{xkanjiskip}}・\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の
+\textbf{JAglue},即ちJFMグルー・\Param{xkanjiskip}・\Param{kanjiskip}の
 3種類を一度に挿入することになっている.これは,\LuaTeX において欧文の合字・
 カーニング処理がノードベースになったことに対応する変更である.
 
 \LuaTeX-jaにおける\textbf{JAglue}挿入処理では,次節で定義する
 「クラスタ」を単位にして行われる.大雑把にいうと,「クラスタ」は文字とそれに付随す
 るノード達(アクセント位置補正用のカーンや,イタリック補正)をまとめたもの
-であり,2つのクラスタの間には,ペナルティ,\verb+\vadjust+,whatsitなど,行組版
+であり,2つのクラスタの間には,ペナルティ,\cs{vadjust},whatsitなど,行組版
 には関係しないものがある.
 
 
@@ -5929,12 +6641,12 @@ with the \textit{id} of it:
 %<*en>
 \item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$.  These
       nodes come from a hbox which is already packaged, by unpackaging
-      (\verb+\unhbox+).
+      (\cs{unhbox}).
       The \textit{id} is \textit{id\_pbox}.
 %</en>
 %<*ja>
 \item その \verb+\ltj@icflag+ の値が$[3,15)$に入るノードのリスト.
-  これらのノードはある既にパッケージングされたhboxから \verb+\unhbox+ で
+  これらのノードはある既にパッケージングされたhboxから \cs{unhbox} で
   アンパックされたものである.
   その\textit{id}は\textit{id\_pbox}である.
 %</ja>
@@ -5963,10 +6675,10 @@ with the \textit{id} of it:
 %</ja>
 
 %<*en>
-\item An accent attached to $p$ by \verb+\accent+.
+\item An accent attached to $p$ by \cs{accent}.
 %</en>
 %<*ja>
-\item \verb+\accent+ による$p$に付随したアクセント.
+\item \cs{accent} による$p$に付随したアクセント.
 %</ja>
 \end{enumerate}
 \[
@@ -5994,13 +6706,13 @@ represents a Japanese character or not.
 %</ja>
 
 %<*en>
-\item An box-like node, that is, an hbox, a vbox, a rule (\verb+\vrule+) and an \textit{unset\_node}.
+\item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
 The \textit{id} is \textit{id\_hlist} if the node is an
       hbox which is not shifted vertically, or \textit{id\_box\_like}
       otherwise.
 %</en>
 %<*ja>
-\item ボックス様のノード,つまり水平ボックス,垂直ボックス,罫線 (\verb+\vrule+),
+\item ボックス様のノード,つまり水平ボックス,垂直ボックス,罫線 (\cs{vrule}),
   そして\textit{unset\_node}.
   その\textit{id}は垂直に移動していないhboxならば\textit{id\_hlist},
   そうでなければ\textit{id\_box\_like}となる.
@@ -6094,7 +6806,7 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$の算出は,
 \textit{id}が\textit{id\_pbox}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
 
 \item[和文B] リスト中のhboxの中身の先頭として出現した和文文字.和文Aとの違いは,これの前に
-JFMグルーの挿入が行われない(\Param{\hyperlink{fld:xks}{xkanjiskip}},~\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}は入り得る)ことである.\\
+JFMグルーの挿入が行われない(\Param{xkanjiskip},~\Param{kanjiskip}は入り得る)ことである.\\
 \textit{id}が\textit{id\_hlist}か\textit{id\_disc}であって$\mathit{Np}.\mathit{head}$が\textbf{JAchar}であるとき.
 
 \item[欧文] リスト中に直接/hboxの中身として出現している欧文文字.次の3つの場合が該当:
@@ -6116,21 +6828,21 @@ JFMグルーの挿入が行われない(\Param{\hyperlink{fld:xks}{xkanjiskip}
 まず,段落/hboxの一番最初にあるクラスタ\textit{Np}を探索する.
 hboxの場合は何の問題もないが,段落の場合では以下のノード達を事前に読み飛ばしておく:
 \begin{itemize}
-\item \verb+\parindent+ 由来のhbox($\mathit{subtype}=3$)
+\item \cs{parindent} 由来のhbox($\mathit{subtype}=3$)
 \item \textit{subtype}が44~(\textit{user\_defined})でないようなwhatsit
 \end{itemize}
-これは,\verb+\parindent+由来のhboxがクラスタを構成しないようにするためである.
+これは,\cs{parindent}由来のhboxがクラスタを構成しないようにするためである.
 
 次に,\textit{Np}の直前に空白$g$を必要なら挿入する:
 \begin{enumerate}
 \item この処理が働くような\textit{Np}は\textsf{和文A}である.
-\item 問題のリストが字下げありの段落(\verb+\parindent+ 由来のhboxあり)の場合は,
+\item 問題のリストが字下げありの段落(\cs{parindent} 由来のhboxあり)の場合は,
 この空白$g$は「文字コード \texttt{'parbdd'} の文字」と\textit{Np}の間に入るグルー/カーンである.
 \item そうでないとき(\verb+noindent+ で開始された段落やhbox)は,
 $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に入るグルー/カーンである.
 \end{enumerate}
 ただし,もし$g$がglueであった場合,この挿入によって\textit{Np}による行分割が新たに可能になるべきではない.
-そこで,以下の場合には,$g$の直前に \verb+\penalty10000+ を挿入する:
+そこで,以下の場合には,$g$の直前に \cs{penalty10000} を挿入する:
 \begin{itemize}
 \item 問題にしているリストが段落であり,かつ
 \item \textit{Np}の前には予めペナルティがなく,$g$はglue.
@@ -6138,13 +6850,13 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
 
 \paragraph{末尾の処理}
 末尾の処理は,問題のリストが段落のものかhboxのものかによって異なる.
-後者の場合は容易い:最後のクラスタを\textit{Nq}とおくと,\textit{Nq}と「文字コード\ 
+後者の場合は容易い:最後のクラスタを\textit{Nq}とおくと,\textit{Nq}と「文字コード\
 \texttt{'boxbdd'} の文字」の間に入るグルー/カーンを,
 \textit{Nq}の直後に挿入するのみである.
 
-一方.前者(段落)の場合は,リストの末尾は常に \verb+\penalty10000+ と,
-\verb+\parfillskip+ 由来のグルーが存在する.%よって,最後のクラスタ\textit{Np}は
-%この \verb+\parfillskip+ 由来のグルーとなり,実質的な中身の最後はその1つ前のクラスタ\textit{Nq}となる.
+一方.前者(段落)の場合は,リストの末尾は常に \cs{penalty10000} と,
+\cs{parfillskip} 由来のグルーが存在する.%よって,最後のクラスタ\textit{Np}は
+%この \cs{parfillskip} 由来のグルーとなり,実質的な中身の最後はその1つ前のクラスタ\textit{Nq}となる.
 段落の最後の「通常の和文文字${}+{}$句点」が独立した行となるのを防ぐために,
 \Param{jcharwidowpenalty}の値の分だけ適切な場所のペナルティを増やす.
 
@@ -6158,7 +6870,7 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
 \subsection{概観と典型例:2つの「和文A」の場合}
 \label{ssec-cluster-wa}
 先に述べたように,2つの隣り合ったクラスタ,\textit{Nq}と\textit{Np}の間には,
-ペナルティ,\verb+\vadjust+,whatsitなど,行組版には関係しないものがある.模式的に表すと,
+ペナルティ,\cs{vadjust},whatsitなど,行組版には関係しないものがある.模式的に表すと,
 \[
  \Node{cluster}{\textit{Nq}}\longrightarrow
 \overbrace{
@@ -6170,8 +6882,8 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
 \[
  \Node{cluster}{\textit{Nq}}\longrightarrow%\Node{kern}{左空白}\longrightarrow
 \overbrace{
-\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow 
-\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow 
+\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
+\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
 \Node{glue or kern}{\raisebox{-.2\zw}{右空白}}\longrightarrow
 \Node{cluster}{\textit{Np}}
 \]
@@ -6183,10 +6895,10 @@ $g$は「文字コード \texttt{'boxbdd'} の文字」と\textit{Np}の間に
 まず,「右空白」にあたる量を算出する.通常はこれが,隣り合った2つの和文文字間に入る空白量となる.
 \begin{description}
 \item[JFM由来{[M]}] JFMの文字クラス指定によって入る空白を以下によって求める.この段階で空白量が未定義(未指定)だった場合,
-      デフォルト値\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を採用することとなるので,次へ.
+      デフォルト値\Param{kanjiskip}を採用することとなるので,次へ.
 \begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合(証としてwhatsitノードが自動挿入される),
-      代わりに\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}が挿入されることとなる.次へ.
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),
+      代わりに\Param{kanjiskip}が挿入されることとなる.次へ.
 \item \textit{Nq}と\textit{Np}が同じJFM・同じ\texttt{jfmvar}キー・同じサイズの和文フォントであったならば,
       共通に使っているJFM内で挿入される空白(グルーかカーン)が決まっているか調べ,決まっていればそれを採用.
 \item 1.でも2.でもない場合は,JFM・\texttt{jfmvar}・サイズの3つ組は\textit{Nq}と\textit{Np}で異なる.
@@ -6203,12 +6915,12 @@ ga&(\inhibitglue 「使用フォントが\textit{Np}のそれと同じで,\hfi
 
 $\mathit{gb}$,~$\mathit{ga}$それぞれに対する<ratio>の値を$d_b$,~$d_a$とする.
 \begin{itemize}
-\item 
+\item
 $\mathit{ga}$と$\mathit{gb}$の両方が未定義であるならば,JFM由来のグルーは挿入されず,
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を採用することとなる.
+\Param{kanjiskip}を採用することとなる.
 どちらか片方のみが未定義であるならば,次のステップでその未定義の方は長さ0のkernで,<ratio>の値は0であるかのように扱われる.
-\item 
-\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}の値が \texttt{pleft}, \texttt{pright},
+\item
+\Param{diffrentjfm}の値が \texttt{pleft}, \texttt{pright},
       \texttt{paverage} のとき,
 <ratio>の指定に従って比例配分を行う.
 JFM由来のグルー/カーンは以下の値となる:
@@ -6219,12 +6931,12 @@ JFM由来のグルー/カーンは以下の値となる:
 ここで.$f(x,y)$は
 \[
  f(x,y)=\begin{cases}
-x&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pleft};\\
-y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pright};\\
-(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{paverage};
+x&\text{if\ }\Param{diffrentjfm}=\texttt{pleft};\\
+y&\text{if\ }\Param{diffrentjfm}=\texttt{pright};\\
+(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{paverage};
 \end{cases}.
 \]
-\item 
+\item
 \Param{differentjfm}がそれ以外の値の時は,<ratio>の値は無視され,JFM由来のグルー/カーンは以下の値となる:
 \[
  f(\textit{gb},\textit{ga})
@@ -6232,10 +6944,10 @@ y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{pright};\\
 ここで.$f(x,y)$は
 \[
  f(x,y)=\begin{cases}
-\min(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{small};\\
-\max(x,y)&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{large};\\
-(x+y)/2&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{average};\\
-x+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{both};
+\min(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{small};\\
+\max(x,y)&\text{if\ }\Param{diffrentjfm}=\texttt{large};\\
+(x+y)/2&\text{if\ }\Param{diffrentjfm}=\texttt{average};\\
+x+y&\text{if\ }\Param{diffrentjfm}=\texttt{both};
 \end{cases}.
 \]
 \end{itemize}
@@ -6249,23 +6961,23 @@ x+y&\text{if\ }\Param{\hyperlink{fld:diffjfm}{diffrentjfm}}=\texttt{both};
 \end{verbatim}
 という3フォントを考え,
 \[
- \overbrace{\Node{glyph}{{\tt\textbackslash foo}, `あ'}}^{p}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash bar}, `い'}}^{q}
-\longrightarrow \overbrace{\Node{glyph}{{\tt\textbackslash baz}, `う'}}^{r}
+ \overbrace{\Node{glyph}{\cs{ foo}, `あ'}}^{p}
+\longrightarrow \overbrace{\Node{glyph}{\cs{bar}, `い'}}^{q}
+\longrightarrow \overbrace{\Node{glyph}{\cs{baz}, `う'}}^{r}
 \]
 という3ノードを考える(それぞれ単独でクラスタをなす).
 この場合,$p$と$q$の間は,実フォントが異なるにもかかわらず2.の状況となる一方で,
 $q$と$r$の間は(実フォントが同じなのに)\texttt{jfmvar} キーの内容が異なるので3.の状況となる.
 \item[\Param{kanjiskip}~{[K]}] 上の[M]において空白が定まらなかった場合,
 以下で定めた量「右空白」として採用する.
-この段階においては,\verb+\inhibitglue+ は効力を持たないため,
+この段階においては,\cs{inhibitglue} は効力を持たないため,
 結果として,2つの和文文字間には常に何らかのグルー/カーンが挿入されることとなる.
 \begin{enumerate}
 \item 両クラスタ(厳密には$\mathit{Nq}.\mathit{tail}$,$\mathit{Np}.\mathit{head}$)の中身の文字コードに対する
 \Param{autospacing}パラメタが両方ともfalseだった場合は,長さ0のglueとする.
-\item ユーザ側から見た\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメタの自然長が${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$で
-なければ,\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}パラメタの値を持つglueを採用する.
-\item 2.でない場合は,\textit{Nq}, \textit{Np}で使われているJFMに指定されている\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}の値を用いる.
+\item ユーザ側から見た\Param{kanjiskip}パラメタの自然長が$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$で
+なければ,\Param{kanjiskip}パラメタの値を持つglueを採用する.
+\item 2.でない場合は,\textit{Nq}, \textit{Np}で使われているJFMに指定されている\Param{kanjiskip}の値を用いる.
 どちらか片方のクラスタだけが和文文字(\textsf{和文A}・\textsf{和文B})のときは,そちらのクラスタで使われている
 JFM由来の値だけを用いる.もし両者で使われているJFMが異なった場合は,上の[M]~3.と同様の方法を用いて調整する.
 \end{enumerate}
@@ -6277,8 +6989,8 @@ JFM由来の値だけを用いる.もし両者で使われているJFMが異
 \paragraph{禁則用ペナルティの挿入}
 まず,
 \[
- a:=(\text{\textit{Nq}{\footnotemark}の文字に対する\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値})
-+(\text{\textit{Np}{\footnotemark}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値})
+ a:=(\text{\textit{Nq}{\footnotemark}の文字に対する\Param{postbreakpenalty}の値})
++(\text{\textit{Np}{\footnotemark}の文字に対する\Param{prebreakpenalty}の値})
 \]
 とおく\footnotetext{厳密にはそれぞれ$\mathit{Nq}.\mathit{tail}$,$\mathit{Np}.\mathit{head}$.}.
 ペナルティは通常$[-10000,10000]$の整数値をとり,また$\pm 10000$は正負の無限大を意味することになっているが,この$a$の
@@ -6357,7 +7069,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 %</ja>
 
 % %<*en>
-% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is 
+% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
 %   determined by the method ``\textsf{line-end~[E]}''.
 % %</en>
 % %<*ja>
@@ -6366,7 +7078,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 % %</ja>
 
 %<*en>
-\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty 
+\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
   between two clusters for \emph{kinsoku shori}.
 %</en>
 %<*ja>
@@ -6383,7 +7095,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \textit{Nq}が\textsf{和文A}で,\textit{Np}が\textsf{欧文}の場合,JFMグルー挿入処理は次のようにして行われる.
 \begin{itemize}
 \item 「右空白」については,まず以下に述べる\textsf{Boundary-B~[\OB]}により空白を決定しようと試みる.
-それが失敗した場合は,\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}によって定める.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
 %\item 「左空白」については,既に述べた\textsf{line-end~[E]}をそのまま採用する.それに伴う「右空白」の補正も%同じ.
 \item 禁則用ペナルティも,以前述べた\textsf{P-normal~[PN]}と同じである.
 \end{itemize}
@@ -6393,7 +7105,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \textsf{JFM-origin~[M]}の変種と考えて良い.
 これによって定まる空白の典型例は,和文の閉じ括弧と欧文文字の間に入る半角アキである.
 \begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合%
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合%
 (証としてwhatsitノードが自動挿入される),「右空白」は未定義.
 \item そうでなければ,
 \textit{Nq}と「文字コードが {\tt'jcharbdd'} の文字」との間に入るグルー/カーンとして定まる.
@@ -6401,20 +7113,20 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \item[\Param{xkanjiskip}~{[X]}]
 この段階では,\textsf{\Param{kanjiskip}~[K]}のときと同じように,
 以下で定めた量を「右空白」として採用する.
-\verb+\inhibitglue+ は効力を持たない.
+\cs{inhibitglue} は効力を持たない.
 \begin{enumerate}
-\item 以下のいずれかの場合は,\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入は抑止される.しかし,実際には行分割を許容するために,長さ0のglueを採用する:
+\item 以下のいずれかの場合は,\Param{xkanjiskip}の挿入は抑止される.しかし,実際には行分割を許容するために,長さ0のglueを採用する:
 \begin{itemize}
 \item 両クラスタにおいて,それらの中身の文字コードに対する\Param{autoxspacing}パラメタが共にfalseである.
-\item \textit{Nq}の中身の文字コードについて,「直後への\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入」が禁止されている
+\item \textit{Nq}の中身の文字コードについて,「直後への\Param{xkanjiskip}の挿入」が禁止されている
 (つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが2以上).
-\item \textit{Np}の中身の文字コードについて,「直前への\Param{\hyperlink{fld:xks}{xkanjiskip}}の挿入」が禁止されている
+\item \textit{Np}の中身の文字コードについて,「直前への\Param{xkanjiskip}の挿入」が禁止されている
 (つまり,\Param{jaxspmode}~(or \Param{alxspmode})パラメタが偶数).
 \end{itemize}
-\item ユーザ側から見た\Param{\hyperlink{fld:xks}{xkanjiskip}}パラメタの自然長が${\tt \textbackslash maxdimen}=(2^{30}-1)\,{\rm sp}$で
-なければ,\Param{\hyperlink{fld:xks}{xkanjiskip}}パラメタの値を持つglueを採用する.
+\item ユーザ側から見た\Param{xkanjiskip}パラメタの自然長が$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$で
+なければ,\Param{xkanjiskip}パラメタの値を持つglueを採用する.
 \item 2.でない場合は,\textit{Nq}, \textit{Np}(\textsf{和文A}/\textsf{和文B}なのは片方だけ)
-で使われているJFMに指定されている\Param{\hyperlink{fld:xks}{xkanjiskip}}の値を用いる.
+で使われているJFMに指定されている\Param{xkanjiskip}の値を用いる.
 \end{enumerate}
 \end{description}
 
@@ -6423,7 +7135,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \textsf{和文A}のクラスタが逆になるので,\textsf{Boundary-A~[\OA]}の部分が変わるだけ.
 \begin{itemize}
 \item 「右空白」については,まず以下に述べる\textsf{Boundary-A~[\OA]}により空白を決定しようと試みる.
-それが失敗した場合は,\textsf{\Param{\hyperlink{fld:xks}{xkanjiskip}}~[X]}によって定める.
+それが失敗した場合は,\textsf{\Param{xkanjiskip}~[X]}によって定める.
 %\item \textit{Nq}が和文でないので,「左空白」は算出されない.
 \item 禁則用ペナルティは,以前述べた\textsf{P-normal~[PN]}と同じである.
 \end{itemize}
@@ -6433,7 +7145,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \textsf{JFM-origin~[M]}の変種と考えて良い.
 これによって定まる空白の典型例は,欧文文字と和文の開き括弧との間に入る半角アキである.
 \begin{enumerate}
-\item もし両クラスタの間で \verb+\inhibitglue+ が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
+\item もし両クラスタの間で \cs{inhibitglue} が実行されていた場合(証としてwhatsitノードが自動挿入される),次へ.
 \item そうでなければ,
 「文字コードが {\tt'jcharbdd'} の文字」と\textit{Np}との間に入るグルー/カーンとして定まる.
 \end{enumerate}
@@ -6450,13 +7162,13 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 %\item 「左空白」については,既に述べた\textsf{line-end~[E]}の算出方法をそのまま採用する.それに伴う「右空白」の補正も同じ.
 \item 禁則用ペナルティの処理は,後ろのクラスタ\textit{Np}の種類によって異なる.
 なお,$\mathit{Np}.\mathit{head}$は無意味であるから,
-「$\mathit{Np}.\mathit{head}$に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値」は0とみなされる.言い換えれば,
+「$\mathit{Np}.\mathit{head}$に対する\Param{prebreakpenalty}の値」は0とみなされる.言い換えれば,
 \[
- a:=(\text{\textit{Nq}の文字に対する\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値}).
+ a:=(\text{\textit{Nq}の文字に対する\Param{postbreakpenalty}の値}).
 \]
 \begin{description}
 \item[箱] \textit{Np}が\textsf{箱}であった場合は,両クラスタの間での行分割は
-(明示的に両クラスタの間に \verb+\penalty10000+ があった場合を除き)いつも許容される.そのため,
+(明示的に両クラスタの間に \cs{penalty10000} があった場合を除き)いつも許容される.そのため,
 ペナルティ処理は,後に述べる\textsf{P-allow~[PA]}が\textsf{P-normal~[PN]}の代わりに用いられる.
 \item[グルー] \textit{Np}がグルーの場合,ペナルティ処理は\textsf{P-normal~[PN]}を用いる.
 \item[カーン] \textit{Np}がカーンであった場合は,両クラスタの間での行分割は
@@ -6488,7 +7200,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 (a)部分にペナルティが存在していない場合,
 \textit{Nq}と\textit{Np}の間の行分割は元々不可能のはずだったのであるが,
 \LuaTeX-ja はそれをわざわざ行分割可能にはしない.
-そのため,「右空白」がglueであれば,その直前に \verb+\penalty10000+ を挿入する.
+そのため,「右空白」がglueであれば,その直前に \cs{penalty10000} を挿入する.
 \end{description}
 
 なお,「右空白」はカーンの%,「左空白」は未定義の
@@ -6496,7 +7208,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
  \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
 \]
 のような状況を考える.
-このとき,$a$,即ち「あ」の\Param{\hyperlink{fld:postbp}{postbreakpenalty}}がいかなる値であっても,
+このとき,$a$,即ち「あ」の\Param{postbreakpenalty}がいかなる値であっても,
 この2クラスタ間は最終的に
 \begin{equation}
  \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
@@ -6504,7 +7216,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \label{eq-gref}
 \end{equation}
 となり,$a$分のペナルティは挿入されないことに注意して欲しい.
-\Param{\hyperlink{fld:postbp}{postbreakpenalty}}は($a$は)殆どの場合が非負の値と考えられ,そのような場合では
+\Param{postbreakpenalty}は($a$は)殆どの場合が非負の値と考えられ,そのような場合では
 \eqref{eq-gref}と
 \[
  \overbrace{\Node{glyph}{`あ'}}^{\mathit{Nq}}\longrightarrow
@@ -6526,7 +7238,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
 \item 禁則用ペナルティの処理は,\textit{Nq}の種類によって異なる.
 $\mathit{Nq}.\mathit{tail}$は無意味なので,
 \[
- a:=(\text{\textit{Np}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}}の値}).
+ a:=(\text{\textit{Np}の文字に対する\Param{prebreakpenalty}の値}).
 \]
 \begin{description}
 \item[箱] \textit{Nq}が\textsf{箱}の場合は,\textsf{P-allow~[PA]}を用いる.
@@ -6552,7 +7264,7 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
 \item \textsf{和文B}と箱・グルー・カーンが隣接したとき(どちらが前かは関係ない),間にJFMグルー・ペナルティの挿入は一切しない.
 \item \textsf{和文B}と\textsf{和文B},また\textsf{和文B}と\textsf{欧文}とが隣接した時は,禁則用ペナルティ挿入処理は
 \textsf{P-suppress~[PS]}が用いられる.
-\item \textsf{和文B}の文字に対する\Param{\hyperlink{fld:prebp}{prebreakpenalty}},~\Param{\hyperlink{fld:postbp}{postbreakpenalty}}の値は使われず,0として計算される.
+\item \textsf{和文B}の文字に対する\Param{prebreakpenalty},~\Param{postbreakpenalty}の値は使われず,0として計算される.
 \end{itemize}
 
 
@@ -6563,10 +7275,10 @@ $\mathit{Nq}.\mathit{tail}$は無意味なので,
 あ.A
 \end{LTXexample}
 \begin{itemize}
-\item 1行目の\verb+\inhibitglue+は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
-\Param{\hyperlink{fld:xks}{xkanjiskip}}(四分アキ)が入ることに注意.
+\item 1行目の\cs{inhibitglue}は\textsf{Boundary-B~[\OB]}の処理のみを抑止するので,ピリオドと「A」の間には
+\Param{xkanjiskip}(四分アキ)が入ることに注意.
 \item 2行目のピリオドと「A」の間においては,前者が\textsf{和文B}となる(hboxの中身の末尾として登場しているから)ので,
-そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{\hyperlink{fld:xks}{xkanjiskip}}が入ることとなる.
+そもそも\textsf{Boundary-B~[\OB]}の処理は行われない.よって,\Param{xkanjiskip}が入ることとなる.
 \item 3行目では,ピリオドの属するクラスタは\textsf{和文A}である.これによって,
 ピリオドと「A」の間には\textsf{Boundary-B~[\OB]}由来の半角アキが入ることになる.
 \end{itemize}
@@ -6650,9 +7362,9 @@ Consider the following input:
 \end{lstlisting}
 %<*en>
 before the line is actually processed.
-In the escape (between the character ``\verb+#+''), 
+In the escape (between the character ``\verb+#+''),
 the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}).
-Hence the control symbol ``\verb+\+\IVSA FFFFF'' will be executed,
+Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed,
 instead of ``\verb+\ほげ+''.
 %</en>
 %<*ja>
@@ -6660,14 +7372,14 @@ instead of ``\verb+\ほげ+''.
 「\verb+#+」で挟まれた「\LaTeX へのエスケープ」中では\
 \texttt{U+FFFFF} のカテゴリーコードは9~(\textit{ignored})となるので,
 結局「\verb+\ほげ+」の代わりに
-「\verb+\+\IVSA FFFFF」というcontrol symbolが実行されることになる.
+「\cs{}\IVSA FFFFF」というcontrol symbolが実行されることになる.
 %</ja>
 
 %<*ja>
 \paragraph{異体字セレクタの扱い}
 \texttt{lstlisting} 環境などの内部にある異体字セレクタを扱うため,
 \Pkg{lltjp-listings} では \texttt{vsraw} と \texttt{vscmd} という2つのキーを追加した.
-しかし,\Pkg{lltjp-listings} が実際にロードされるのは \verb+\begin{document}+\ 
+しかし,\Pkg{lltjp-listings} が実際に読み込まれるのは \verb+\begin{document}+\
 のところであるので,プリアンブル内ではこれらの追加キーは使用できない.
 
 \texttt{vsraw}は,ブール値の値をとるキーであり,標準ではfalseである.
@@ -6684,7 +7396,7 @@ instead of ``\verb+\ほげ+''.
 どのような形で出力されるかを規定するのが \texttt{vscmd} キーであり,
 \Pkg{lltjp-listings} の標準設定では以下の例の右側のように出力される.
 \begin{LTXexample}
-\begin{lstlisting}[vsraw=false, 
+\begin{lstlisting}[vsraw=false,
    vscmd=\ltjlistingsvsstdcmd]
 葛󠄀城市,葛󠄁飾区,葛西
 \end{lstlisting}
@@ -6703,7 +7415,7 @@ instead of ``\verb+\ほげ+''.
 \lstset{vscmd=\IVSB}
 \end{lstlisting}
 \end{itemize}
-既定の出力命令を復活させたい場合は\ \verb+vsraw=\ltjlistingsvsstdcmd+\ 
+既定の出力命令を復活させたい場合は\ \verb+vsraw=\ltjlistingsvsstdcmd+\
 とすれば良い.
 %</ja>
 
@@ -6737,7 +7449,7 @@ for the name of identifiers or not.
 %<*en>
 For Japanese characters, line breaks are permitted on both sides
 except for brackets, dashes, etc.
-Hence the patch \Pkg{lltjp-listings} introduces 
+Hence the patch \Pkg{lltjp-listings} introduces
 a new flag \verb+\lst@ifkanji+, which indicates
 whether the previous character is a Japanese character or not.
 For illustration, we introduce following classes of characters:
@@ -6827,8 +7539,8 @@ Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
 %<ja>\item 「収集」は,後側の文字を,現在収集された文字列に追加(行分割不可)を意味する.
 \end{itemize}
 
-%<*en> 
-Charatcers above \texttt{U+0080} \emph{except Variation Selectors}
+%<*en>
+Characters above \texttt{U+0080} \emph{except Variation Selectors}
 are classified into above 5~classes by the following rules:
 %</en>
 %<*ja>
@@ -6842,11 +7554,11 @@ Letter, Other, Kanji, Open, Closeのどれに属するかは次によって決
 %<en>\item \textbf{JAchar}s are classified in the order as follows:
 %<ja>\item \textbf{JAchar}については,以下の順序に従って文字種を決める:
 \begin{enumerate}
-%<en>\item Characters whose \Param{\hyperlink{fld:prebp}{prebreakpenalty}} is greater than or equal to 0 are classified as Open.
-%<ja>\item \Param{\hyperlink{fld:prebp}{prebreakpenalty}}が0以上の文字はOpen扱いである.
+%<en>\item Characters whose \Param{prebreakpenalty} is greater than or equal to 0 are classified as Open.
+%<ja>\item \Param{prebreakpenalty}が0以上の文字はOpen扱いである.
 
-%<en>\item Characters whose \Param{\hyperlink{fld:postbp}{postbreakpenalty}} is greater than or equal to 0 are classified as Close.
-%<ja>\item \Param{\hyperlink{fld:postbp}{postbreakpenalty}}が0以上の文字はClose扱いである.
+%<en>\item Characters whose \Param{postbreakpenalty} is greater than or equal to 0 are classified as Close.
+%<ja>\item \Param{postbreakpenalty}が0以上の文字はClose扱いである.
 
 %<en>\item Characters that don't satisfy the above two conditions are classified as Kanji.
 %<ja>\item 上の3条件のどちらにも当てはまらなかった文字は,Kanji扱いである.
@@ -6854,7 +7566,7 @@ Letter, Other, Kanji, Open, Closeのどれに属するかは次によって決
 \end{itemize}
 
 %<*en>
-The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F}) 
+The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F})
 is same as the width of \textbf{ALchar};
 the width of the other \textbf{JAchar}s is double the width of \textbf{ALchar}.
 %</en>
@@ -6878,8 +7590,8 @@ the \texttt{lstlisting} environment or other environments/commands.
 べる.大まかに述べると,次のようになる.
 \begin{itemize}
 \item 通常の\TeX の行分割方法に従って,段落を行分割する.この段階では,行
-      長に半端が出た場合,その半端分は\textbf{JAglue}(\Param{\hyperlink{fld:xks}{xkanjiskip}},
-      \Param{\hyperlink{fld:kanjiskip}{kanjiskip}},JFMグルー)と
+      長に半端が出た場合,その半端分は\textbf{JAglue}(\Param{xkanjiskip},
+      \Param{kanjiskip},JFMグルー)と
       それ以外のグルーの全てで(優先順位なく)負担される.
 \item その後,\texttt{post\_linebreak\_filter} callbackを使い,\emph{段
       落中の各行ごとに},行末文字の位置を調整したり,優先度付きの行長調整
@@ -6910,8 +7622,8 @@ the \texttt{lstlisting} environment or other environments/commands.
   \ref{ssec-jfm-str}節にあるように,
   各JFMグルーには$-2$から2までの優先度がついている.}%
 別にまとめられる)
-\item 和欧文間空白(\Param{\hyperlink{fld:xks}{xkanjiskip}})
-\item 和文間空白(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})
+\item 和欧文間空白(\Param{xkanjiskip})
+\item 和文間空白(\Param{kanjiskip})
 \end{itemize}
 の$1+1+5+1=8$つに類別し,それぞれの種別ごとに
 許容されている伸び量(\texttt{stretch}の値)の合計を計算する.
@@ -6932,7 +7644,7 @@ JFM中にある文字クラス$n$の定義の
   [2] = {
     chars = { '。', ... }, width = 0.5, ...,
     end_stretch = 0.5, end_shrink = 0.5,
-  }, 
+  },
 \end{verbatim}
 という指定があった場合,この行末の句点は
 \begin{itemize}
@@ -6950,7 +7662,7 @@ JFM中にある文字クラス$n$の定義の
 \subsection{グルーの調整}
 \textit{total}の分だけが,行中のグルーの伸び量に応じて負担されることになる.
 負担するグルーの優先度は以下の順であり,
-できるだけ\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}を自然長のままにすることを
+できるだけ\Param{kanjiskip}を自然長のままにすることを
 試みている.
 \begin{enumerate}\def\labelenumi{(\Alph{enumi})}
  \item \textbf{JAglue}以外のグルー
@@ -6959,8 +7671,8 @@ JFM中にある文字クラス$n$の定義の
  \item 優先度0のJFMグルー
  \item 優先度$-1$のJFMグルー
  \item 優先度$-2$のJFMグルー
- \item \Param{\hyperlink{fld:xks}{xkanjiskip}}
- \item \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}
+ \item \Param{xkanjiskip}
+ \item \Param{kanjiskip}
 \end{enumerate}
 \begin{enumerate}
  \item 行末の和文文字を移動したことで$\textit{total}=0$となれば,
@@ -7015,18 +7727,18 @@ JFM中にある文字クラス$n$の定義の
 
 しかし,単に$p.\textit{char}$を変更するだけでは,後から
 font featureの適用(すぐ下)により置換される可能性がある.そのため,
-\verb+\CID+ や \verb+\UTF+ と同じように,\textit{glyph\_node}~$p$の代わりに
+\cs{CID} や \cs{UTF} と同じように,\textit{glyph\_node}~$p$の代わりに
 \texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを用いている.
 \item[(\Pkg{luaotfload} によるfont featureの適用)]
 \item[\tt ltj.otf] \texttt{user\_id} が\textit{char\_by\_cid}であるようなuser-defined whatsitを
-きちんと\textit{glyph\_node}に変換する.この処理は,\verb+\CID+, \verb+\UTF+やIVSによる置換が,
+きちんと\textit{glyph\_node}に変換する.この処理は,\cs{CID}, \cs{UTF}やIVSによる置換が,
 font featureの適用で上書きされてしまうのを防止するためである.
 \item[\tt ltj.main\_process] \textbf{JAglue}の挿入処理(\ref{sec-jfmglue}章)と,
 JFMの指定に従って各\textbf{JAchar}の「寸法を補正」することを行う.
 \end{description}
 
 問題は各フォントの持っているIVS情報をどのように取得するか,である.
-\Pkg{luaotfload} はフォント番号<font\_number>の情報を\ 
+\Pkg{luaotfload} はフォント番号<font\_number>の情報を\
 \texttt{fonts.hashes.identifiers[<font\_number>]} 以下に格納している.
 しかし,OpenTypeフォントのIVS情報は格納されていないようである%
 \footnote{TrueTypeフォントに関しては,
@@ -7042,7 +7754,7 @@ JFMの指定に従って各\textbf{JAchar}の「寸法を補正」すること
 OpenTypeフォントでもTrueTypeフォントでもIVS情報が格納されている.
 具体的には……
 
-そのため,\LuaTeX-jaのIVS対応においては,\LuaTeX 内部の\ 
+そのため,\LuaTeX-jaのIVS対応においては,\LuaTeX 内部の\
 \texttt{fontloader} を直接用いることで,フォントのIVS情報を取得している.
 20140114.0以降でキャッシュを用いるようにした要因はここにあり,
 \texttt{fontloader} の呼び出しでかなり時間を消費することから,
@@ -7053,7 +7765,7 @@ IVS情報をキャッシュに保存することで2回目以降の実行時間
 \section{複数フォントの「合成」(未完)}
 
 \section{\LuaTeX-jaにおけるキャッシュ}
-\Pkg{luaotfload}パッケージが,各TrueType・]OpenTypeフォントの情報を
+\Pkg{luaotfload}パッケージが,各TrueType・OpenTypeフォントの情報を
 キャッシュとして保存しているのと同様の方法で,
 \LuaTeX-jaもいくつかのキャッシュファイルを作成するようになった.
 \begin{itemize}
@@ -7076,7 +7788,7 @@ LuaJIT\TeX 用のは \texttt{.lub} と拡張子を変えることで対応して
 %</ja>
 %<*en>
 \section{Cache Management of \LuaTeX-ja}
-\LuaTeX-ja creates some cache files to reduce the loading time. 
+\LuaTeX-ja creates some cache files to reduce the loading time.
 in a similar way to the \Pkg{luaotfload} package:
 \begin{itemize}
  \item Cache files are usually stored in (and loaded from)
@@ -7087,9 +7799,9 @@ caches of the \emph{binary}, precompiled form are supported.
  \item We cannot share same binary cache for \LuaTeX\ and LuaJIT\TeX.
 Hence we distinguish them by their extension, ``\texttt{.luc}'' for \LuaTeX\
 and ``\texttt{.lub}'' for LuaJIT\TeX.
- \item In loading a cache, the binary cache precedes 
+ \item In loading a cache, the binary cache precedes
 the text form.
- \item When \LuaTeX-ja updates a cache \texttt{hoge.lua}, 
+ \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
 its binary version is also updated.
 \end{itemize}
 \end{itemize}
@@ -7101,7 +7813,7 @@ its binary version is also updated.
 \LuaTeX-ja では以下の3種類のキャッシュを使用している:
 \begin{list}{}%
 {\def\makelabel#1{\ttfamily#1}}
-\item[ltj-cid-auto-adobe-japan1.lua] 
+\item[ltj-cid-auto-adobe-japan1.lua]
 Ryumin-Lightのような非埋め込みフォントの情報を格納しており,
 (それらが\LuaTeX-jaの標準和文フォントなので)\LuaTeX-jaの読み込み時に自動で読まれる.
 生成には\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}という2つの
@@ -7120,20 +7832,20 @@ CMapが必要である.
 \LuaTeX-ja uses the following cache:
 \begin{list}{}%
 {\def\makelabel#1{\ttfamily#1}}
-\item[ltj-cid-auto-adobe-japan1.lua] 
+\item[ltj-cid-auto-adobe-japan1.lua]
 The font table of a CID-keyed non-embedded Japanese font.
 This is loaded in every run.
 It is created from two CMaps, \texttt{UniJIS2004-UTF32-H} and
-            \texttt{Adobe-Japan1-UCS2}, 
+            \texttt{Adobe-Japan1-UCS2},
 and this is why these two CMaps are needed in the first run of \LuaTeX-ja.
 
-Similar caches are created as Table~\ref{tab:cid-cache}, 
-if you specified \texttt{cid} key in \verb+\jfont+
+Similar caches are created as Table~\ref{tab:cid-cache},
+if you specified \texttt{cid} key in \cs{jfont}
 to use other CID-keyed non-embedded fonts for Chinese or Korean,
 as in Page~\pageref{para-cid}.
 
 \item[ivs\_***.lua]
-This file stores the table of Unicode variants in a font ``\texttt{***}''. 
+This file stores the table of Unicode variants in a font ``\texttt{***}''.
 The structure of the table is the following:
 %</en>
 
@@ -7180,7 +7892,7 @@ return {
 %</ja>
 %<*en>
 \item[ltj-jisx0208.\{luc|lub\}]
-The binary version of \texttt{ltj-jisx0208.lua}. 
+The binary version of \texttt{ltj-jisx0208.lua}.
 This is the conversion table between JIS~X~0208 and Unicode
 which is used in Kanji-code conversion commands for compatibility with \pTeX.
 %</en>
@@ -7190,18 +7902,18 @@ which is used in Kanji-code conversion commands for compatibility with \pTeX.
 \subsection{Internal}
 Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
 (\texttt{ltj-base.lua}).
-There are three public functions for cache management in \texttt{luatexja.base}, 
-where <filename> stands for the filename \emph{without suffix}:
+There are three public functions for cache management in \texttt{luatexja.base},
+where <filename> stands for the file name \emph{without suffix}:
 \begin{list}{}%
 {\def\makelabel#1{\ttfamily#1}}
 \item[save\_cache(<filename>, <data>)]
 Save a non-nil table <data> into a cache <filename>.
-Both the text form <filename>\texttt{.lua} and its binary version 
+Both the text form <filename>\texttt{.lua} and its binary version
 are created or updated.
 
-\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\ 
+\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\
 
-Same as \texttt{save\_cache}, except that only the binary cache is updated. 
+Same as \texttt{save\_cache}, except that only the binary cache is updated.
 The third argument <serialized\_data> is not usually given.
 But if this is given, it is treated as a string representation of <data>.
 
@@ -7210,11 +7922,11 @@ Load the cache <filename>.
 <outdate> is a function which takes one argument (the contents of the cache),
 and its return value is whether the cache is outdated.
 
-\texttt{load\_cache} first tries to 
+\texttt{load\_cache} first tries to
 read the binary cache <filename>\texttt{.\{luc|lub\}}.
 If its contents is up-to-date, \texttt{load\_cache} returns the contents.
-If the binary cache is not found or 
-its contents is outdated, \texttt{load\_cache} tries to 
+If the binary cache is not found or
+its contents is outdated, \texttt{load\_cache} tries to
 read the text form <filename>\texttt{.lua}.
 Hence, the return value of \texttt{load\_cache} is non-nil,
 if and only if the updated cache is found.
@@ -7232,7 +7944,7 @@ nilでない<data>をキャッシュ<filename>に保存する.
 テキスト形式の<filename>\texttt{.lua}のみならず,
 そのバイナリ版も作成/更新される.
 
-\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\ 
+\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]\
 
 \texttt{save\_cache}と同様だが,バイナリキャッシュのみが更新される.
 第3引数<serialized\_data>が与えられた場合,それを
@@ -7255,18 +7967,84 @@ nilでない<data>をキャッシュ<filename>に保存する.
 \end{list}
 %</ja>
 
+
+%<*ja>
+\section{縦組の実装}
+\label{sec-dir-imp}
+\ref{sec-direction}章の最初でも述べたように,
+\LuaTeX-jaは横組(\texttt{TLT})で組んだボックスを回転させる方式で
+縦組を実装している.
+
+\LuaTeX-jaにおける縦組の実装は
+\pTeX における実装(\cite{ptexdoc,ptextug})をベースにしており,……
+
+\subsection{\textit{direction}~whatsit}
+\textit{direction}~whatsitとは,\textit{direction}という特定の \verb+user_id+ を持つ
+whatsitのことである.このwhatsitは,以下の3つの役割がある.
+\begin{enumerate}
+\def\labelenumi{(\roman{enumi})}
+ \item 「現在作成中のリストの組方向が \cs{tate} 等により変更された」ことを表す.\\
+「現在の組方向」は \verb+\ltj@dir@count+ というカウンタに格納されているが,それだけでは
+\verb+hpack_filter+コールバックなどから正しく処理対象のリストの組方向を正しく取得すること
+       はできない(\ref{ssec-stack}節参照)ため,このように別途whatsitを用いている.
+ \item \cs{hbox},~\cs{vbox}によって作成されたボックスの組方向を表す.\\
+原則として,ボックスの組方向はattribute \verb+\ltj@dir+ に格納されることになっている.しか
+       し,新規に作成されるボックスのattributeをコールバックの内部から制御するには,
+\verb+tex.setattribute+ による方法しかなく,これは不安定である.
+
+なお,この役割のdirection whatsitは,次の(iii)の役割も一緒に持っている.
+ \item 「異方向における寸法」の記録用.\\
+例えば \cs{box0} に横組のボックスが格納されている時,縦組や \cs{dtou} 方向
+における寸法値は((ii)の役割として作成された)direction~whatsitが
+格納しているノードリストに格納される.
+\end{enumerate}
+このように複数の役割をもたせているので,
+\begin{verbatim}
+% yoko direction
+\setbox0=\hbox{\tate B}
+\noindent \unhbox0 A
+\end{verbatim}
+のような場合に,「(ii)の役割の\textit{direction}~whatsitが(i)の役割として認識され,
+このリストは縦組とみなされるのではないか?」と思うかもしれない.しかし,
+(i)の役割と(ii)の枠割の\textit{direction}~whatsitは \verb+\ltj@icflag+ の値により
+区別されているので,そのような混乱は起こらない.
+
+\medskip
+(ii)の役割のdirection whatsitは,各ボックスの内容を表すリストの先頭に挿入されるが,
+例外が以下の2つある:
+\begin{itemize}
+ \item \verb+\hbox{}+, \verb+\vbox{}+ といった,
+\begin{itemize}
+ \item \cs{tate} 等によりボックス内部の組方向を変更していない
+ \item ボックスの中身のリストが空である
+\end{itemize}
+場合は,\LuaTeX の \verb+hpack_filter+, \verb+vpack_filter+ といった
+callbackに処理が回らないので,この場合にはdirection whatsitは挿入されない.
+ \item \verb+\vtop{...}+ の場合は,先頭にdirection whatsitを置くと
+ボックスの高さが正しく設定されない.そのため,この場合に限っては
+direction whatsitはリストの2番目に挿入されることとなる.
+\end{itemize}
+
+\subsection{異方向のボックスの整合処理}
+縦中横など異方向のボックスを配置する場合に,周囲の組方向と大きさを整合させるため,
+\LuaTeX-jaでは \verb+\ltj@dir+ が128以降の\textit{hlist\_node}, \textit{vlist\_node}を
+用いる.これらは\pTeX における\textit{dir\_node}の役割と同じ果たしており,
+この文章中でも\textit{dir\_node}と呼称する.
+
+%</ja>
+
 \begin{thebibliography}{99}
   \addcontentsline{toc}{section}{\refname}
 \bibitem{texbytopic}
 Victor Eijkhout. \newblock \textit{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
 \bibitem{listings} C.\ Heinz, B.\ Moses. \newblock The \textsf{Listings} Package.
 \bibitem{uptex} Takuji Tanaka. \newblock
-upTeX---Unicode version of pTeX with CJK extensions, 
+upTeX---Unicode version of pTeX with CJK extensions,
 TUG 2013, October 2013.
 %<ja>\newblock
 %<en>\\\null\hfill
 \url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
-\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert. 
+\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
 %<en>\newblock
 %<ja>\\\null\hfill
 \url{http://mytexpert.sourceforge.jp/index.php?Listings}
@@ -7274,10 +8052,14 @@ TUG 2013, October 2013.
 Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
 \url{http://www.w3.org/TR/jlreq/}%
 %<ja> \\日本語訳の書籍版:W3C日本語組版タスクフォース(編),『W3C技術ノート 日本語組版処理の要件』,東京電機大学出版局,2012.
-\bibitem{min10} ä¹\99é\83¨å\8e³å·±ï¼\8cmin10フォントについて.\\\null\hfill
+\bibitem{min10} ä¹\99é\83¨å\8e³å·±ï¼\8emin10フォントについて.\\\null\hfill
 \url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
-\bibitem{x4051} 日本工業規格(Japanese Industrial Standard), JIS~X~4051,
+\bibitem{x4051} 日本工業規格(Japanese Industrial Standard). JIS~X~4051,
 日本語文書の組版方法(Formatting rules for Japanese documents), 1993, 1995, 2004.
+\bibitem{ptexdoc} 濱野尚人,田村明史,倉沢良一.\TeX の出版への応用—縦組み機能の組み込み—.
+\\\null\hfill\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
+\bibitem{ptextug} Hisato Hamano. \newblock
+\textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
 \end{thebibliography}
 
 \newpage