-%#! lualatex -shell-escape manual.ins
+%<*!showexpl>
+%#! lualatex -shell-escape
-%<*en>
-\documentclass[a4paper,titlepage]{article}
-\usepackage[margin=25mm,footskip=5mm]{geometry}
+%<en> \documentclass[a4paper,titlepage]{article}
+%<ja> \documentclass[a4paper,titlepage]{ltjsarticle}
+%<zh> \documentclass[a4paper,titlepage]{ltjsarticle}
+
+%%%%%%%%
+\makeatletter
+%%%%%%%%
+
+%%%%%%%% record loaded packages
+\let\ltjpkglist\empty
+\newif\if@real@append@list
+\def\@append@newentry#1#2{{%
+ \@real@append@listtrue \def\@tempa{#2}%
+ \let\@pkglist\@append@newentry@pkglist#1%
+ \if@real@append@list
+ \let\@pkglist=\relax\xdef#1{#1\@pkglist{#2}}%
+ \fi}}
+\def\@append@newentry@pkglist#1{%
+ \def\@tempb{#1}%
+ \ifx\@tempa\@tempb\@real@append@listfalse\fi}
+\def\@addtofilelist#1{\@append@newentry\ltjpkglist{#1}}
+\let\@listfiles\empty
+
+%<*en>
+\usepackage[margin=25mm,footskip=6mm]{geometry}
+\parskip=\smallskipamount
%</en>
%<*ja>
-\documentclass[a4paper,titlepage]{ltjsarticle}
-\usepackage[margin=25mm, footskip=5mm]{geometry}
+\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
%</ja>
+%<*zh>
+\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
+\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
+\def\postpartname{编}
+\DeclareYokoKanjiEncoding{ZH}{}{}
+\DeclareKanjiEncodingDefaults{}{}
+\DeclareErrorKanjiFont{ZH}{song}{m}{n}{10}
+\DeclareKanjiSubstitution{ZH}{song}{m}{n}
+\newcommand\songdefault{song}
+\newcommand\heidefault{hei}
+\newcommand\minchodefault{mincho}
+\renewcommand\kanjiencodingdefault{ZH}
+\renewcommand\kanjifamilydefault{\songdefault}
+\renewcommand\kanjiseriesdefault{\mddefault}
+\renewcommand\kanjishapedefault{\updefault}
+\DeclareKanjiFamily{ZH}{song}{}
+\DeclareFontShape{ZH}{song}{m}{n}{<->name:AdobeSongStd-Light:jfm=jis}{}
+\DeclareFontShape{ZH}{song}{m}{it}{<->ssub*song/m/n}{}
+\DeclareFontShape{ZH}{song}{bx}{n}{<->ssub*hei/m/n}{}
+\DeclareKanjiFamily{ZH}{hei}{}
+\DeclareFontShape{ZH}{hei}{m}{n}{<->name:SimHei:jfm=jis}{}
+\DeclareFontShape{ZH}{hei}{bx}{n}{<->ssub*hei/m/n}{}
+\DeclareKanjiFamily{ZH}{mincho}{}
+\DeclareFontShape{ZH}{mincho}{m}{n}{<->psft:KozMinPr6N-Regular:cid=Adobe-Japan1-6;jfm=jis}{}
+\fontencoding{ZH}\selectfont
+\DeclareTextFontCommand{\textsong}{\songfamily}
+\DeclareTextFontCommand{\texthei}{\heifamily}
+\DeclareTextFontCommand{\textmincho}{\minchofamily}
+\DeclareOldFontCommand{\song}{\normalfont\songfamily}{}
+\DeclareOldFontCommand{\hei}{\normalfont\heifamily}{}
+\DeclareOldFontCommand{\mincho}{\normalfont\minchofamily}{}
+\DeclareSymbolFont{songti}{ZH}{song}{m}{n}
+\jfam\symsongti
+\SetSymbolFont{songti}{bold}{ZH}{hei}{m}{n}
+\DeclareSymbolFontAlphabet{\mathsong}{songti}
+\DeclareMathAlphabet{\mathhei}{ZH}{hei}{m}{n}
+\DeclareRobustCommand\songfamily{\not@math@alphabet\songfamily\mathsong\kanjifamily\songdefault\selectfont}
+\DeclareRobustCommand\heifamily{\not@math@alphabet\heifamily\mathhei\kanjifamily\heidefault\selectfont}
+\DeclareRobustCommand\minchofamily{\not@math@alphabet\minchofamily\mathhei\kanjifamily\minchodefault\selectfont}
+\DeclareRobustCommand\rmfamily{\not@math@alphabet\rmfamily\mathrm\romanfamily\rmdefault\kanjifamily\songdefault\selectfont}
+\DeclareRobustCommand\sffamily{\not@math@alphabet\sffamily\mathsf\romanfamily\sfdefault\kanjifamily\heidefault\selectfont}
+%</zh>
+
+\usepackage{amsmath,tikz,pict2e,multienum,float}
+\usepackage{booktabs,multicol}
+
+%%%%%%%% listings
+\usepackage{listings,showexpl}
+\lstset{
+ basicstyle=\ttfamily\small, pos=r, breaklines=true,
+ numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
+ explpreset={numberstyle=\tiny, numbers=left, numbersep=1em}
+}
+% Suppress output from showexpl to stdout.
+\let\SX@Info\relax
+
+%%%%%%%% hyperref
+\usepackage{hyperref}
+%<*en>
+\title{The \LuaTeX-ja package}
+\author{The \LuaTeX-ja project team}
+%</en>
+%<*ja>
+\title{\LuaTeX-jaパッケージ}
+\author{\LuaTeX-jaプロジェクトチーム}
+%</ja>
+%<*zh>
+\title{\LuaTeX-ja宏包}
+\author{\LuaTeX-ja项目团队}
+%</zh>
+\hypersetup{%
+ unicode,
+ colorlinks,
+ allbordercolors=1 1 1,
+ allcolors=blue,
+%<*en>
+ pdfauthor={The LuaTeX-ja project team},
+ pdftitle={The LuaTeX-ja package}
+%</en>
+%<*ja>
+ pdfauthor={LuaTeX-jaプロジェクトチーム},
+ pdftitle={LuaTeX-jaパッケージ}
+%</ja>
+%<*zh>
+ pdfauthor={LuaTeX-ja项目团队},
+ pdftitle={LuaTeX-ja宏包}
+%</zh>
+}
-\usepackage{amsmath,amssymb,xcolor,pict2e,multienum,amsthm,float,makecell}
-\usepackage{mathptmx}
-\usepackage{booktabs,listings,showexpl,multicol}
+%%%%%%%% definition env.
+\usepackage{amsthm}
+\theoremstyle{definition}
+%<en>\newtheorem{defn}{Definition}
+%<ja>\newtheorem{defn}{定義}
+%<zh>\newtheorem{defn}{定义}
+
+%%%%%%%% fonts
\usepackage{luatexja-otf}
-\usepackage{luatexja-fontspec}
-\usepackage[unicode=true]{hyperref}
-\usepackage[all]{xy}
-%<ja> \SelectTips{cm}{}
+\usepackage[jis2004]{luatexja-preset}
+%<!en>\usepackage{amssymb}
%<*en>
-\usepackage{mathptmx}
+\usepackage{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
+\setmathfont{xits-math.otf}
\frenchspacing
%</en>
-\def\labelenumii{(\arabic{enumii})}
+%%%%%%%% logo
+\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
\DeclareRobustCommand\pdfTeX{pdf\TeX}
\DeclareRobustCommand\pLaTeXe{p\kern-.05em\LaTeXe}
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
-\theoremstyle{definition}
-%<en>\newtheorem{defn}{Definition}
-%<ja>\newtheorem{defn}{定義}
-
+%%%%%%%% other macros
\newenvironment{cslist}{%
\leftskip2em\parindent=0pt\def\makelabel##1{{\tt\char92##1}}
\def\{{\char`\{}\def\}{\char`\}}
\def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par}
}{}
-\makeatletter
+\def\labelenumii{(\arabic{enumii})}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{{\small #1. #2}}%
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
-% Suppress output from showexpl to stdout.
-\let\SX@Info\relax
+
+%%%%%%%%
\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}}}}\,}}
-%<*en>
-\title{The \LuaTeX-ja package}
-\author{The \LuaTeX-ja project team}
-%</en>
-%<*ja>
-\title{\LuaTeX-jaパッケージ}
-\author{\LuaTeX-jaプロジェクトチーム}
-%</ja>
-
-\lstset{
- basicstyle=\ttfamily\small, pos=o, breaklines=true,
- numbers=none, rframe={}, basewidth=0.5em
-}
-
-\parskip=\smallskipamount
\protected\def\Param#1{\textsf{#1}} % parameter name
\protected\def\Pkg#1{\underline{\smash{\texttt{#1}}}} % packages/classes
+
\begin{document}
\catcode`\<=13
\def<#1>{{\normalfont\rm\itshape$\langle$#1$\rangle$}}
%<*ja>
\textbf{\large 本ドキュメントはまだまだ未完成です.}
%</ja>
+%<*zh>
+\textbf{\large 本文档尚未完成。}
+%</zh>
\clearpage
%<en>\part{User's manual}
%<ja>\part{ユーザーズマニュアル}
+%<zh>\part{用户手册}
%<en>\section{Introduction}
%<ja>\section{はじめに}
+%<zh>\section{引言}
+
%<*en>
The \LuaTeX-ja package is a macro package for typesetting high-quality
\LuaTeX-jaパッケージは,次世代標準\TeX である\LuaTeX の上で,\pTeX と同等
/それ以上の品質の日本語組版を実現させようとするマクロパッケージである.
%</ja>
+%<*zh>
+\LuaTeX-ja宏包是应用于下一代标准\TeX 引擎亦即\LuaTeX 引擎上的高质量日语文档排版宏包。
+%</zh>
%<en>\subsection{Backgrounds}
%<ja>\subsection{背景}
+%<zh>\section{背景}
+
%<*en>
Traditionally, ASCII \pTeX, an extension of \TeX, and its derivatives
のエンジン拡張であり,(少々仕様上不便な点はあるものの)商業印刷の分野に
も用いられるほどの高品質な日本語組版を可能としている.だが,それは弱点に
もなってしまった:\pTeX という(組版的に)満足なものがあったため,海外で
-è¡\8cã\82\8fã\82\8cã\81¦ã\81\84ã\82\8bæ\95°ã\80\85ã\81®\TeX ã\81®æ\8b¡å¼µâ\94\80â\94\80ä¾\8bã\81\88ã\81°\eTeX ã\82\84\pdfTeX â\94\80â\94\80や,TrueType,
+è¡\8cã\82\8fã\82\8cã\81¦ã\81\84ã\82\8bæ\95°ã\80\85ã\81®\TeX ã\81®æ\8b¡å¼µâ\80\95â\80\95ä¾\8bã\81\88ã\81°\eTeX ã\82\84\pdfTeX â\80\95â\80\95や,TrueType,
OpenType, Unicodeといった計算機で日本語を扱う際の状況の変化に追従すること
を怠ってしまったのだ.
%</ja>
+%<*zh>
+一般情况下,\TeX 下的日语文档输出,是ASCII \pTeX(\TeX 的一个扩展)及其衍生
+软件来完成的。\pTeX 作为\TeX 的一个扩展引擎,在生成高质量的日语文档时,规避
+了繁杂的宏编写。但是在和同时期的引擎相比之下,\pTeX 的处境未免有些尴尬:\pTeX
+已经远远落后于\eTeX 和pdf\TeX,此外也没有跟上计算机上对日文处理的演进(比如,
+UTF-8编码,TrueType字体,OpenType字体)。
+%</zh>
%<*en>
Recently extensions of \pTeX, namely \upTeX\ (Unicode-implementation
\pTeX に対応させようという動きはなく,海外とのgapは未だにあるのが現状であ
る.
%</ja>
+%<*zh>
+最近开发的\pTeX 扩展,即\upTeX(Unicode下的\pTeX 实现)和\epTeX(\pTeX 和
+\eTeX 的融合版本),虽然在部分情况上弥补了上述的差距,但是差距依然存在。
+%</zh>
%<*en>
However, the appearance of \LuaTeX\ changed the whole situation. With
\TeX マクロによって日本語組版を\LuaTeX の上で実現させようという目的で開発
が始まったパッケージである.
%</ja>
+%<*zh>
+不过,\LuaTeX 的出现改变了整个状况。用户可以通过使用Lua语言的“callback”来
+调整\LuaTeX 的内部处理机制。所以,没有必要去通过修改引擎的源代码来支持日文
+排版,相反,我们需要做的仅仅是编写其当处理callback的Lua脚本。
+%</zh>
%<en>\subsection{Major Changes from \pTeX}
%<ja>\subsection{\pTeX からの主な変更点}
+%<zh>\subsection{与\pTeX 的差异所在}
%<*en>
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
\pTeX の完全な移植は目標とはしない.\pTeX における不自然な仕様・挙動があ
れば,そこは積極的に改める.}
%</ja>
+%<*zh>
+\LuaTeX-ja宏包在设计上,受\pTeX 影响很大。最初开发的主要议题是实现\pTeX 的特性。
+不过,{\bf\LuaTeX-ja不是简简单单的移植\pTeX,很多不自然的特征和现象都被移出了。}
+%</zh>
%<*en>
The followings are major changes from \pTeX:
%<*ja>
以下は \pTeX からの主な変更点である.
%</ja>
+%<*zh>
+下面列举出了一些和\pTeX 的差异:
+%</zh>
\begin{itemize}
%<*en>
`variation'.
%</en>
%<*ja>
-\item 和文フォントは(小塚明朝,IPA明朝などの)実際のフォント,和文フォントメトリック(JFMと呼ぶ),そ
- して`variation'と呼ばれる文字列の組である.
+\item 和文フォントは(小塚明朝,IPA明朝などの)実際のフォント,和文フォン
+ トメトリック(JFMと呼ぶ\footnote{混乱を防ぐため,p\TeX の意味での
+ JFM (\texttt{min10.tfm}) などは本ドキュメントでは\textbf{和文用
+ TFM}とよぶことにする.}),そして`variation'と呼ばれる文字列の組で
+ ある.
%</ja>
+%<*zh>
+\item 一个日文字体是由三部分构成的元组:实际的字体(如小塚明
+ 朝,IPA明朝),日文字体测度(\textbf{JFM})和变体字串。
+%</zh>
%<*en>
\item In \pTeX, a line break after Japanese character is ignored (and
直後の改行は無視される(スペースが入らない)ようになっていた.しかし,
\LuaTeX-ja では \LuaTeX の仕様のためにこの機能は完全には実装されていない.
%</ja>
+%<*zh>
+\item \pTeX 中,日文字符之后的断行并不允许(也不产生空格),其他在源码中的断行
+ 是可以随处允许的。不过,因为\LuaTeX 的特殊关系,\LuaTeX-ja并没有这个功能。
+%</zh>
%<*en>
\item The insertion process of glues/kerns between two Japanese
\item 2つの和文文字の間,和文文字と欧文文字の間に入るグルー/カーン
(\textbf{JAglue}と呼ぶ)の挿入処理が0から書き直されている.
%</ja>
+%<*zh>
+\item 插在日文字符和其他字符言之间的胶/出格(我们将此称为\textbf{JAglue})是重新实现的。
+%</zh>
\begin{itemize}
%<*en>
\verb+of{}fice+ で合字は抑制されない),\textbf{JAglue}の挿入処理も
「ノードベース」である.
%</ja>
+%<*zh>
+\item 在\LuaTeX 中,内部的字符处理是“基于node的”(例如:\verb!of{}fice!不会避免合字),
+ \textbf{JAglue}的插入处理,现在也是“基于node的”。
+%</zh>
%<*en>
\item Furthermore, nodes between two characters which have no effects in
\item さらに,2つの文字の間にある行末では効果を持たないノード(例えば \verb+\special+ ノード)や,
イタリック補正に伴い挿入されるカーンは挿入処理中では無視される.
%</ja>
+%<*zh>
+\item 此外,两个字符之间的node在断行时不起作用的(例如,\verb!\special!node),还有
+ 意大利体校正带来的出格在插入处理中也是被忽略的。
+%</zh>
%<*en>
\item \emph{Caution: due to above two points, many methods which did for the
\item \textbf{注意:上の2つの変更により,従来\textbf{JAglue}の挿入処理を分断するのに
使われていたいくつかの方法は用いることができない.具体的には,次の方法はもはや無効である:}
%</ja>
+%<*zh>
+\item \textbf{警告:鉴于以上两点,在\pTeX 中分割\textbf{JAglue}处理的多种方法不再生效。}
+ 明确地说,下列两种方法不再生效:
+%</zh>
\begin{verbatim}
ちょ{}っと ちょ\/っと
\end{verbatim}
%<*ja>
もし同じことをやりたければ,空の水平ボックスを間に挟めばよい:
%</ja>
+%<*zh>
+ 如果想得到此种结果,请使用空盒子替代:
+%</zh>
\begin{verbatim}
ちょ\hbox{}っと
\end{verbatim}
\item 処理中では,2つの和文フォントは,「実際の」フォントのみが異なる場合に同一視
される.
%</ja>
+%<*zh>
+\item 处理过程中,两个在“真实”字体上具区别的日文字体可以被识别出来。
+%</zh>
\end{itemize}
+%<*ja>
+\item \LuaTeX-jaでは,\pTeX と同様に漢字・仮名を制御綴内に用いることができ,
+\verb+\西暦+ などが正しく動作するようにしている.
+但し,制御綴中に使える和文文字が\pTeX・\upTeX と全く同じではないことに注意すること.
+%</ja>
+
%<*en>
\item At the present, vertical typesetting (\emph{tategaki}), is not
supported in \LuaTeX-ja.
%<*ja>
\item 現時点では,縦書きは\LuaTeX-jaではサポートされていない.
%</ja>
+%<*zh>
+\item 当下,\LuaTeX-ja并不支持直行排版。
+%</zh>
\end{itemize}
%<*ja>
詳細については第\ref{part-imp}部を参照.
%</ja>
+%<*zh>
+详细的描述,请参见第\ref{part-imp}编。
+%</zh>
%<en>\subsection{Notations}
%<ja>\subsection{用語と記法}
+%<zh>\subsection{一些约定}
+
%<*en>
In this document, the following terms and notations are used:
%<*ja>
本ドキュメントでは,以下の用語と記法を用いる:
%</ja>
+%<*zh>
+在本文档中,有下面一些约定:
+%</zh>
\begin{itemize}
%<*en>
%<*ja>
\item 文字は2種類に分けられる:
%</ja>
+%<*zh>
+\item 字符被分为两种类型:
+%</zh>
\begin{itemize}
%<*en>
\item \textbf{JAchar}: standing for Japanese characters such as
\item \textbf{JAchar}: ひらがな,カタカナ,漢字,和文用の約物といった和文文字の
ことを指す.
%</ja>
+%<*zh>
+\item \textbf{JAchar}:表示日文字符,如平假名,片假名,汉字,日文标点。
+%</zh>
%<*en>
\item \textbf{ALchar}: standing for all other characters like alphabets.
%<*ja>
\item \textbf{ALchar}: アルファベットを始めとする,その他全ての文字を指す.
%</ja>
+%<*zh>
+\item \textbf{ALchar}:代表其他字母字符。
+%</zh>
\end{itemize}
%<*en>
そして,\textbf{ALchar}の出力に用いられるフォントを「欧文フォント」と呼び,
\textbf{JAchar}の出力に用いられるフォントを「和文フォント」と呼ぶ.
%</ja>
+%<*zh>
+我们将用于\textbf{ALchar}的字体称为“字母字体”,用于\textbf{JAchar}的字体称为“日文字体”。
+%</zh>
%<*en>
\item A word in a sans-serif font (like \Param{prebreakpenalty})
パラメータを表し,これらは \verb+\ltjsetparameter+ コマンドのキーとして
用いられる.
%</ja>
+%<*zh>
+\item 用无衬线字体表示的词(如:\Param{prebreakpenalty})表示
+ 日文排版中的内部便利iang,并用做\verb!\ltjsetparameter!命令一个键。
+%</zh>
%<*en>
\item A word in typewriter font with underline (like \Pkg{fontspec})
means a package or a class of \LaTeX.
%</en>
%<*ja>
-\item ä¸\8bç·\9aä»\98ã\81\8dã\81®ã\82¿ã\82¤ã\83\97ã\83©ã\82¤ã\82¿ä½\93ã\81§æ\9b¸ã\81\8bã\82\8cã\81\9f語(例:\Pkg{fontspec})は\LaTeX の
+\item ä¸\8bç·\9aä»\98ã\81\8dã\82¿ã\82¤ã\83\97ã\83©ã\82¤ã\82¿ä½\93ã\81®語(例:\Pkg{fontspec})は\LaTeX の
パッケージやクラスを表す.
%</ja>
+%<*zh>
+\item 用下划线表示的词(如:\Pkg{fontspec})表示\LaTeX 的宏包或者文档类。
+%</zh>
%<*en>
\item The word `primitive' is used not only for primitives in \LuaTeX,
\item 「プリミティブ」という語を,\LuaTeX のプリミティブだけではなく \LuaTeX-ja
のコアモジュールで定義されたコントロールシーケンスに対しても用いる.
%</ja>
+%<*zh>
+\item “primitive”,该词在本文档中不仅表示\LuaTeX 的基本控制命令,也包括\LuaTeX-ja的相关的基本控制命令
+%</zh>
%<*en>
\item In this document, natural numbers start from~0.
%<*ja>
\item 本ドキュメントでは,自然数は0から始まる.
%</ja>
+%<*zh>
+\item 所有的自然数从0开始
+%</zh>
\end{itemize}
%<en>\subsection{About the project}
%<ja>\subsection{プロジェクトについて}
+%<zh>\subsection{关于本项目}
%<*en>
\paragraph{Project Wiki} Project Wiki is under construction.
%<*ja>
\paragraph{プロジェクトWiki} プロジェクトWikiは構築中である.
%</ja>
+%<*zh>
+\paragraph{项目wiki} 本项目wiki正在编写中。
+%</zh>
%<*en>
\begin{itemize}
\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29} (English)
\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage} (Japanese)
+\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29} (Chinese)
\end{itemize}
%</en>
%<*ja>
\begin{itemize}
\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage}(日本語)
\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}(英語)
+\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}(中国語)
\end{itemize}
%</ja>
-
+%<*zh>
+\begin{itemize}
+\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage}(日语)
+\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}(英语)
+\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}(汉语)
+\end{itemize}
+%</zh>
%<*en>
This project is hosted by SourceForge.JP.
%</en>
%<*ja>
本プロジェクトはSourceForge.JPのサービスを用いて運営されている.
%</ja>
+%<*zh>
+本项目由SourceForge.JP托管。
+%</zh>
%<en>\paragraph{Members}\
%<ja>\paragraph{開発メンバー}\
+%<zh>\paragraph{开发者}\
+
%<*en>
\begin{multienumerate}
\def\labelenumi{$\bullet$}
\mitemxxx{本田 知亮}{齋藤 修三郎}{馬 起園}
\end{multienumerate}
%</ja>
-
+%<*zh>
+\begin{multienumerate}
+\def\labelenumi{$\bullet$}
+\mitemxxx{北川 弘典}{前田 一贵}{八登 崇之}
+\mitemxxx{黒木 裕介}{阿部 纪行}{山本 宗宏}
+\mitemxxx{本田 知亮}{斋藤 修三郎}{马 起园}
+\end{multienumerate}
+%</zh>
% \paragraph{Acknowledgments} -- 挿入するならここ
\clearpage
%<en>\section{Getting Started}
%<ja>\section{使い方}
+%<zh>\section{使用}
%<en>\subsection{Installation}
%<ja>\subsection{インストール}
+%<zh>\subsection{安装}
%<*en>
To install the \LuaTeX-ja\ package, you will need:
%<*ja>
\LuaTeX-jaパッケージのインストールには,次のものが必要である.
%</ja>
+%<*zh>
+安装\LuaTeX-ja之前,需要如下:
+%</zh>
\begin{itemize}
%<*en>
\item \LuaTeX\ (version 0.65.0-beta or later) and its supporting packages.\\
\item \LuaTeX(バージョン 0.65.0-beta 以降)とその支援パッケージ.
\TeX~Live~2011やW32\TeX の最新版ならば問題ない.
%</ja>
+%<*zh>
+\item \LuaTeX(版本号为大于0.65)和相关支持宏包。\\
+如果用户使用的是\TeX Live2011以及最新版本的W32\TeX,可不考虑此项。
+%</zh>
%<*en>
\item The source archive of \LuaTeX-ja, of course\texttt{:)}
%</en>
%<*ja>
\item \LuaTeX-jaのソースアーカイブ(もちろん\texttt{:)}).
%</ja>
+%<*zh>
+\item \LuaTeX-ja的源码(当然喽\texttt{:)})。
+%</zh>
%<*en>
\item The \Pkg{xunicode} package, which version is \emph{just v0.981 (2011/09/09)}.\\
If you have the \Pkg{fontspec} package, this \Pkg{xunicode} package must be exist.
\Pkg{fontspec}パッケージが導入されていればこのパッケージも導入されているはずであるが,
このv0.981以外のバージョンでは\LuaTeX-ja上で正しく動作しない危険性がある.
%</ja>
+%<*zh>
+\Pkg{xunicode}宏包,当前版本必须为\textit{v0.981(2011/09/09)}。\\
+如果你使用\Pkg{fontspec}宏包,\Pkg{xunicode}就必须存在。但是请注意该包的
+版本,其他版本可能不会正常工作。
+%</zh>
\end{itemize}
%<*en>
%<*ja>
インストール方法は以下のようになる:
%</ja>
+%<*zh>
+安装方法如下:
+%</zh>
\begin{enumerate}
%<*en>
\item Download the source archive, by one of the following method.
\item Now \LuaTeX-ja is available from the following archive and distributions:
\begin{itemize}
\item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
+ \item MiK\TeX\ (in \texttt{luatexja.tar.lzma})
\item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
\item 今や,\LuaTeX-jaは以下のアーカイブ,およびディストリビューションにも収録されている:
\begin{itemize}
\item CTAN (\texttt{macros/luatex/generic/luatexja})
+ \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
\item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (\texttt{luatexja.tar.xz})
\end{itemize}
主な開発は\texttt{master}の外で行われ,比較的まとまってきたらそれを\texttt{master}に
反映させることにしている.
%</ja>
+%<*zh>
+\item 按照如下方法下载源码归档。现在,\LuaTeX-ja没有稳定版本。
+
+\begin{itemize}
+\item 复制Git仓库:
+\begin{verbatim}
+$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
+\end{verbatim}
+\item 下载\texttt{master} HEAD版本的\texttt{tar.gz}归档:
+\begin{flushleft}
+\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
+\end{flushleft}
+\item 现在\LuaTeX-ja可以在下列仓库和发行版中获取::
+ \begin{itemize}
+ \item CTAN ( \texttt{macros/luatex/generic/luatexja})
+ \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
+ \item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
+ \item W32\TeX\ (\texttt{luatexja.tar.xz})
+ \end{itemize}
+ 这些版本都基于\texttt{master}分支。
+\end{itemize}
+
+注意\texttt{master}分支和CTAN仓库中的版本,升级并不频繁。
+前段开发并未在\texttt{master}分支。
+%</zh>
%<*en>
\item Extract the archive. You will see \texttt{src/} and several other sub-directories.
\texttt{src/}をはじめとしたいくつかのディレクトリができるが,
動作には\texttt{src/}以下の内容だけで十分.
%</ja>
+%<*zh>
+\item 解压归档。你会看到\texttt{src/}和其他相关文件夹。
+但是只有\texttt{src/}文件夹下的相关文件是\LuaTeX-ja运行所必须的。
+%</zh>
%<*en>
\item Copy all the contents of \texttt{src/} into one of your \texttt{TEXMF} tree.
シンボリックリンクが利用できる環境で,かつリポジトリを直接取得したのであれば,
(更新を容易にするために)コピーではなくリンクを貼ることを勧める.
%</ja>
+%<*zh>
+\item 复制\texttt{src/}文件夹下内容至\texttt{TEXMF}数下。
+\texttt{TEXMF/tex/luatex/luatexja/}为例。
+如果你复制了整个Git仓库,为\texttt{src/}制作软链接来替代复制也是可以的。
+%</zh>
%<*en>
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%<*ja>
\item 必要があれば,\texttt{mktexlsr}を実行する.
%</ja>
+%<*zh>
+\item 如有必要,执行\texttt{mktexlsr}。
+%</zh>
\end{enumerate}
-
%<en>\subsection{Cautions}
%<ja>\subsection{注意点}
+%<zh>\subsection{注意}
+
\begin{itemize}
%<*en>
\item 原稿のソースファイルの文字コードはUTF-8固定である.
従来日本語の文字コードとして用いられてきたEUC-JPやShift-JISは使用できない.
%</ja>
+%<*zh>
+\item 源文档编码必须是UTF-8。其他的编码,如EUC-JP和Shift-JIS都不被支持。
+%</zh>
\end{itemize}
%<en>\subsection{Using in plain \TeX}
%<ja>\subsection{plain \TeX で使う}
+%<zh>\subsection{plain \TeX 下使用}
\label{ssec-plain}
%<*en>
%<*ja>
\LuaTeX-jaを plain \TeX で使うためには,単に次の行をソースファイルの冒頭に追加すればよい:
%</ja>
+%<*zh>
+在plain \TeX 下使用\LuaTeX-ja相当简易,在文档开头放置一行:
+%</zh>
\begin{verbatim}
\input luatexja.sty
\end{verbatim}
%<*ja>
これで(\texttt{ptex.tex}のように)日本語組版のための最低限の設定がなされる:
%</ja>
+%<*zh>
+这里做出了做小的日文文档排版设定(如\texttt{ptex.tex}):
+%</zh>
\begin{itemize}
%<*en>
\item The following 6~Japanese fonts are preloaded:
-\begin{center}
+\begin{center}\small
\begin{tabular}{ccccc}
\toprule
\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
%</en>
%<*ja>
\item 以下の6つの和文フォントが定義される:
-\begin{center}
+\begin{center}\small
\begin{tabular}{ccccc}
\toprule
\textbf{字体}&\textbf{フォント名}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
\end{tabular}
\end{center}
%</ja>
+%<*zh>
+\item 提前加载了六种日文字体,如下:
+\begin{center}\small
+\begin{tabular}{ccccc}
+\toprule
+\textbf{字体}&\textbf{字体名}&\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+\\
+\bottomrule
+\end{tabular}
+\end{center}
+%</zh>
\begin{itemize}
%<*en>
-\item The `Q(級)' is a unit used in Japanese phototypesetting, and
- $1\,\textrm{Q}=0.25\,\textrm{mm}$. This length is stored in a
- dimension \verb+\jQ+.
-%</en>
-%<*ja>
-\item `Q(級)'は日本の写植で用いられる単位で,$1\,\textrm{Q}=0.25\,\textrm{mm}$
- である.この長さは \verb+\jQ+ に保持されている.
-%</ja>
-
-%<*en>
\item It is widely accepted that the font `Ryumin-Light' and
`GothicBBB-Medium' aren't embedded into PDF files, and PDF reader
substitute them by some external Japanese fonts (\textit{e.g.},
小塚明朝で代替される).そこで,これらを引き続きデフォルトのフォントと
して採用する.
%</ja>
+%<*zh>
+\item 广为接受的“Ryumin-Light”和“GothicBBB-Medium”字体不嵌入PDF文件,
+而PDF阅读器则会使用外部日文字体替代(例如,在Adobe Reader中使用
+Kozuka Mincho字体替代Ryumin-Light)。我们使用默认设定。
+%</zh>
%<*en>
\item A character in an alphabetic font is generally smaller than a
小さくなるように設定されており,具体的には指定の0.962216倍にスケールされる.
この0.962216という数値も,\pTeX におけるスケーリングを踏襲した値である.
%</ja>
+%<*zh>
+\item 一般情况下,相同大小日文字体比西文字体要大一下。所以实际的日文字体尺寸需哟小于西文字
+体,即使用一个缩放率:0.962216。
+%</zh>
\end{itemize}
%<*en>
\item \textbf{JAchar}と\textbf{ALchar}の間に入るグルー(\Param{xkanjiskip})の
量は次のように設定されている:
%</ja>
+%<*zh>
+\item 在\textbf{JAchar}和\textbf{ALchar}之间插入的胶(\textsf{xkanjiskip}参数)大小为:
+%</zh>
\[
(0.25\cdot 0.962216\cdot 10\,\mathrm{pt})^{+1\,\text{pt}}_{-1\,\text{pt}}
= 2.40554\,\mathrm{pt}^{+1\,\text{pt}}_{-1\,\text{pt}}.
%<en>\subsection{Using in \LaTeX}
%<ja>\subsection{\LaTeX で使う}
+%<zh>\subsection{\LaTeX 下使用}
\label{ssec-ltx}
\paragraph{\LaTeXe}
\LaTeXe を用いる場合も基本的には同じである.日本語組版のための最低限の環境を
設定するためには,\texttt{luatexja.sty}を読み込むだけでよい:
%</ja>
+%<*zh>
+在\LaTeXe 下使用基本相同。设定日文的最小环境,你只需加载\texttt{luatexja.sty}:
+%</zh>
\begin{verbatim}
\usepackage{luatexja}
\end{verbatim}
これで\pLaTeX の\texttt{plfonts.dtx}と\texttt{pldefs.ltx}に相当する最低限の設定が
なされる:
%</ja>
+%<*zh>
+这些做了最小的设定(作用相当于\pLaTeX 中的\texttt{plfonts.dtx}和\texttt{pldefs.ltx}):
+%</zh>
\begin{itemize}
%<*en>
将来的に,\LuaTeX-jaで縦書きがサポートされる際には,\texttt{JT3}を縦書き用として
用いる予定である.
%</ja>
+%<*zh>
+\item \texttt{JY3}是日文字体编码(在水平方向)。\\
+在将来\LuaTeX-ja要支持直行排版的时候,\texttt{JT3}会用于直行字体。
+%</zh>
%<*en>
\item Two font families \texttt{mc} and \texttt{gt} are defined:
-\begin{center}
+\begin{center}\small
\begin{tabular}{ccccc}
\toprule
\textbf{classification}&\textbf{family}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
%</en>
%<*ja>
\item 2つのフォントファミリ\texttt{mc}と\texttt{gt}が定義されている:
-\begin{center}
+\begin{center}\small
\begin{tabular}{ccccc}
\toprule
\textbf{字体}&\textbf{ファミリ}&\verb+\mdseries+&\verb+\bfseries+&\textbf{スケール}\\\midrule
Ryumin-Light, GothicBBB-Mediumだった)しか利用できなかった時の名残であり,\pLaTeX{}
での標準設定とも同じである.
%</ja>
+%<*zh>
+\item 定义了两个字体族:\texttt{mc}!和\texttt{gt}:\\
+\begin{center}\small
+ \begin{tabular}{ccccc}
+ \hline
+ \textbf{字体}&\textbf{字体族}&\verb!\mdseries!&\verb!\bfseries!&缩放率\\
+ \hline
+ \textit{mincho}&\verb!mc!&Ryumin-Light&GothicBBB-Medium&0.962216\\
+ \textit{gothic}&\verb!gt!&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+ \hline
+ \end{tabular}
+\end{center}
+注意的是两个字体族的粗体系列同为中等系列的\textbf{哥特}族。这\pLaTeX 中的规定。在近些年
+中的DTP实务中有仅使用2个字体的趋向(是为Ryumin-Light和GothicBBB-Medium)。
+%</zh>
%<*en>
\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
%<*ja>
\item 数式モード中の和文文字は\texttt{mc}ファミリで出力される.
%</ja>
+%<*zh>
+\item 在数学模式下,日文字符使用\verb!mc!字体族来排印。
+%</zh>
\end{itemize}
%<*en>
(奥村晴彦氏によるクラスファイル)に対応するものとして,\Pkg{ltjclasses},
\Pkg{ltjsclasses}がそれぞれ用意されている.
%</ja>
+%<*zh>
+不过,上述设定并不能满足排版基于日文的文档。为了排印基于日文的文
+档,你最好不要使用\texttt{article.cls},\texttt{book.cls}等文档类文件。
+现在,我们有相当于\Pkg{jclasses}(\pLaTeX 标准文档类)和\Pkg{jsclasses}
+(奥村晴彦)的文档类,即\Pkg{ltjclasses}和\Pkg{ltjsclasses}。
+%</zh>
-%<*en>
-\paragraph{\texttt{\char92 CID}, \texttt{\char92 UTF} and macros in OTF package}
-Under \pLaTeX, \Pkg{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
-supports some of functions in \Pkg{otf} package.
-If you want to use these functions, load \Pkg{luatexja-otf} package.
-%</en>
-%<*ja>
-\paragraph{\texttt{\char92 CID}, \texttt{\char92 UTF}とOTFパッケージのマクロ}
-\pLaTeX では,JIS~X~0208にないAdobe-Japan1-6の文字を出力するために,
-齋藤修三郎氏による\Pkg{otf}パッケージが用いられていた.このパッケージは
-広く用いられているため,\LuaTeX-jaにおいても\Pkg{otf}パッケージの機能の
-一部をサポートしている.これらの機能を用いるためには\Pkg{luatexja-otf}パッケージ
-を読み込めばよい.
-%</ja>
-
-\begin{LTXexample}
-森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に行く。
-
-\CID{7652}飾区の\CID{13706}野家,
-葛飾区の吉野家
-\end{LTXexample}
+%<en>\section{Changing Fonts}
+%<ja>\section{フォントの変更}
+%<zh>\section{字体更改}
-%<en>\subsection{Changing Fonts}
-%<ja>\subsection{フォントの変更}
+\subsection{plain \TeX~and~\LaTeXe}
\label{ssub-chgfnt}
-%<*en>
-\paragraph{Remark: Japanese Characters in Math Mode}
-Since \pTeX\ supports Japanese characters in math mode, there are
-sources like the following:
-%</en>
-%<*ja>
-\paragraph{意見:数式モード中の和文文字}
-\pTeX では,特に何もしないでも数式中に和文文字を記述することができた.そのため,
-以下のようなソースが見られた:
-%</ja>
-\begin{LTXexample}
-$f_{高温}$~($f_{\text{high temperature}}$).
-\[ y=(x-1)^2+2\quad よって\quad y>0 \]
-$5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
-\end{LTXexample}
-%<*en>
-We (the project members of \LuaTeX-ja) think that using
-Japanese characters in math mode are allowed if and only if these are used as identifiers.
-In this point of view,
-%</en>
-%<*ja>
-\LuaTeX-jaプロジェクトでは,数式モード中での和文文字はそれらが識別子として用いられる
-ときのみ許されると考えている.
-この観点から,
-%</ja>
-\begin{itemize}
-%<*en>
-\item The lines 1~and~2 above are not correct, since `高温' in above is used as a textual label, and
-`よって' is used as a conjunction.
-%</en>
-%<*ja>
-\item 上記数式のうち1, 2行目は正しくない.なぜならば`高温'が意味のあるラベルと
- して,`よって'が接続詞として用いられているからである.
-%</ja>
-%<*en>
-\item However, the line~3 is correct, since `素' is used as an identifier.
-%</en>
-%<*ja>
-\item しかしながら,3行目は`素'が識別子として用いられているので正しい.
-%</ja>
-\end{itemize}
-%<*en>
-Hence, in our opinion, the above input should be corrected as:
-%</en>
-%<*ja>
-したがって,\LuaTeX-jaプロジェクトの意見としては,上記の入力は次のように直されるべき
-である:
-%</ja>
-\begin{LTXexample}
-$f_{\text{高温}}$~%
-($f_{\text{high temperature}}$).
-\[ y=(x-1)^2+2\quad
- \mathrel{\text{よって}}\quad y>0 \]
-$5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
-\end{LTXexample}
-%BUG?: \{\}がなければ「素」がでない.上の段落の「よって」もでてない.
-%<*en>
-We also believe that using Japanese characters as identifiers is rare,
-hence we don't describe how to change Japanese fonts in math mode in
-this chapter. For the method, please see Subsection~\ref{ssec-math}.
-%</en>
-%<*ja>
-また\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
-と考えており,したがってこの節では数式モード中の和文フォントを変更する方法については
-記述しない.この方法については\ref{ssec-math}節を参照のこと.
-%</ja>
-
-%<*en>
\paragraph{plain \TeX}
+%<*en>
To change Japanese fonts in plain \TeX, you must use the primitive
\verb+\jfont+. So please see Subsection~\ref{ssec-jfont}.
%</en>
%<*ja>
-\paragraph{plain \TeX}
-plain \TeX で和文フォントを変更するためには,\verb+\jfont+ プリミティブを用いなけれ
-ばならない.\ref{ssec-jfont}節を参照.
+plain \TeX で和文フォントを変更するためには,\verb+\jfont+ プリミティブを直接用いる.
+\ref{ssec-jfont}節を参照.
%</ja>
+%<*zh>
+在plain \TeX 下改变日文字体,你必须使用基本语句\verb!\jfont!。请参见\ref{ssec-jfont}。
+%</zh>
+\paragraph{\LaTeXe\ (NFSS2)}
%<*en>
-\paragraph{NFSS2}
For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%</en>
%<*ja>
-\paragraph{NFSS2}
\LaTeXe については,\LuaTeX-jaではフォント選択システムを\pLaTeXe\ (\texttt{plfonts.dtx})
の大部分をそのまま採用している.
%</ja>
+%<*zh>
+对于\LaTeXe,\LuaTeX-ja采用了\pLaTeXe 中(即\texttt{plfonts.dtx})大部分字体选择系统。
+%</zh>
\begin{itemize}
%<*en>
\item Two control sequences \verb+\mcdefault+ and \verb+\gtdefault+ are
れ明朝体とゴシック体のデフォルトのフォントファミリを指定するために用いられる.
初期値:\verb+\mcdefault+ は\texttt{mc},\verb+\gtdefault+ は\texttt{gt}.
%</ja>
+%<*zh>
+\item \verb!\mcdefault!和\verb!\gtdefault!控制语句用来分别控制默认的\textit{mincho}和\textit{gothic}字体族。
+ 默认值:\texttt{mc}用于\verb!\mcdefault!,\texttt{gt}用于\verb!\gtdefault!。
+%</zh>
%<*en>
\item Commands \verb+\fontfamily+, \verb+\fontseries+,
\verb+\fontshape+ and \verb+\selectfont+ can be used to change
\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, そして
\verb+\selectfont+ が和文フォントの属性を変更するために使用できる.
%</ja>
+%<*zh>
+\item 命令\verb!\fontfamily!,\verb!\fontseries!,\verb!\fontshape!个\verb!\selectfont!用来改变日文字体属性。
+%</zh>
%<*en>
-\begin{center}
+\begin{center}\small
\begin{tabular}{cccccc}
\toprule
&\textbf{encoding}&\textbf{family}&\textbf{series}&\textbf{shape}&\textbf{selection}\\\midrule
\end{center}
%</en>
%<*ja>
-\begin{center}
+\begin{center}\small
\begin{tabular}{cccccc}
\toprule
&\textbf{エンコーディング}&\textbf{ファミリ}&\textbf{シリーズ}&\textbf{シェープ}&\textbf{選択}\\\midrule
-欧文フォント
+欧文
&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
&\verb+\useroman+\\
-和文フォント
+和文
&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
&\verb+\usekanji+\\
両方&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
\end{tabular}
\end{center}
%</ja>
+%<*zh>
+\begin{center}\small
+\begin{tabular}{cccccc}
+\toprule
+&\textbf{编码}&\textbf{族}&\textbf{系列}&\textbf{形状}&\textbf{选择}\\\midrule
+西文字体
+&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
+&\verb+\useroman+\\
+日文字体
+&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
+&\verb+\usekanji+\\
+两者&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
+自动选择&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+\bottomrule
+\end{tabular}
+\end{center}
+%</zh>
%<*en>
\verb+\fontencoding{<encoding>}+ changes the encoding of alphabetic fonts
側,\textbf{あるいは両方}のフォントファミリを変更する.詳細は
\ref{ssub-nfsspat}節を参照すること.
%</ja>
+%<*zh>
+ \verb!\fontencoding{<encoding>}!依赖于参数以改变西文字体或者日文字体。
+ 例如,\verb!\fontencoding{JY3}!改变当前日文字体至\texttt{JY3},
+ \verb!\fontencoding{T1}!改变西文字体至\texttt{T1}。
+ \verb!\fontfamily!也会改变日文字体或西文字体的族,抑或二者。
+ 细节详见\ref{ssub-nfsspat}。
+%</zh>
%<*en>
\item For defining a Japanese font family, use
代わりに \verb+\DeclareKanjiFamily+ を用いる.しかし,現在の
実装では \verb+\DeclareFontFamily+ を用いても問題は生じない.
%</ja>
+%<*zh>
+\item 对于定义日文字体族,使用\verb!\DeclareKanjiFamily!代替\verb!\DeclareFontFamily!。
+ 不过,在现在的实现中,使用\verb!\DeclareFontFamily!不会引起任何问题。
+%</zh>
\end{itemize}
+%<*en>
+\paragraph{Remark: Japanese Characters in Math Mode}
+Since \pTeX\ supports Japanese characters in math mode, there are
+sources like the following:
+%</en>
+%<*ja>
+\paragraph{注意:数式モード中の和文文字}
+\pTeX では,特に何もしないでも数式中に和文文字を記述することができた.そのため,
+以下のようなソースが見られた:
+%</ja>
+%<*zh>
+\paragraph{注记:数学模式下的日文字符}
+\pTeX 支持在数学模式下的日文字符,如以下源码:
+%</zh>
+
+\begin{LTXexample}
+$f_{高温}$~($f_{\text{high temperature}}$).
+\[ y=(x-1)^2+2\quad よって\quad y>0 \]
+$5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
+\end{LTXexample}
+%<*en>
+We (the project members of \LuaTeX-ja) think that using
+Japanese characters in math mode are allowed if and only if these are used as identifiers.
+In this point of view,
+%</en>
+%<*ja>
+\LuaTeX-jaプロジェクトでは,数式モード中での和文文字はそれらが識別子として用いられる
+ときのみ許されると考えている.
+この観点から,
+%</ja>
+%<*zh>
+我们(\LuaTeX-ja项目成员)认为在数学模式下使用日文字符,只有在这些字符充当标识符时才是正确的。在这点下:
+%</zh>
+\begin{itemize}
+%<*en>
+\item The lines 1~and~2 above are not correct, since `高温' in above is used as a textual label, and
+`よって' is used as a conjunction.
+%</en>
+%<*ja>
+\item 上記数式のうち1, 2行目は正しくない.なぜならば`高温'が意味のあるラベルと
+ して,`よって'が接続詞として用いられているからである.
+%</ja>
+%<*zh>
+\item 第1行和第2行是不正确的,因为“高温”的作用为文本标签,“よって”用作为连词。
+%</zh>
+%<*en>
+\item However, the line~3 is correct, since `素' is used as an identifier.
+%</en>
+%<*ja>
+\item しかしながら,3行目は`素'が識別子として用いられているので正しい.
+%</ja>
+%<*zh>
+\item 不过,第3行是正确的,因为“素”是作为标识符的。
+%</zh>
+\end{itemize}
+%<*en>
+Hence, in our opinion, the above input should be corrected as:
+%</en>
+%<*ja>
+したがって,\LuaTeX-jaプロジェクトの意見としては,上記の入力は次のように直されるべき
+である:
+%</ja>
+%<*zh>
+那么,根据我们的观点,上述输入应当校正为:
+%</zh>
+\begin{LTXexample}
+$f_{\text{高温}}$~%
+($f_{\text{high temperature}}$).
+\[ y=(x-1)^2+2\quad
+ \mathrel{\text{よって}}\quad y>0 \]
+$5\in 素:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
+\end{LTXexample}
+%BUG?: \{\}がなければ「素」がでない.上の段落の「よって」もでてない.
+%<*en>
+We also believe that using Japanese characters as identifiers is rare,
+hence we don't describe how to change Japanese fonts in math mode in
+this chapter. For the method, please see Subsection~\ref{ssec-math}.
+%</en>
+%<*ja>
+また\LuaTeX-jaプロジェクトでは,和文文字が識別子として用いられることはほとんどない
+と考えており,したがってこの節では数式モード中の和文フォントを変更する方法については
+記述しない.この方法については\ref{ssec-math}節を参照のこと.
+%</ja>
+%<*zh>
+我们也认为使用日文字符作为标识符的情况极为少见,所以我们不在此章节描述如何在数学模式下改变日文字体。
+关于此方法,请参见\ref{ssec-math}。
+%</zh>
+
\subsection{fontspec}
\label{ssec-fontspec}
%<*en>
\Pkg{luatexja-fontspec}パッケージをプリアンブルで読み込む必要がある.このパッケージ
は必要ならば自動で\Pkg{luatexja}パッケージと\Pkg{fontspec}パッケージを読み込む.
%</ja>
+%<*zh>
+为与\Pkg{fontspec}宏包共存,需要在导言区中使用\Pkg{luatexja-fontspec}宏包。
+这个附加宏包会自动加载\Pkg{luatexja}和\Pkg{fontspec}。
+%</zh>
%<*en>
In \Pkg{luatexja-fontspec} package, the following 7~commands are defined as
\Pkg{luatexja-fontspec}パッケージでは,以下の7つのコマンドを\Pkg{fontspec}
パッケージの元のコマンドに対応するものとして定義している:
%</ja>
+%<*zh>
+在\Pkg{luatexja-fontspec}中,定义了如下七条命令,这些命令和\Pkg{fontspec}的相关命令对比如下:
+%</zh>
%<*en>
-\begin{center}
+\begin{center}\small
\begin{tabular}{ccccc}
\toprule
Japanese fonts
\end{center}
%</en>
%<*ja>
-\begin{center}
-\begin{tabular}{ccccc}
+\begin{center}\small
+\begin{tabular}{cccc}
\toprule
-和文フォント
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\newjfontfamily+\\
-欧文フォント
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\newfontfamily+\\
+和文
+&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+\\
+欧文
+&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+\\
\midrule
-和文フォント
-&\verb+\newjfontface+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
-欧文フォント
-&\verb+\newfontface+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
+和文
+&\verb+\newjfontfamily+&\verb+\newjfontface+&\verb+\defaultjfontfeatures+\\
+欧文
+&\verb+\newfontfamily+&\verb+\newfontface+&\verb+\defaultfontfeatures+\\
+\midrule
+和文
+&\verb+\addjfontfeatures+\\
+欧文
+&\verb+\addfontfeatures+\\
\bottomrule
\end{tabular}
\end{center}
%</ja>
+%<*zh>
+\begin{center}\small
+\begin{tabular}{ccccc}
+\toprule
+日文字体&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\newjfontfamily+\\
+西文字体&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\newfontfamily+\\
+\midrule
+日文字体&\verb+\newjfontface+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+&\\
+西文字体&\verb+\newfontface+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+&\\
+\bottomrule
+\end{tabular}
+\end{center}
+%</zh>
\begin{LTXexample}
-\fontspec[Numbers=OldStyle]{TeX Gyre Termes}
+\fontspec[Numbers=OldStyle]{LMSans10-Regular}
\jfontspec{IPAexMincho}
JIS~X~0213:2004→辻
ンドではKerning featureはデフォルトではoffとなっている.これはこの
featureが\textbf{JAglue}と衝突するためである(\ref{para-kern}節を参照).
%</ja>
+%<*zh>
+请注意并没有\verb!\setmonofont!命令,因为流行的日文字体几乎全部是等宽的。
+另注意,出格特性在这7个命令中默认关闭,因为此特性会与\textbf{JAglue}冲突(参见\ref{para-kern})。
+%</zh>
+
+%<en>\subsection{Preset}
+%<ja>\subsection{プリセット設定}
+\label{ssec-preset}
+
+%<*en>
+To use standard Japanese font settings easily, one can load \Pkg{luatexja-preset}
+package with several options. This package provides functions in a part of
+\Pkg{otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
+and loads \Pkg{luatexja-fontspec} internally.
+%</en>
+%<*ja>
+よく使われている和文フォント設定を一行で指定できるようにしたのが
+\Pkg{luatexja-preset}パッケージである.このパッケージは,
+\Pkg{otf}パッケージの一部機能と八登崇之氏による\Pkg{PXchfon}パッケージの一部機能とを
+合わせたような格好をしており,内部で\Pkg{luatexja-fontspec}を読み込んでいる.
+%</ja>
+
+%<en>\paragraph{General options}
+%<ja>\paragraph{一般的なオプション}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item[deluxe]
+%<*en>
+Specifying this option enables us to 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{\char92mgfamily},
+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+.
+This is because \Pkg{fontspec} package can handle only medium (\verb+\mdseries+) and
+bold (\verb+\bfseries+).
+%</en>
+%<*ja>
+明朝体2ウェイト・ゴシック体3ウェイトと,
+丸ゴシック体 (\verb+\mgfamily+) を使用可能とする.
+ゴシック体は細字・太字・極太の3ウェイトがあるが,極太ゴシック体はファミリの切り替え (\verb+\gtebfamily+) %
+で実現している.\Pkg{fontspec}では通常 (\verb+\mdseries+) と太字 (\verb+\bfseries+) しか扱えないために
+このような中途半端な実装になっている.
+%</ja>
+\item[expert]
+%<*en>
+Use horizontal kana alternates, and define a control sequence \verb+\rubyfamily+ to use kana
+characters designed for ruby.
+%</en>
+%<*ja>
+横組専用仮名を用いる.また,\verb+\rubyfamily+ でルビ用仮名が使用可能となる.
+%</ja>
+\item[bold]
+%<*en>
+Use bold gothic as bold mincho.
+%</en>
+%<*ja>
+明朝の太字をゴシック体の太字とする.
+%</ja>
+\item[90jis]
+%<*en>
+Use 90JIS glyphs if possible.
+%</en>
+%<*ja>
+出来る限り90JISの字形を使う.
+%</ja>
+\item[jis2004]
+%<*en>
+Use JIS2004 glyphs if possible.
+%</en>
+%<*ja>
+出来る限りJIS2004の字形を使う.
+%</ja>
+\item[jis]
+%<*en>
+Use the JFM \texttt{jfm-jis.lua}, instead of the default JFM of
+\LuaTeX-ja, \texttt{jfm-ujis.lua}.
+%</en>
+%<*ja>
+用いるJFMを\texttt{jfm-jis.lua}とする.このオプションがない時は
+\LuaTeX-ja標準の\texttt{jfm-ujis.lua}が用いられる.
+%</ja>
+\end{list}
+
+%<en>\paragraph{Kozuka fonts}
+%<ja>\paragraph{小塚フォント}
+%<*en>
+When using single weight, we adopt Kozuka~Gothic~M as \textit{gothic},
+because we think that Kozuka~Gothic~R looks thin.
+There is not `Kozuka Maru Gothic', therefore Kozuka~Gothic~H is used
+as a substitute for \textit{rounded gothic}.
+%</en>
+%<*ja>
+まず,小塚フォントを用いる設定を述べる.
+単ウェイト時のゴシック体は小塚ゴシックRでは細いように感じるので,
+小塚ゴシックMに変更している.
+さらに,丸ゴシック体はないので便宜上小塚ゴシックHで代用している.
+%</ja>
+\begin{center}\small
+\begin{tabular}{llll}
+\toprule
+&\tt kozuka4&\tt kozuka6&\tt kozuka6n\\
+\midrule
+%<*en>
+\bf mincho medium&Kozuka Mincho Pro R&Kozuka Mincho ProVI R&Kozuka Mincho Pr6N R\\
+\bf mincho bold&Kozuka Mincho Pro B&Kozuka Mincho ProVI B&Kozuka Mincho Pr6N B\\
+\midrule
+\bf gothic medium\\
+ without \texttt{deluxe}
+&Kozuka Gothic Pro M&Kozuka Gothic ProVI M&Kozuka Gothic Pr6N M\\
+ multiple weights
+&Kozuka Gothic Pro R&Kozuka Gothic ProVI R&Kozuka Gothic Pr6N R\\
+\midrule
+\bf gothic bold
+&Kozuka Gothic Pro B&Kozuka Gothic ProVI B&Kozuka Gothic Pr6N B\\
+\bf gothic heavy
+&Kozuka Gothic Pro H&Kozuka Gothic ProVI H&Kozuka Gothic Pr6N H\\
+(rounded gothic)
+&Kozuka Gothic Pro H&Kozuka Gothic ProVI H&Kozuka Gothic Pr6N H\\
+%</en>
+%<*ja>
+\gt 明朝体細字&小塚明朝Pro~R&小塚明朝ProVI~R&小塚明朝Pr6N~R\\
+\gt 明朝体太字&小塚明朝Pro~B&小塚明朝ProVI~B&小塚明朝Pr6N~B\\
+\midrule
+\gt ゴシック体細字\\
+ 単ウェイト時
+&小塚ゴシックPro~M&小塚ゴシックProVI~M&小塚ゴシックPr6N~M\\
+ 多ウェイト時
+&小塚ゴシックPro~R&小塚ゴシックProVI~R&小塚ゴシックPr6N~R\\
+\midrule
+\gt ゴシック体太字
+&小塚ゴシックPro~B&小塚ゴシックProVI~B&小塚ゴシックPr6N~B\\
+\gt ゴシック体極太
+&小塚ゴシックPro~H&小塚ゴシックProVI~H&小塚ゴシックPr6N~H\\
+\inhibitglue(丸ゴシック体)\inhibitglue
+&小塚ゴシックPro~H&小塚ゴシックProVI~H&小塚ゴシックPr6N~H\\
+%</ja>
+\bottomrule
+\end{tabular}
+\end{center}
+
+%<en>\paragraph{Hiragino and Morisawa}
+%<ja>\paragraph{ヒラギノ・モリサワ}
+%<*en>
+Settings for Hiragino fonts:
+%</en>
+%<*ja>
+モリサワ・ヒラギノ用の設定はそのようなことは行っていない.
+まずヒラギノフォントから:
+%</ja>
+% これらは持っているわけではないので,フォント名が
+% 異なっているかもしれません.確認お願いします.
+\begin{center}\small
+\begin{tabular}{lll}
+\toprule
+&\tt hiragino&\tt hiraginon\\
+\midrule
+%<*en>
+\bf mincho medium&
+Hiragino Mincho Pro W3&Hiragino Mincho Pr6N W3\\
+\bf mincho bold&
+Hiragino Mincho Pro W6&Hiragino Mincho Pr6N W6\\
+\bf gothic medium&
+Hiragino Kaku Gothic Pro W3&Hiragino Kaku Gothic ProN W3\\
+\bf gothic bold&
+Hiragino Kaku Gothic Pro W6&Hiragino Kaku Gothic ProN W6\\
+\bf gothic heavy&
+Hiragino Kaku Gothic Std W8&Hiragino Kaku Gothic StdN W8\\
+\bf rounded gothic&
+Hiragino Maru Gothic Pro W4&Hiragino Maru Gothic ProN W4\\
+%</en>
+%<*ja>
+\gt 明朝体細字&
+ヒラギノ明朝体Pro~W3&ヒラギノ明朝体Pr6N~W3\\
+\gt 明朝体太字&
+ヒラギノ明朝体Pro~W6&ヒラギノ明朝体Pr6N~W6\\
+\gt ゴシック体細字&
+ヒラギノ角ゴPro~W3&ヒラギノ角ゴProN~W3\\
+\gt ゴシック体太字&
+ヒラギノ角ゴPro~W6&ヒラギノ角ゴProN~W6\\
+\gt ゴシック体極太&
+ヒラギノ角ゴStd~W8&ヒラギノ角ゴStdN~W8\\
+\gt 丸ゴシック体&
+ヒラギノ丸ゴPro~W4&ヒラギノ丸ゴProN~W4\\
+%</ja>
+\bottomrule
+\end{tabular}
+\end{center}
+%<*en>
+Settings for Morisawa fonts:
+%</en>
+%<*ja>
+次はモリサワフォントを用いる設定である:
+%</ja>
+\begin{center}\small
+\begin{tabular}{lll}
+\toprule
+&\tt morisawa4&\tt morisawa6n\\
+\midrule
+%<*en>
+\bf mincho medium&
+Ryumin Pro L-KL&Ryumin Pr6N L-KL\\
+\bf mincho bold&
+Futo Min A101 Pro Bold&Futo Min A101 Pr6N Bold\\
+\bf gothic medium&
+Chu Gothic BBB Pro Med&Chu Gothic BBB Pr6N Med\\
+\bf gothic bold&
+Futo Go B101 Pro Bold&Futo Go B101 Pr6N Bold\\
+\bf gothic heavy&
+Midashi Go Pro MB31&Midashi Go Pr6N MB31\\
+\bf rounded gothic&
+Jun Pro 101&Jun Pr6N 101\\
+%</en>
+%<*ja>
+\gt 明朝体細字&
+リュウミンPro~L-KL&リュウミンPr6N~L-KL\\
+\gt 明朝体太字&
+太ミンA101~Pro~Bold&太ミンA101~Pr6N~Bold\\
+\gt ゴシック体細字&
+中ゴシックBBB~Pro~Med&中ゴシックBBB~Pr6N~Med\\
+\gt ゴシック体太字&
+太ゴB101~Pro~Bold&太ゴB101~Pr6N~Bold\\
+\gt ゴシック体極太&
+見出ゴPro~MB31&見出ゴPr6N~MB31\\
+\gt 丸ゴシック体&
+じゅんPro 101&じゅんPr6N 101\\
+%</ja>
+\bottomrule
+\end{tabular}
+\end{center}
+
+%<en>\paragraph{Settings for single weight}
+%<ja>\paragraph{単ウェイト用設定}
+%<*en>
+Next, we describe settings for using only single weight.
+In four settings below, we use same fonts for medium and bold (and heavy) weights.
+(Hence \verb+\mcfamily\bfseries+ and \verb+\mcfamily\mdseries+ yields same Japanese fonts,
+if \texttt{deluxe} option is also specified).
+%</en>
+%<*ja>
+次に,単ウェイト用の設定を述べる.この4設定では「細字」「太字」の区別はない.
+また,丸ゴシック体はゴシック体と同じフォントを用いる.
+%</ja>
+\begin{center}\small
+\begin{tabular}{lllll}
+\toprule
+&\tt noembed&\tt ipa&\tt ipaex&\tt ms\\
+\midrule
+%<*en>
+\bf mincho&Ryumin-Light (non-embedded)
+&IPAMincho&IPAexMincho&MS Mincho\\
+\bf gothic&GothicBBB-Medium (non-embedded)
+&IPAGothic&IPAexGothic&MS Gothic\\
+%</en>
+%<*ja>
+\gt 明朝体&Ryumin-Light(非埋込)
+&IPA明朝&IPAex明朝&MS明朝\\
+\gt ゴシック体&GothicBBB-Medium(非埋込)
+&IPAゴシック&IPAexゴシック&MSゴシック\\
+%</ja>
+\bottomrule
+\end{tabular}
+\end{center}
+
+%<en>\paragraph{Using HG fonts}
+%<ja>\paragraph{HGフォントの利用}
+%<*en>
+We can use HG~fonts bundled with Microsoft Office for realizing multiple weights in Japanese fonts.
+%</en>
+%<*ja>
+すぐ前に書いた単ウェイト用設定を,Microsoft Office等に付属するHGフォントを使って
+多ウェイト化した設定もある.
+%</ja>
+\begin{center}\small
+\begin{tabular}{llll}
+\toprule
+&\tt ipa-dx&\tt ipaex-dx&\tt ms-dx\\
+\midrule
+%<*en>
+\bf mincho medium
+&IPAMincho&IPAexMincho&MS Mincho\\\midrule
+\bf mincho bold&
+\multicolumn{3}{c}{HG Mincho E}\\\midrule
+\bf Gothic medium\\
+~~without \texttt{deluxe}
+&IPAGothic&IPAexGothic&MS Gothic\\
+~~with {\tt jis2004}
+&IPAGothic&IPAexGothic&MS Gothic\\
+\cmidrule(lr){1-4}
+~~otherwise&
+\multicolumn{3}{c}{HG Gothic M}\\\midrule
+\bf gothic bold&
+\multicolumn{3}{c}{HG Gothic E}\\\midrule
+\bf gothic heavy&
+\multicolumn{3}{c}{HG Soei Kaku Gothic UB}\\\midrule
+\bf rounded gothic&
+\multicolumn{3}{c}{HG Maru Gothic PRO}\\
+%</en>
+%<*ja>
+\gt 明朝体細字
+&IPA明朝&IPAex明朝&MS明朝\\\midrule
+\gt 明朝体太字&
+\multicolumn{3}{c}{HG明朝E}\\\midrule
+\gt ゴシック体細字\\
+ 単ウェイト時
+&IPAゴシック&IPAexゴシック&MSゴシック\\
+ {\tt jis2004}指定時
+&IPAゴシック&IPAexゴシック&MSゴシック\\
+\cmidrule(lr){1-4}
+ それ以外の時&
+\multicolumn{3}{c}{HGゴシックM}\\\midrule
+\gt ゴシック体太字&
+\multicolumn{3}{c}{HGゴシックE}\\\midrule
+\gt ゴシック体極太&
+\multicolumn{3}{c}{HG創英角ゴシックUB}\\\midrule
+\gt 丸ゴシック体&
+\multicolumn{3}{c}{HG丸ゴシック体PRO}\\
+%</ja>
+\bottomrule
+\end{tabular}
+\end{center}
+%<*en>
+Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB and HG Maru Gothic PRO
+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}).
+\end{description}
+%</en>
+%<*ja>
+なお,HG明朝E・HGゴシックE・HG創英角ゴシックUB・HG丸ゴシック体PROの4つについては,内部で
+\begin{description}
+\item[標準] フォント名(\texttt{HGMinchoE} など)
+\item[{\tt 90jis}指定時] ファイル名 (%
+\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
+\item[{\tt jis2004}指定時] ファイル名 (%
+\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
+\end{description}
+として指定を行っているので注意すること.
+%</ja>
+
+
+%<*en>
+\subsection{\texttt{\char92 CID}, \texttt{\char92 UTF} and macros in \Pkg{otf} package}
+Under \pLaTeX, \Pkg{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
+supports some of functions in \Pkg{otf} package.
+If you want to use these functions, load \Pkg{luatexja-otf} package.
+%</en>
+%<*ja>
+\subsection{\texttt{\char92 CID}, \texttt{\char92 UTF}と\Pkg{otf}パッケージのマクロ}
+\pLaTeX では,JIS~X~0208にないAdobe-Japan1-6の文字を出力するために,
+齋藤修三郎氏による\Pkg{otf}パッケージが用いられていた.このパッケージは
+広く用いられているため,\LuaTeX-jaにおいても\Pkg{otf}パッケージの機能の
+一部をサポートしている.これらの機能を用いるためには\Pkg{luatexja-otf}パッケージ
+を読み込めばよい.
+%</ja>
+%<*zh>
+\subsection{\Pkg{otf}包中的\texttt{\char92CID},\texttt{\char92UTF}及其他宏}
+\pLaTeX 下,\underline{\texttt{otf}}宏包(斋藤修三郎开发)是用来排印存在
+于Adobe-Japan1-6但不存在于JIS X 0208中的字符。
+该包已经广泛使用,\LuaTeX-ja支持部分\Pkg{otf}包中的部分功能。
+如果你想使用这些功能,加载\Pkg{luatexja-otf}宏包。
+\bgroup
+\fontencoding{JY3}\selectfont
+%</zh>
+
+\begin{LTXexample}
+森\UTF{9DD7}外と内田百\UTF{9592}とが\UTF{9AD9}島屋に行く。
+
+\CID{7652}飾区の\CID{13706}野家,
+葛飾区の吉野家
+\end{LTXexample}
+%<*zh>
+\egroup
+%</zh>
+
+%<*ja>
+\Pkg{otf}パッケージでは,それぞれ次のようなオプションが存在した:
+\begin{description}
+\item[\texttt{deluxe}] 明朝体・ゴシック体各2ウェイトと,丸ゴシック体を扱えるようになる.
+\item[\texttt{expert}] 仮名が横組・縦組専用のものに切り替わり,ルビ用仮名も扱えるようになる.
+\item[\texttt{bold}] ゴシック体を標準で太いウェイトのものに設定する.
+\end{description}
+しかしこれらのオプションは\Pkg{luatexja-otf}パッケージには存在しない.
+\Pkg{otf}パッケージが文書中で使用する和文用TFMを自前の物に置き換えていたのに対し,
+\Pkg{luatexja-otf}パッケージでは,そのようなことは行わないからである.
+
+これら3オプションについては,
+\Pkg{luatexja-preset} パッケージにプリセットを使う時に一緒に指定するか,
+あるいは対応する内容を\ref{ssub-chgfnt}節 (NFSS2) や
+\ref{ssec-fontspec}節 (\Pkg{fontspec}) の方法で手動で指定する必要がある.
+%</ja>
%<en>\section{Changing Parameters}
%<ja>\section{パラメータの変更}
+%<zh>\section{变量更改}
%<*en>
There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
そのため,これらのパラメータを設定・取得するためには \verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ を
用いる必要がある.
%</ja>
+%<*zh>
+\LuaTeX-ja包含大量的参数,以控制排版细节。
+设定这些参数需要使用命令:\verb!\ltjsetparameter!和\verb!\ltjgetparameter!命令。
+%</zh>
%<en>\subsection{Editing the range of \textbf{JAchar}s}
%<ja>\subsection{\textbf{JAchar}の範囲の設定}
+%<zh>\subsection{\textbf{JAchar}范围设定}
+
%<*en>
To edit the range of \textbf{JAchar}s, you have to assign a non-zero
例えば,次のように書くことで追加漢字面(SIP)にある全ての文字と`漢'が
「100番の文字範囲」に属するように設定される.
%</ja>
+%<*zh>
+在设定\textbf{JAchar}之前,需要分配一个小于217的自然数。
+这个可以由\verb!\ltjdefcharrange!基本语句来完成。例如,
+下面就分配了整个表意文字补充平面和汉字“漢”为100。
+%</zh>
\begin{lstlisting}
\ltjdefcharrange{100}{"10000-"1FFFF,`漢}
\end{lstlisting}
この文字範囲の割り当ては常にグローバルであり,したがって文書の途中で
この操作をするべきではない.
%</ja>
+%<*zh>
+范围数的分配是全局的,故你不可在文档中使用。
+%</zh>
%<*en>
If some character has been belonged to some non-zero numbered range,
上書きされる.例えば,SIPは全て\LuaTeX-jaのデフォルトでは4番の文字範囲に
属しているが,上記の指定を行えばSIPは100番に属すようになり,4番からは除かれる.
%</ja>
+%<*zh>
+如果某些字符被改变为新的非零数范围,将会被新设定重写。
+例如,整个SIP在\LuaTeX-ja默认设定中属于范围4,如果你使用如上设定,
+SIP将会被设定为范围100,且从范围4种移除。
+%</zh>
%<*en>
After assigning numbers to ranges, the \textsf{jacharrange} parameter can
して扱われる文字の範囲を設定するために用いられる.例えば,以下は\LuaTeX-jaの
初期設定である:
%</ja>
+%<*zh>
+分配了范围数之后,\textsf{jacharrange}参数将用于设定字符范围为\textbf{JAchar},
+如下(为\LuaTeX-ja默认设定):
+%</zh>
\begin{verbatim}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
\end{verbatim}
リスト中の負の整数$-n$は「文字範囲$n$に属する文字は\textbf{ALchar}として
扱われる」ことを意味し,正の整数$+n$は\textbf{JAchar}として扱うことを意味する.
%</ja>
+%<*zh>
+\textsf{jacharrange}参数的变量未整数数组。
+负数$-n$在数组中表示“字符范围$n$中的字符被视作\textbf{ALchar}”,
+正数$+n$则表示“字符范围$n$被视作\textbf{JAchar}”。
+%</zh>
%<*en>
\paragraph{Default Setting}
\LuaTeX-jaでは8つの文字範囲を設定している.これらは以下のデータに基づいて決定して
いる.
%</ja>
+%<*zh>
+\paragraph{默认设定}
+\LuaTeX-ja默认设定了8个字符范围。如下设定:
+%</zh>
\begin{itemize}
%<*en>
\item Blocks in Unicode~6.0.
%<*ja>
\item Unicode~6.0のブロック.
%</ja>
+%<*zh>
+\item Unicode~6.0区块
+%</zh>
%<*en>
\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1-6 and Unicode.
%</en>
\item \texttt{Adobe-Japan1-UCS2}によるAdobe-Japan1-6のCIDとUnicodeの間の
マッピング.
%</ja>
+%<*zh>
+\item 在CID Adobe-Japan1-6和Unicode之间的映射\texttt{Adobe-Japan1-UCS2}。
+%</zh>
%<*en>
-\item The \texttt{PXbase} bundle for \upTeX\ by Takayuki Yato.
+\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
%</en>
%<*ja>
-\item 八登崇之氏による\upTeX 用の\texttt{PXbase}バンドル.
+\item 八登崇之氏による\upTeX 用の\Pkg{PXbase}バンドル.
%</ja>
+%<*zh>
+\item 八登崇之的\Pkg{PXbase}宏包(\upTeX 下使用)。
+%</zh>
\end{itemize}
%<*en>
はデフォルトで\textbf{JAchar}か\textbf{ALchar}かを表している.これらの設定は
\texttt{PXbase}バンドルで定義されている\texttt{prefercjk}と類似のものである.
%</ja>
+%<*zh>
+现在我们描述8个字符范围。在数字后的“J”和“A”表明代表\textbf{JAchar}或者未跟随默认设定。
+这些设定类似于\texttt{PXbase}中的\texttt{prefercjk}设定。
+%</zh>
\begin{description}
%<*en>
\item[Range~8${}^{\text{J}}$] Symbols in the intersection of the upper half of ISO~8859-1
JIS~X~0208の共通部分にある記号.この文字範囲は
以下の文字で構成される:
%</ja>
+%<*zh>
+\item[范围8${}^\text{J}$] ISO 8859-1(Latin-1补充)的上半部和JIS X 0208(日文基本字符集)的重叠部分,包含下列字符:
+%</zh>
\begin{multicols}{2}
\begin{itemize}
\def\ch#1#2{\item \char"#1\ (\texttt{U+00#1}, #2)}%"
\ch{D7}{乗算記号}
\ch{F7}{除算記号}
%</ja>
+%<*zh>
+\ch{A7}{分节符}
+\ch{A8}{分音符}
+\ch{B0}{温度符号}
+\ch{B1}{加减符号}
+\ch{B4}{置位尖音}
+\ch{B6}{段落符号}
+\ch{D7}{乘号}
+\ch{F7}{除号}
+%</zh>
\end{itemize}
\end{multicols}
この範囲は以下のUnicodeのブロックから構成されている.
\textbf{ただし,範囲8は除く.}
%</ja>
+%<*zh>
+\item[范围1${}^\text{A}$] 包含于Adobe-Japan1-6中的拉丁字符,此范围包含下列
+ Unicode区域,但\textbf{不包括上述提到过的范围8}:
+%</zh>
\begin{multicols}{2}
\begin{itemize}
%<*en>
\item \texttt{U+0300}--\texttt{U+036F}: ダイアクリティカルマーク(合成可能)
\item \texttt{U+1E00}--\texttt{U+1EFF}: ラテン文字拡張追加
%</ja>
+%<*zh>
+\item \texttt{U+0080}--\texttt{U+00FF}: 拉丁字母补充-1
+\item \texttt{U+0100}--\texttt{U+017F}: 拉丁字母扩充-A
+\item \texttt{U+0180}--\texttt{U+024F}: 拉丁字母扩充-B
+\item \texttt{U+0250}--\texttt{U+02AF}: 国际音标扩充
+\item \texttt{U+02B0}--\texttt{U+02FF}: 进格修饰符元
+\item \texttt{U+0300}--\texttt{U+036F}: 组合音标附加符号
+\item \texttt{U+1E00}--\texttt{U+1EFF}: 拉丁字母扩充附加
+%</zh>
\par\
\end{itemize}
\end{multicols}
\item[範囲2${}^{\text{J}}$] ギリシャ文字とキリル文字.JIS~X~0208(したがって多くの
和文フォント)はこれらの文字を持つ.
%</ja>
+%<*zh>
+\item[范围2${}^\text{J}$] 希腊文和西里尔字母,使用JIS X 0208的大部分日文字体包含这些字符:
+%</zh>
\begin{multicols}{2}
\begin{itemize}
%<*en>
\item \texttt{U+0400}--\texttt{U+04FF}: キリル文字
\item \texttt{U+1F00}--\texttt{U+1FFF}: キリル文字補助
%</ja>
+%<*zh>
+\item \texttt{U+0370}--\texttt{U+03FF}: 希腊字母
+\item \texttt{U+0400}--\texttt{U+04FF}: 西里尔字母
+\item \texttt{U+1F00}--\texttt{U+1FFF}: 希腊文扩充
+%</zh>
\\\
\end{itemize}
\end{multicols}
\item[範囲3${}^{\text{J}}$] 句読点と記号類.ブロックのリストは表\ref{table-rng3}%
に示してある.
%</ja>
+%<*zh>
+\item[范围3${}^\text{J}$] 标点以及杂项符号,参见表\ref{table-rng3}。
+%</zh>
\begin{table}[!tb]
%<*en>
\caption{Unicode blocks in predefined character range~3.}
%<*ja>
\caption{文字範囲3に指定されているUnicodeブロック.}
%</ja>
+%<*zh>
+\caption{字符范围3定义的Unicode范围}
+%</zh>
\label{table-rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\begin{center}\small
"2B00--"2BFF&その他の記号及び矢印\\
"E000--"F8FF&私用領域(外字領域)&
%</ja>
+%<*zh>
+"2000--"206F&一般标点符号&
+"2070--"209F&上标及下标\\
+"20A0--"20CF&货币符号&
+"20D0--"20FF& 符号用组合附加符号\\
+"2100--"214F&类字母符号&
+"2150--"218F&数字形式\\
+"2190--"21FF&箭头符号&
+"2200--"22FF&数学运算符号\\
+"2300--"23FF&杂项技术符号&
+"2400--"243F&控制图像\\
+"2500--"257F&制表符&
+"2580--"259F&区块元素\\
+"25A0--"25FF&几何形状&
+"2600--"26FF&杂项符号\\
+"2700--"27BF&什锦符号&
+"2900--"297F&补充性箭头-B\\
+"2980--"29FF&混合数学符号-B&
+"2B00--"2BFF&杂项符号和箭头符号\\
+"E000--"F8FF&私用区域&
+%</zh>
\end{tabular}
\end{center}
\end{table}
で構成されている.したがって,ブロックのリストを示す
代わりに,範囲の定義そのものを示す:
%</ja>
+%<*zh>
+\item[范围4${}^\text{A}$] 通常情况下不包含于日文字体的部分。本范围包含有其他
+范围尚未涵盖部分。故,我们直接给出定义:
+%</zh>
\begin{lstlisting}
\ltjdefcharrange{4}{%
"500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
%<*ja>
\item[範囲5${}^{\text{A}}$] 代用符号と補助私用領域.
%</ja>
+%<*zh>
+\item[范围5${}^\text{A}$] 代替以及补充私有使用区域。
+%</zh>
%<*en>
\item[Range~6${}^{\text{J}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
%</en>
\item[範囲6${}^{\text{J}}$] 日本語で用いられる文字.ブロックのリストは
表\ref{table-rng6}に示す.
%</ja>
+%<*zh>
+\item[范围6${}^\text{J}$] 日文字符。
+%</zh>
\begin{table}[!tb]
%<*en>
\caption{Unicode blocks in predefined character range~6.}
%<*ja>
\caption{文字範囲6に指定されているUnicodeブロック.}
%</ja>
+%<*zh>
+\caption{字符范围6定义的Unicode范围}
+%</zh>
\label{table-rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\begin{center}\small
"FE50--"FE6F&小字形&
"{20}000--"{2F}FFF&(追加漢字面)
%</ja>
+%<*zh>
+"2460--"24FF&圈状字母数字&
+"2E80--"2EFF&CJK部首补充\\
+"3000--"303F&CJK标点符号&
+"3040--"309F&平假名\\
+"30A0--"30FF&片假名&
+"3190--"319F&汉文标注号\\
+"31F0--"31FF&片假名音标补充&
+"3200--"32FF&圈状CJK字母及月份\\
+"3300--"33FF&CJK兼容&
+"3400--"4DBF&CJK统一表意文字扩充A\\
+"4E00--"9FFF&CJK统一表意文字&
+"F900--"FAFF&CJK兼容表意文字\\
+"FE10--"FE1F&直行标点&
+"FE30--"FE4F&CJK兼容形式\\
+"FE50--"FE6F&小写变体&
+"{20}000--"{2F}FFF&(补充字符)
+%</zh>
\end{tabular}
\end{center}
\end{table}
含まれていないもの.
ブロックのリストは表\ref{table-rng7}に示す.
%</ja>
+%<*zh>
+\item[范围7${}^\text{J}$] 不包含于Adobe-Japan1-6的CJK字符,参见表\ref{table-rng7}。
+%</zh>
\begin{table}[!tb]
%<*en>
\caption{Unicode blocks in predefined character range~7.}
%<*ja>
\caption{文字範囲7に指定されているUnicodeブロック.}
%</ja>
+%<*zh>
+\caption{字符范围7定义的Unicode范围}
+%</zh>
\label{table-rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\begin{center}\small
"AC00--"D7AF&ハングル音節文字&
"D7B0--"D7FF&ハングル字母拡張B
%</ja>
+%<*zh>
+"1100--"11FF&谚文字母&
+"2F00--"2FDF&康熙部首\\
+"2FF0--"2FFF&汉字结构描述字符&
+"3100--"312F&注音字母\\
+"3130--"318F&谚文兼容字母&
+"31A0--"31BF&注音字母扩充\\
+"31C0--"31EF&CJK笔划&
+"A000--"A48F&彝文音节\\
+"A490--"A4CF&彝文字母&
+"A830--"A83F&一般印度数字\\
+"AC00--"D7AF&谚文音节&
+"D7B0--"D7FF&谚文字母扩充-B
+%</zh>
\end{tabular}
\end{center}
\end{table}
%<en>\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%<ja>\subsection{\Param{kanjiskip}と\Param{xkanjiskip}}
+%<zh>\subsection{\Param{kanjiskip}和\Param{xkanjiskip}}
\label{subs-kskip}
%<*en>
%<*ja>
\textbf{JAglue}は以下の3つのカテゴリに分類される:
%</ja>
+%<*zh>
+\textbf{JAglue}分为以下三个范畴:
+%</zh>
\begin{itemize}
%<*en>
\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
\item JFMで指定されたグルー/カーン.もし \verb+\inhibitglue+ が和文文字の周りで
発行されていれば,このグルーは挿入されない.
%</ja>
+%<*zh>
+\item JFM设定的胶或出格值。如果在一个日文字符附近使用\verb!\inhibitglue!,则胶便不会插入。
+%</zh>
%<*en>
\item The default glue which inserted between two \textbf{JAchar}s (\Param{%
kanjiskip}).
%<*ja>
\item デフォルトで2つの\textbf{JAchar}の間に挿入されるグルー(\Param{kanjiskip}).
%</ja>
+%<*zh>
+\item 两个\textbf{JAchar}之间默认插入的胶(\Param{kanjiskip})。
+%</zh>
%<*en>
\item The default glue which inserted between a \textbf{JAchar} and an
\textbf{ALchar} (\Param{xkanjiskip}).
%<*ja>
\item デフォルトで\textbf{JAchar}と\textbf{ALchar}の間に挿入されるグルー(\Param{xkanjiskip}).
%</ja>
+%<*zh>
+\item \textbf{JAchar}和\textbf{ALchar}之间默认插入的胶(\Param{xkanjiskip})。
+%</zh>
\end{itemize}
%<*en>
The value (a skip) of \Param{kanjiskip} or \Param{xkanjiskip} can be
%<*ja>
\Param{kanjiskip}や\Param{xkanjiskip}の値は以下のようにして変更可能である.
%</ja>
+%<*zh>
+\Param{kanjiskip}和\Param{xkanjiskip}的设定如下所示:
+%</zh>
\begin{lstlisting}
\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
xkanjiskip={0.25\zw plus 1pt minus 1pt}}
これらのデータを使うためには,\Param{kanjiskip}や\Param{xkanjiskip}の
値を \verb+\maxdimen+ の値に設定すればよい.
%</ja>
+%<*zh>
+当JFM包含“\Param{kanjiskip}理想宽度”和/或“\Param{xkanjiskip}理想宽度”数据时,
+上述设定产生作用。如果想用JFM中的数据,请设定\Param{kanjiskip}或\textsf{xkanjiskip}为\verb!\maxdimen!。
+%</zh>
%<en>\subsection{Insertion Setting of \Param{xkanjiskip}}
%<ja>\subsection{\Param{xkanjiskip} の設定の挿入}
+%<zh>\subsection{\Param{xkanjiskip}插入设定}
%<*en>
It is not desirable that \Param{xkanjiskip} is inserted into every
\textbf{JAchar}に対しては\Param{jaxspmode}を,\textbf{ALchar}に対しては
\Param{alxspmode}をそれぞれ変えることで制御することができる.
%</ja>
+%<*zh>
+并不是在所有的\textbf{JAchar}和\textbf{ALchar}周围插入\textsf{xkanjiskip}都是合适的。
+比如,在开标点之后插入\Param{xkanjiskip}并不合适[如,比较“(あ”和“(\hskip\ltjgetparameter{xkanjiskip}あ”]。
+\LuaTeX-ja可以通过设定\textbf{JAchar}的\Param{jaxspmode}以及\textbf{ALchar}的\Param{alxspmode}来控制
+\Param{xkanjiskip}在字符前后的插入。
+%</zh>
\begin{LTXexample}
\ltjsetparameter{jaxspmode={`あ,preonly}, alxspmode={`\!,postonly}}
pあq い!う
前でのみ許され,後では許さない」ことを意味する.他に指定可能な値は
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}である.
%</ja>
+%<*zh>
+第二个参数\textsf{preonly}表示的含义为“允许在该字符前插入\textsf{xkanjiskip},但不允许在该字符之后插入”。
+其他参数还有\textsf{postonly},\textsf{allow}和\textsf{inhibit}。
+%</zh>
%<*en>
\Param{jaxspmode} and \Param{alxspmode} use a same table to store the parameters
仕様では,\Param{jaxspmode}, \Param{alxspmode}はテーブルを共有しており,
上のコードの1行目を次のように変えても同じことになる:
%</ja>
+%<*zh>
+当前版本的\Param{jaxspmode}和\Param{alxspmode}使用相同的的表保存参数。
+因此,上一行可被写作:
+%</zh>
\begin{verbatim}
\ltjsetparameter{alxspmode={`あ,preonly}, jaxspmode={`\!,postonly}}
\end{verbatim}
%<*ja>
また,これら2パラメータには数値で値を指定することもできる(\ref{ssec-param}節を参照).
%</ja>
+%<*zh>
+你也可以使用数字来定义两个参数(参见\ref{ssec-param})。
+%</zh>
%<*en>
If you want to enable/disable all insertions of \Param{kanjiskip} and
したければ,それぞれ\Param{autospacing}と\Param{autoxspacing}を
\texttt{true}/\texttt{false}に設定すればよい.
%</ja>
+%<*zh>
+如果你想要启用/屏蔽所有的\Param{kanjiskip}和\Param{xkanjiskip}插入,设定
+\Param{autospacing}和\Param{autoxspcing}为\texttt{ture}/\texttt{false}即可。
+%</zh>
%<en>\subsection{Shifting Baseline}
%<ja>\subsection{ベースラインの移動}
-
+%<zh>\subsection{基线浮动}
%<*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
(\Param{yalbaselineshift}パラメータ)と和文フォントのベースラインのシフト量
(\Param{yjabaselineshift}パラメータ)を独立に設定できるようになっている.
%</ja>
+%<*zh>
+为了确保日文字体和西文字体能够对其,有时需要浮动其中一者的基线。
+在\pTeX 中,此项设定由设定\verb!\yabaselineshift!为非零长度(西文字体基线应向下浮动)。
+不过,如果文档的中主要语言不是日文,那么最好上浮日文字体的基线,西文字体不变。
+如上所述,\LuaTeX-ja可以独立设定西文字体的基线(\Param{yabaselineshift}参数)和日文字体的基线(\Param{yjabaselineshift}参数)。
+%</zh>
\begin{LTXexample}
\vrule width 150pt height 0.4pt depth 0pt\hskip-120pt
%<*ja>
上の例において引かれている水平線がベースラインである.
%</ja>
+%<*zh>
+上述水平线为此行基线。
+%</zh>
%<*en>
There is an interesting side-effect: characters in different size can be
異なる文字を中心線に揃えることができるのだ.
以下は一つの例である(値はあまり調整されていないことに注意):
%</ja>
+%<*zh>
+这里还有一个有趣的副作用:不同大小的字符可以通过适当调整这两个参数而在一行中垂直居中。
+下面是一个例子(注意,参数值并没有刻意调整):
+%</zh>
\begin{LTXexample}
xyz漢字
{\scriptsize
%<en>\subsection{Cropmark}
%<ja>\subsection{トンボ}
+%<zh>\subsection{裁剪框标记}
%<*en>
Cropmark is a mark for indicating 4~corners and horizontal/vertical
\pLaTeX と \LuaTeX-jaではトンボの出力をサポートしている.
トンボを出力するためには以下の手順が必要である:
%</ja>
+%<*zh>
+裁剪框标记是在一页的四角和水平/垂直中央放置的标记。在日文中,裁剪框被称为“トンボ”。
+\pLaTeX 和\LuaTeX-ja均在底层支持裁剪框标记。需要下列步骤来实现:
+%</zh>
\begin{enumerate}
%<*en>
例えば,以下はバナーとして`\texttt{filename (YYYY-MM-DD hh:mm)}'を設定する:
%</ja>
+%<*zh>
+\item 首先,首先定义页面左上角将会出现的注记。这由向\verb!@bannertoken!分配一个token列完成。\\
+例如,下列所示将会设定注记为“\textsf{filename (YYYY-MM-DD hh:mm)}”:
+%</zh>
\begin{verbatim}
\makeatletter
%<en>\part{Reference}
%<ja>\part{リファレンス}
+%<zh>\part{参考指南}
\label{part-ref}
%<en>\section{Font Metric and Japanese Font}
%<ja>\section{フォントメトリックと和文フォント}
+%<zh>\section{字体测度和日文字体}
%<en>\subsection{\texttt{\char92jfont} primitive}
%<ja>\subsection{\texttt{\char92jfont}プリミティブ}
+%<zh>\subsection{\texttt{\char92jfont}基本语句}
\label{ssec-jfont}
%<*en>
TrueType/OpenTypeフォントにfeatureを指定したものを和文フォントとして用いる
ことができる:
%</ja>
+%<*zh>
+为了加载日文字体,需要使用\verb!\jfont!基本语句替代\verb!\font!,前者支持后者所有相同句法。
+\LuaTeX-ja自动加载\Pkg{luaotfload}宏包,故TrueType/OpenType字体的特性可以使用于日文字体:
+%</zh>
\begin{LTXexample}
\jfont\tradgt={file:ipaexg.ttf:script=latn;%
+trad;-kern;jfm=ujis} at 14pt
入力はエラーとなることに注意する.以下では \verb+\jfont+ で定義された
コントロールシーケンスを<jfont\_cs>で表す.
%</ja>
+%<*zh>
+注意定义的控制序列(上例中的\verb!\tradgt!)使用的\verb!\jfont!并不是一个\textit{font\_def}标记,
+故类似\verb!\fontname\tradgt!输入会引起错误。
+我们将定义\verb!\jfont!采用<jfont\_cs>。
+%</zh>
\paragraph{JFM}
%<*en>
\verb+\jfont+ プリミティブの呼び出しの際には,どのJFMを用いるのかを以下のキーで
指定する必要がある:
%</ja>
+%<*zh>
+在引言中已提及此项,所谓JFM是字符亮度和日文排版中自动插入的胶/出格。
+JFM的结构将在下节进行描述。在使用\verb!\jfont!基本语句时,必须设定JFM如下两个键:
+%</zh>
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[jfm=<name>]
以下のJFMが\LuaTeX-jaには同梱されている:
%</ja>
+%<*zh>
+设定JFM名称。设定的JFM如未加载,\LuaTeX-ja会搜寻并加载一个命名为\texttt{jfm-}<\textit{name}>\texttt{.lua}的文件。
+
+\LuaTeX-ja提供如下JFM:
+%</zh>
\begin{description}
%<*en>
\item[\tt jfm-ujis.lua] A standard JFM in \LuaTeX-ja. This JFM is
%</en>
%<*ja>
\item[\tt jfm-ujis.lua] \LuaTeX-jaの標準JFMである.このJFMは\upTeX で
- 用いられるUTF/OTFパッケージ用のメトリックである \verb+upnmlminr-h.tfm+ を
+ 用いられるUTF/OTFパッケージ用の和文用TFMである \verb+upnmlminr-h.tfm+ を
元にしている.\Pkg{luatexja-otf}パッケージを使うときはこのJFMを指定するべきである.
%</ja>
+%<*zh>
+\item[\tt jfm-ujis.lua] \LuaTeX-ja标准JFM。次JFM基于\upTeX 使用的UTF/OTF宏包的\verb!upnmlminr-h.tfm!。
+如果你使用\Pkg{luatexja-otf}宏包,你将会用到此JFM。
+%</zh>
%<*en>
\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, `JIS font
metric' which is widely used in \pTeX. A major difference of
\texttt{jfm-jis.lua}の主な違いは,\texttt{jfm-ujis.lua}ではほとんどの文字が
正方形状であるのに対し,\texttt{jfm-jis.lua}では横長の長方形状である.
%</ja>
+%<*zh>
+\item[\tt jfm-jis.lua] 相当于\pTeX 使用的\verb!jis.tfm!(“JIS font metric”)。
+ \texttt{jfm-ujis.lua}和\texttt{jfm-jis.lua}主要区别是:
+ \texttt{jfm-ujis.lua}下的大部分字符是方形,
+ \texttt{jfm-jis.lua}下则为长方形。
+%</zh>
%<*en>
\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
of the default Japanese font metric shipped with \pTeX. There
shown in Table~\ref{tab-difjfm}.
%</en>
%<*ja>
-\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文フォントメトリック
+\item[\tt jfm-min.lua] \pTeX に同梱されているデフォルトの和文用TFM
である \verb+min10.tfm+ に相当するJFMである.このJFMと他の2つのJFMの間には
表\ref{tab-difjfm}に示すような特筆すべき違いがある.
%</ja>
+%<*zh>
+\item[\tt jfm-min.lua] 相当于\pTeX 中默认的\verb!min10.tfm!。
+ 这个JFM与其他2个JFM的区别如表\ref{tab-difjfm}所示。
+%</zh>
\end{description}
-\item[jfmvar=<string>] Sometimes there is a need that ...
+\item[jfmvar=<string>] Sometimes there is a need that \ldots.
\end{list}
\begin{table}[t]
%<en>\caption{Differences between JFMs shipped with \LuaTeX-ja}
%<ja>\caption{\LuaTeX-ja に同梱されている JFM の違い}
+%<zh>\caption{\LuaTeX-ja下不同JFM表现}
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
-\begin{center}
+\begin{center}\small
\def\r#1{{\jfont\g=psft:Ryumin-Light:jfm=#1 at 14.43324pt \g
\setbox0=\vtop{\hsize=7\zw\noindent ◆◆◆◆◆◆◆
ある日モモちゃんがお使いで迷子になって泣きました.}\copy0
\midrule
%<en>Example~1\footnotemark
%<ja>例1\footnotemark
+%<zh>例1\footnotemark
&\r{ujis}&\r{jis}&\r{min}\\
%<en>Example~2
%<ja>例2
+%<zh>例2
&\s{ujis}&\s{jis}&\s{min}\\
Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
\bottomrule
%<en>\paragraph{Note: kern feature}
%<ja>\paragraph{注意:kern feature}
+%<zh>\paragraph{注意:kern feature}
\label{para-kern}
%<*en>
Some fonts have information for inter-glyph spacing. However, this
JFMに基づくグルー/カーンも挿入される場合には2文字間の意図しないスペースの原因と
なる.
%</ja>
-
+%<*zh>
+一些字体具有内部字形间距信息。但是,这些信息在\LuaTeX-ja下并不良好兼容。
+仔细些说,出格间距是在\textbf{JAglue}插入\textbf{之前}而先行插入的,
+这就造成了字体数据中和JFM中的胶/出格在两个字符间插入出错。
+%</zh>
\begin{itemize}
%<*en>
\item You should specify \texttt{-kern} in
\item \texttt{script=...}といったfeatureを使いたい場合には,\verb+\jfont+
プリミティブに\texttt{-kern}を指定するべきである.
%</ja>
+%<*zh>
+\item 当你想使用其他字体特性如\texttt{script=...}的时候,可以在\verb!jfont!基本语句中设置\texttt{-kern}
+%</zh>
%<*en>
\item If you want to use Japanese fonts in proportional width, and use
- information from this font, use \texttt{jfm-prop.lua} for its JFM, and ...
+ information from this font, use \texttt{jfm-prop.lua} for its JFM, and\ldots.
%</en>
%<*ja>
\item もしプロポーショナル幅の和文フォントをそのフォントの情報に基づいて使いたい
ならば,\texttt{jfm-prop.lua}をJFMとして指定し,……
%</ja>
-
+%<*zh>
+\item 如果你想使用比例宽度的日文字体,并且使用此字体信息,使用\texttt{jfm-prop.lua}为其JFM,……
+%</zh>
TODO: kanjiskip?
\end{itemize}
%<en>\subsection{Prefix \texttt{psft}}
%<ja>\subsection{\texttt{psft}プリフィックス}
+%<zh>\subsection{\texttt{psft}前缀}
\label{ssec-psft}
%<*en>
Besides \texttt{file:}\ and \texttt{name:}\ prefixes, one can use \texttt{psft:}\
和文フォントを指定することができる.「標準的な」和文フォント,
つまり`Ryumin-Light'と`GothicBBB-Medium'の指定でこのプリフィックスが使われる.
%</ja>
+%<*zh>
+除使用\texttt{file:}和\texttt{name:}外,我们还可以在\verb!\jfont!(以及\verb!\font!)
+中使用\texttt{psft:}来设定一个“名义上”的并不嵌入PDF中的日文字体。
+此前缀的典型使用是定义“标准”日文字体,即“Ryumin-Light”和“GothicBBB-Medium”。
+\paragraph{\texttt{cid}键} 默认使用\texttt{psft:}前缀定义的字体是为Adobe-Japan1-6 CID字体。
+也可以使用\texttt{cid}键来使用其他的CID字体,如中文和韩文。
+%</zh>
%<en>\paragraph{\texttt{cid} key}
%<ja>\paragraph{\texttt{cid}キー}
%<en>\subsection{Structure of JFM file}
%<ja>\subsection{JFMファイルの構造}
+%<zh>\subsection{JFM结构}
%<*en>
A JFM file is a Lua script which has only one function call:
%<*ja>
JFMファイルはただ一つの関数呼び出しを含むLuaスクリプトである:
%</ja>
+%<*zh>
+JFM文件为下列函数调用的Lua脚本:
+%</zh>
\begin{verbatim}
luatexja.jfont.define_jfm { ... }
\end{verbatim}
なお,JFMファイル中の長さは全てdesign-sizeを単位とする浮動小数点数であることに
注意する.
%</ja>
+%<*zh>
+实际的数据保存在表中,即如上的\verb!{ ... }!。
+以下部分描述表结构。
+请注意,在JFM中的所有长度都是按照以design-size为单位的浮点数。
+%</zh>
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[dir=<direction>]
%<en>(required)
%<ja>(必須)
+%<zh>(必须)
%<en>The direction of JFM. At the present, only \texttt{'yoko'} is supported.
%<ja>JFMの書字方向.現時点では\texttt{'yoko'}のみがサポートされる.
+%<zh>JFM的方向,现在只支持\texttt{yoko}(水平)。
\item[zw=<length>]
%<en>(required)
%<ja>(必須)
+%<zh>(必须)
%<en>The amount of the length of the `full-width'.
%<ja>「全角幅」の長さ.
+%<zh>“全角”长度。
\item[zh=<length>]
%<en>(required)
%<ja>(必須)
+%<zh>(必须)
%<en>The amount of the length of the `full-height' (height + depth).
%<ja>「全角高さ」(height + depth)の長さ.
+%<zh>“全角高度”(height + depth)长度。
\item[kanjiskip=\{<natural>, <stretch>, <shrink>\}]
%<en>(optional)
%<ja>(任意)
+%<zh>(可选)
%<*en>
This field specifies the `ideal' amount of \Param{kanjiskip}. As noted
0\,ptであるものとして扱われる).<stretch>と<shrink>のフィールドもdesign-size
が単位であることに注意せよ.
%</ja>
+%<*zh>
+这部分为“理想长度”\Param{kanjiskip}。\ref{subs-kskip}节有详述,如果参数\Param{kanjiskip}
+为\verb!\maxdimen!,则值设定将会被使用(若再JFM中未设定,则被视为0\,pt)。
+请注意,<stretch>和<shrink>的长度均为design-size单位。
+%</zh>
\item[xkanjiskip=\{<natural>, <stretch>, <shrink>\}]
%<en>(optional)
%<ja>(任意)
+%<zh>(可选)
%<*en>
Like the \Param{kanjiskip} field, this field specifies the `ideal'
\Param{kanjiskip}フィールドと同様に,\Param{xkanjiskip}の「理想的な」量を
指定する.
%</ja>
+%<*zh>
+和\Param{kanjiskip}类似,此部分设定\Param{xkanjiskip}的“理想长度”。
+%</zh>
\end{list}
%<*en>
が\texttt{[0]}のサブテーブルを持たなければならない.それぞれのサブテーブル
(そのインデックスを$i$で表わす)は以下のフィールドを持つ:
%</ja>
+%<*zh>
+除了上面涉及到的内容,JFM文件中还有几个以自然数进行声明的次级表。
+这些表依靠满足$i\in\omega$的“字符类”$i$来索引。
+一般,最少需要的是字符类0,故每一个JFM文件必须有次级表索引为\texttt{[0]}。
+%</zh>
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[chars=\{<character>, ...\}]
%<en>(required except character class~0)
%<ja>(文字クラス0を除いて必須)
+%<zh>(字符类0外必须)
%<*en>
This field is a list of characters which are in this character
文字それ自体(長さ1の文字列)によって指定される.さらに,このリストで指定される
「仮想的な文字」も存在する.これらについては後に記す.
%</ja>
+%<*zh>
+这部分为字符集$i$的字符列表。当$i=0$时不需要设定此部分,因为不在字符集0种的\textbf{JAchar}
+字符都包含在字符集0中(也就是字符集0包含大多数的\textbf{JAchar})。在这个字符列表中,每一个
+字符据可以使用其编码,或者字符本身(长度为1的字符串)。另外还有部分“假想字符”可在此列表中
+使用。我们会在下面描述。
+%</zh>
\item[width=<length>, height=<length>, depth=<length>, italic=<length>]
%<en>(required)
%<ja>(必須)
+%<zh>(必须)
%<*en>
Specify width of characters in character class~$i$, height, depth and
しかし,例外が一つある:もし\texttt{'prop'}が\texttt{width}フィールドに
指定された場合,文字の幅はその「実際の」グリフの幅となる.
%</ja>
+%<*zh>
+设定字符类$i$的宽度,高度和深度以及意大利体校正。在字符集$i$中,所有字符的宽度,高度
+和深度的值为上述设定之值。不过还有例外,如果\texttt{'prop'}设定了\texttt{width}部分,那么
+字符的宽度则为其“真实”字形宽度。
+%</zh>
\item[left=<length>, down=<length>, align=<align>]\
\texttt{'left'}であるものとして扱われる.
これら3つのフィールドの意味については図\ref{fig-pos}で説明する.
%</ja>
+%<*zh>
+此部分为“真实”字形对齐位置。\texttt{align}的合法值为\texttt{'left'},
+\texttt{'middle'}和\texttt{'right'}。如此三项被省略,则\texttt{left}和
+\texttt{down}被视作0,\texttt{align}被视作\texttt{'left'}。
+此部分三个域的作用,请参见图\ref{fig-pos}。
+%</zh>
%<*en>
In most cases, \texttt{left} and \texttt{down} fields are~0, while
例えば,\texttt{align}フィールドを\texttt{'right'}に指定することは,
文字クラスが開き括弧類であるときに実際必要である.
%</ja>
+%<*zh>
+在大多数情况下,\texttt{left}和\texttt{down}域为0,但是在\texttt{align}域为
+\texttt{'middle'}或者\texttt{'right'}时则是不正常的。例如,必须设定\texttt{align}
+为\texttt{'right'}时,则当前字符类必须为开定界符。
+%</zh>
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\texttt{align}フィールドの値が\texttt{'middle'}である和文文字を含むノードを
考えよう.
%</ja>
+%<*zh>
+假定一个node包含日语字符,且其值为\texttt{align}的\texttt{'middle'}。
+%</zh>
\begin{itemize}
\item
%<*en>
黒色の長方形はノードの枠である.
その幅,高さ,深さはJFMによって指定される.
%</ja>
+%<*zh>
+黑色长方形为node框。其宽度,高度,深度均为JFM所设定。
+%</zh>
\item
%<*en>
Since the \texttt{align} field is \texttt{'middle'},
\texttt{align}フィールドは\texttt{middle}なので,「実際の」グリフは
水平方向の中心に配置される(緑色の長方形).
%</ja>
+%<*zh>
+因\texttt{align}被设定为\texttt{middle},故“真实”字形为水平居中(绿长方形中)。
+%</zh>
\item
%<*en>
Furthermore, the glyph is shifted according to values of fields
さらに,グリフは\texttt{left}と\texttt{down}の値に従ってシフトされる.
最終的な実際のグリフの位置は赤色の長方形で示された位置になる.
%</ja>
+%<*zh>
+此外,字形移位由\texttt{left}和\texttt{down}决定。最终字形位置为红长方形所示。
+%</zh>
\end{itemize}
\end{minipage}
-\caption{
+\medskip
+
+\caption{%
%<en>The position of the `real' glyph.
%<ja>「実際の」グリフの位置.
+%<zh>“真实”字形位置
}
\label{fig-pos}
\end{figure}
-
\item[kern={\{[$j$]=<kern>, ...\}}]
\item[glue={\{[$j$]=\{<width>, <stretch>, <shrink>\}, ...\}}]
クラス0の文字」として扱われていた文字であり,その結果として\pTeX より細か
い組版調整ができるようになっている.以下でその一覧を述べる:
%</ja>
+%<*zh>
+如上所述,你可以在\texttt{chars}中设定多个“假想字符”。这些字符中的多数字符在
+\pTeX 中式被视作字符集0中字符。故此,\LuaTeX-ja可以比\pTeX 做得更好。
+下列为“假想字符”列表:
+%</zh>
\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item['lineend']
%<en>An ending of a line.
%<ja>行の終端を表す.
+%<zh>行尾结束字符。
\item['diffmet']
%<en>Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%<ja>JFMやサイズが異なる2つの\textbf{JAchar}の間の境界として用いられる.
+%<zh>用于两个不同大小或不同JFM的两个\textbf{JAchar}间边界。
\item['boxbdd']
%<en>The beginning/ending of a horizontal box, and the beginning of a noindented paragraph.
%<ja>水平ボックスの先頭と末尾,及びインデントされていない(\verb+\noindent+ で開始された)段落の先頭を表す.
+%<zh>水平合字结束或结尾,以及未缩进段落开头。
\item['parbdd']
%<en>The beginning of an (indented) paragraph.
%<ja>通常の(\verb+\noindent+ で開始されていない)段落の先頭.
+%<zh>缩进段落开头。
\item['jcharbdd']
-%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue, ...).
+%<en>A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
%<ja>和文文字と「その他のもの」(欧文文字,glue,kern等)との境界.
+%<zh>日文字符和其他(如\textbf{ALchar},胶,出格等)边界。
\item[$-1$]
%<en>The left/right boundary of an inline math formula.
%<ja>行中数式と地の文との境界.
+%<zh>行中数学式的左/右边界。
\end{list}
%<en>\paragraph{Porting JFM from \pTeX}
-%<ja>\paragraph{\pTeX 用和文フォントメトリックの移植}
+%<ja>\paragraph{\pTeX 用和文用TFMの移植}
+%<zh>\paragraph{\pTeX 下使用的TFM移植}
% ToDo: English version.
%<*en>
-...
+\ldots
%</en>
%<*ja>
-以下に,\pTeX 用和文フォントメトリックを\LuaTeX-ja用に移植する場合の注意点を挙げておく.
+以下に,\pTeX 用に作られた和文用TFMを\LuaTeX-ja用に移植する場合の注意点を挙げておく.
\begin{itemize}
\item 実際に出力される和文フォントのサイズがdesign sizeとなる.
このため,例えば$1\,\textrm{zw}$がdesign sizeの0.962216倍であるJISフォン
\footnote{\texttt{no\_runtime/ltjsclasses.dtx} を参照されたい.
JFM側で一部の対処ができることにより,\Pkg{jsclasses}のようにif文の判定はしていない.}
%</ja>
+%<*zh>
+下面,给出用于\pTeX 使用的JFM移植到\LuaTeX-ja过程中需要注意的几点。
+%</zh>
+
%<en>\subsection{Math Font Family}
%<ja>\subsection{数式フォントファミリ}
+%<zh>\subsection{数学字体族}
\label{ssec-math}
%<*en>
\begin{table}[!tb]
%<en>\caption{Primitives for Japanese math fonts.}
%<ja>\caption{和文数式フォントに対するプリミティブ.}
+%<zh>\caption{日语数学字体基本语句}
\label{tab-math}
-\begin{center}\def\{{\char`\{}\def\}{\char`\}}
-\begin{tabular}{lll}
+\begin{center}
+\def\{{\char`\{}\def\}{\char`\}}\small
+\begin{tabular}{ll}
\toprule
-%<en>&Japanese fonts&alphabetic fonts\\
-%<ja>&和文フォント&欧文フォント\\
+%<en>\bf Japanese fonts&\bf alphabetic fonts\\
+%<ja>\bf 和文フォント&\bf 欧文フォント\\
+%<zh>\bf 日文字体&\bf 西文字体\\
\midrule
-font family&\verb+\jfam+${}\in [0,256)$&\verb+\fam+\\
-text size&\tt\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\textfont+<fam>=<font\_cs>\\
-script size&\tt\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptfont+<fam>=<font\_cs>\\
-scriptscript size&\tt\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}&\tt\verb+\scriptscriptfont+<fam>=<font\_cs>\\
+\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>\\
\bottomrule
\end{tabular}
\end{center}
%<en>\subsection{Callbacks}
%<ja>\subsection{コールバック}
+%<zh>\subsection{回调}
%<*en>
Like \LuaTeX\ itself, \LuaTeX-ja also has callbacks. These callbacks can
{\def\makelabel#1{\bfseries#1}}
%<en>\item[\texttt{luatexja.load\_jfm} callback]
%<ja>\item[\texttt{luatexja.load\_jfm}コールバック]
+%<zh>\item[\texttt{luatexja.load\_jfm}回调]
%<*en>
With this callback you can overwrite JFMs.
This callback is called when a new JFM is loaded.
%<en>\item[\texttt{luatexja.define\_font} callback]
%<ja>\item[\texttt{luatexja.define\_font}コールバック]
+%<zh>\item[\texttt{luatexja.define\_font}回调]
%<*en>
This callback and the next callback form a pair, and you can assign letters which don't have
fixed code points in Unicode to non-zero character classes.
\item[\tt jfm]
%<en>The index number of JFM.
%<ja>JFMのインデックス番号.
+%<zh>JFM索引编号。
\item[\tt size]
%<en>Font size in a scaled point (${}=2^{-16}\,\textrm{pt}$).
%<ja>スケールド・ポイント(${}=2^{-16}\,\textrm{pt}$)を単位としたフォントのサイズ.
+%<zh>以参照点(${}=2^{-16}\,\textrm{pt}$)为点位的字体大小。
\item[\tt var]
%<en>The value specified in \texttt{jfmvar=...} at a call of \verb+\jfont+.
%<ja>\verb+\jfont+ の呼び出しの際に\texttt{jfmvar=...}で指定された値.
+%<zh>\verb!\jfont!调用的\texttt{jfmvar=...}值。
\end{description}
%<*en>
%<en>\item[\texttt{luatexja.find\_char\_class} callback]
%<ja>\item[\texttt{luatexja.find\_char\_class}コールバック]
+%<zh>\item[\texttt{luatexja.find\_char\_class}回调]
%<*en>
This callback is called just when \LuaTeX-ja is trying to determine which
character class a character \verb+chr_code+ belongs.
%<*ja>
このコールバックは\LuaTeX-jaのコードを書き換えない.
%</ja>
+%<*zh>
+此回调不会替换\LuaTeX-ja中任何代码。
+%</zh>
%<en>\item[\texttt{luatexja.set\_width} callback]
%<ja>\item[\texttt{luatexja.set\_width}コールバック]
+%<zh>\item[\texttt{luatexja.set\_width}回调]
%<*en>
This callback is called when \LuaTeX-ja is trying to encapsule a
\textbf{JAchar} \textit{glyph\_node}, to adjust its
%<en>\section{Parameters}
%<ja>\section{パラメータ}
+%<zh>\section{参数}
%<en>\subsection{\texttt{\char92 ltjsetparameter} primitive}
%<ja>\subsection{\texttt{\char92 ltjsetparameter}プリミティブ}
+%<zh>\subsection{\texttt{\char92 ltjsetparameter}基本参数}
%<*en>
As noted before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
先に述べたように,\verb+\ltjsetparameter+ と \verb+\ltjgetparameter+ は
\LuaTeX-jaのほとんどのパラメータにアクセスするためのプリミティブである.
\LuaTeX-jaが\pTeX のような文法(例えば,\verb+\prebreakpenalty`)=10000+)を
-採用しない理由の一つは,\LuaTeX のソースにおける \verb+\hpack_filter+
+採用しない理由の一つは,\LuaTeX のソースにおける \verb+hpack_filter+
コールバックの位置にある.\ref{sec-para}節を参照.
%</ja>
%<en>\subsection{List of Parameters}
%<ja>\subsection{パラメータ一覧}
+%<zh>\subsection{参数一览}
\label{ssec-param}
%<*en>
また,それぞれのパラメータの右上にある記号には次の意味がある:
%</ja>
\begin{itemize}
+%<*zh>
+\item % avoiding from error ``Something's wrong--perhaps a missing \item.''.
+%</zh>
%<*en>
\item No mark: values at the end of the paragraph or the hbox are
adopted in the whole paragraph/hbox.
\item[\Param{jatextfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\textfont+ in \TeX]
%<ja>[\TeX の \verb+\textfont+]
+%<zh>[\TeX 的\verb+\textfont+]
\item[\Param{jascriptfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\scriptfont+ in \TeX]
%<ja>[\TeX の \verb+\scriptfont+]
+%<zh>[\TeX 中的\verb+\scriptfont+]
\item[\Param{jascriptscriptfont}\,=\{<jfam>,<jfont\_cs>\}]
%<en>[\verb+\scriptscriptfont+ in \TeX]
%<ja>[\TeX の \verb+\scriptscriptfont+]
+%<zh>[\TeX 中的\verb+\scriptscriptfont+]
\item[\Param{yjabaselineshift}\,=<dimen>$^\ast$]\
\item[\Param{yalbaselineshift}\,=<dimen>$^\ast$] [\verb+\ybaselineshift+]
\begin{description}
%<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}の挿入は文字の前/後ろのいずれでも禁止される.
+%<zh>\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}の挿入は文字の前では許されるが,後ろでは許されない.
+%<zh>\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}の挿入は文字の後ろでは許されるが,前では許されない.
+%<zh>\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}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<zh>\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+.
このパラメータは\pTeX の \verb+\inhibitxspcode+ プリミティブと似ているが,
互換性はない.
%</ja>
-
+%<*zh>
+此参数类似\pTeX 基本语句\verb!\inhibitxspcode!,但是和\verb!\inhibitxspcode!不兼容。
+%</zh>
\item[\Param{alxspmode}\,=\{<chr\_code>,<mode>\}] [\verb+\xspcode+]
%<*en>
\begin{description}
%<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}の挿入は文字の前/後ろのいずれでも禁止される.
+%<zh>\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}の挿入は文字の前では許されるが,後ろでは許されない.
+%<zh>\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}の挿入は文字の後ろでは許されるが,前では許されない.
+%<zh>\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}の挿入は文字の前/後ろのいずれでも許される.これがデフォルトの値である.
+%<zh>\item[3, \texttt{allow}] 文字前后均可插入\Param{xkanjiskip}。此为默认值。
\end{description}
%<*en>
Note that parameters \Param{jaxspmode} and \Param{alxspmode} use a common table, hence these two parameters are synonyms of each other.
\Param{jaxspmode}と\Param{alxspmode}は共通のテーブルを用いているため,
これら2つのパラメータは互いの異名となっていることに注意する.
%</ja>
+%<*zh>
+注意参数\Param{jaxspmode}和\Param{alxspmode}公用一个表,故这两个参数互为同义语。
+%</zh>
\item[\Param{autospacing}\,=<bool>$^\ast$] [\verb+\autospacing+]
\item[\Param{autoxspacing}\,=<bool>$^\ast$] [\verb+\autoxspacing+]
入れるかを指定うる.
許される値は以下の通り:
%</ja>
+%<*zh>
+对于处理不同大小或者JFM的两种\textbf{JAchar}之间的胶/出格。
+有下列参数:
+%</zh>
\begin{description}
\item[\texttt{average}]
\item[\texttt{both}]
%<en>\section{Other Primitives}
%<ja>\section{その他のプリミティブ}
+%<zh>\section{其他基本语句}
%<en>\subsection{Primitives for Compatibility}
%<ja>\subsection{互換プリミティブ}
+%<zh>\subsection{基本语句兼容性}
%<*en>
The following primitives are implemented for compatibility with \pTeX:
%<*ja>
以下のプリミティブは\pTeX との互換性のために実装されている:
%</ja>
+%<*zh>
+下列基本语句的实现与\pTeX 兼容:
+%</zh>
\begin{list}{}{\def\makelabel{\ttfamily\char92 }\advance\leftmargin1\zw}
\item[kuten]
\item[jis]
%<en>\subsection{\texttt{\char92 inhibitglue} primitive}
%<ja>\subsection{\texttt{\char92 inhibitglue}プリミティブ}
-
+%<zh>\subsection{\texttt{\char92 inhibitglue}基本语句}
%<*en>
The primitive \verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
The following is an example, using a special JFM that there will be a glue between
以下は,ボックスの始めと`あ'の間,`あ'と`ウ'の間にグルーが入る特別なJFMを用いた例で
ある.
%</ja>
+%<*zh>
+基本语句\verb!\inhibitglue!会压缩\textbf{JAchar}的插入。
+下面的例子使用了特殊的JFM。在一个盒子和“あ”之间,以及“あ”和“ウ”之间存在胶。
+%</zh>
\begin{LTXexample}
\jfont\g=psft:Ryumin-Light:jfm=test \g
%<*ja>
この例を援用して,\verb+\inhibitglue+ の仕様について述べる.
%</ja>
+%<*zh>
+如上例子,我们注意到\verb!\inhibtglue!的用法。
+%</zh>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
simply ignored.
%<en>\section{Control Sequences for \LaTeXe}
%<ja>\section{\LaTeXe 用のコントロールシーケンス}
+%<zh>\section{\LaTeXe 下使用的控制序列}
%<en>\subsection{Patch for NFSS2}
%<ja>\subsection{NFSS2へのパッチ}
+%<zh>\subsection{NFSS2补丁}
\label{ssub-nfsspat}
%<*en>
%</ja>
\item[adjustbaseline]
-...
+\ldots
\item[fontfamily\{<family>\}]
{\let\item\origitem
どのファミリが変更されるかは以下のようにして決定される:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item Let current encoding scheme for Japanese fonts be
<ja-enc>. Current Japanese font family will be changed to
\item A font definition named \texttt{<enc><ja-enc>.fd} (the file name is
all lowercase) exists.
%</en>
+%<*zh>
+\item
+%</zh>
%<*ja>
\item フォント定義ファイル\texttt{<enc><ja-enc>.fd}(ファイル名は全て小文字)が存在する.
%</ja>
以下の点で通常の文字と異なる:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item Always treated as \textbf{JAchar}s.
%</en>
\dim{jQ}
%<*en>
-As explained in Subsection~\ref{ssec-plain}, \verb+\jQ+ is equal to
+\verb+\jQ+ is equal to
$1\,\textrm{Q}=0.25\,\textrm{mm}$, where `Q'~(also called `級') is
a unit used in Japanese phototypesetting. So one should not change the value of this dimension.
%</en>
%<*ja>
-\ref{ssec-plain}節で述べたように,\verb+\jQ+ は$1\,\textrm{Q}=0.25\,\textrm{mm}$
+\verb+\jQ+ は$1\,\textrm{Q}=0.25\,\textrm{mm}$
と等しい.ここで,`Q'(もしくは「級」)は日本の写植で用いられる単位である.したがって,
この寸法レジスタの値を変更してはならない.
%</ja>
\verb+\jH+ is a synonym of \verb+\jQ+.
%</en>
%<*ja>
-å\90\8cã\81\98ã\81\8få\86\99æ¤\8dã\81§ç\94¨ã\81\84ã\82\89ã\82\8cã\81¦ã\81\84ã\81\9få\8d\98ä½\8dã\81¨ã\81\97ã\81¦ã\80\8cæ¯ã\80\8dã\81\8cã\81\82ã\82\8aï¼\8cã\81\93ã\82\8cã\81¯$0.25\,\textrm{mm}$と
+å\90\8cã\81\98ã\81\8få\86\99æ¤\8dã\81§ç\94¨ã\81\84ã\82\89ã\82\8cã\81¦ã\81\84ã\81\9få\8d\98ä½\8dã\81¨ã\81\97ã\81¦ã\80\8cæ¯ã\80\8dã\81\8cã\81\82ã\82\8aï¼\8cã\81\93ã\82\8cã\82\82$0.25\,\textrm{mm}$と
等しい.\verb+\jH+ は \verb+\jQ+ の別名である.
%</ja>
\item[\textit{line\_end} (5)]
%<*en>
-Kerns for ...
+Kerns for \ldots
%</en>
%<*ja>
-カーン ...
+和文文字が行末にきたとき,行末との間に挿入されるカーンである.
+% ぶら下げ組への応用
%</ja>
\item[\textit{kanji\_skip} (6)]
\item[\textit{processed} (8)]
%<*en>
-Nodes which is already processed by ...
+Nodes which is already processed by \ldots.
%</en>
%<*ja>
-... によって既に処理されたノード.
+\LuaTeX-ja の内部処理によって既に処理されたノード.
%</ja>
\item[\textit{ic\_processed} (9)]
%<en>\paragraph{The method}
%<ja>\paragraph{解決法}
+%<zh>\paragraph{解决方法}
%<*en>
The code of stack system is based on that in a post of Dev-luatex mailing list\footnote{%
$t$とすると:
%</ja>
\begin{itemize}
+%<*zh>
+\item
+%</zh>
%<*en>
\item If there is no \textit{stack\_flag} node in the list of the hbox, then
no assignment was occurred inside the hbox. Hence values of
%<en>\section{Linebreak after Japanese Character}
%<ja>\section{和文文字直後の改行}
+%<zh>\section{日文字符后断行}
\label{sec-lbreak}
%<en>\subsection{Reference: Behavior in \pTeX}
-%<ja>\subsection{参考:\pTeX の動作}
+%<ja>\subsection{参考:\pTeX の動作}
+%<zh>\subsection{参考: \pTeX 行为}
%<*en>
In~\pTeX, a line break after a Japanese character doesn't emit a space,
since words are not separated by spaces in Japanese writings. However,
%</ja>
\begin{figure}[!tb]
-\begin{gather*}
- \def\sp{\texttt{\char32}}
- \xymatrix{&&
- {\text{scan a cs}}\ar@(r,ul)[dr]&\\
-\ar[r]&
- *++[o][F-]{N}\ar[ur]^0\ar[dd]_{d,\ g}\ar[u]^{5\ (\texttt{\char92par})}
- \ar@{->}@(d,l)[ddrr]_(0.45){j}&&
- *++[o][F-]{S}\ar@(l,dr)[ul]^0\ar@(l,ur)[ddll]_{d,\ g}\ar[u]_{5}
- \ar@{->}@(r,r)[dd]^{j}\\&\\&
- *++[o][F-]{M}\ar[uuur]^0\ar@(r,dl)[uurr]_(0.55){10\ (\sp)}
- \ar[d]_{5\ ({\sp})}\ar@{->}@(dr,dl)[rr]_{j}&&
- *++[o][F-]{K}\ar@{->}@(ul,d)[uuul]^0\ar@{->}[ll]^{d}
- \ar@{->}@(ur,dr)[uu]^{10\ (\sp)}\ar@{->}[d]_5\\
- &&&
- }\\
- d:=\{3,4,6,7,8,11,12,13\},\quad g:=\{1,2\},\quad j:=(\text{Japanese characters})
-\end{gather*}
+\let\sp\textvisiblespace\small
+\begin{minipage}{.6\textwidth}%
+\begin{center}
+\unitlength=6.5mm\sf\mathversion{bold}
+\begin{tikzpicture}[
+ ->, auto, shorten >=1pt
+]
+\node [shape=rectangle, font=\scriptsize] (init) at (2,7) {start};
+\node [shape=circle,draw, fill=blue!20] (newline) at (4,7) {$N$};
+\node [shape=circle,draw, fill=blue!20] (midline) at (4,4) {$M$};
+\node [shape=circle,draw, fill=blue!20] (skipspc) at (8,7) {$S$};
+\node [shape=circle,draw, fill=red!20] (kanji) at (8,4) {$K$};
+\node [shape=rectangle,draw, fill=green!20] (scanacs) at (6,8) {scan a c.s.};
+\node (endk) at (8,2.5) {} ;
+\node (endm) at (4,2.5) {} ;
+\node (ends) at (8,8.5) {} ;
+\node (endn) at (4,8.5) {} ;
+\begin{scope}[font=\scriptsize]
+\path (newline) edge [bend right] node [left]{G, O} (midline)
+ (init) edge node {} (newline)
+ (midline) edge [bend right=10] node {10} (skipspc)
+ (skipspc) edge [bend right] node [left,right=10,above=7]{G, O} (midline)
+ (skipspc) edge [loop right] node {10} (skipspc)
+ (newline) edge [loop right] node {10} (newline)
+ (scanacs) edge [bend left] node [left=3,below]{$(*)$} (skipspc)
+ (scanacs) edge [bend right] node [right=30,above=20]{$(*)$} (midline)
+ (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\char92par}]} (endn);
+\begin{scope}[red]
+\path (newline) edge [bend right] node [right=25,below=3]{J} (kanji)
+ (midline) edge node [below]{J} (kanji)
+ (kanji) edge [bend left] node {O} (midline)
+ (kanji) edge node {10} (skipspc)
+ (kanji) edge [loop right] node {G, J} (kanji)
+ (skipspc) edge [bend left] node {J} (kanji)
+ (kanji) edge node {5} (endk)
+;
+\end{scope}
+\end{scope}
+\end{tikzpicture}
+\end{center}
+\end{minipage}%
+\begin{minipage}{.4\textwidth}
+\begin{description}
+\item[\textsf{G}] Beginning of group (usually \verb+{+)\\
+ and ending of group (usually \verb+}+).
+\item[\textsf{J}] Japanese characters.
+\item[\textsf{5}] \textit{end-of-line} (usually \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\char92par}]}]
+emits a space, or~\verb+\par+.
+\end{description}
+\end{minipage}
\begin{itemize}
-%<*en>
-\item Numbers represent category codes.
-%</en>
-%<*ja>
-\item 数字はカテゴリーコードを表わしている.
-%</ja>
-%<*en>
-\item Category codes 9~(ignored), 14~(comment)~and~15~(invalid) are omitted in the above diagram.
-%</en>
-%<*ja>
-\item カテゴリーコード9(無視する文字),14(コメント文字),15(無効文字)は上の図では省かれている.
-%</ja>
+\item We omitted about category codes
+9~(\textit{ignored}), 14~(\textit{comment})~and~15~(\textit{invalid})
+from the above diagram. We also ignored the input like `\verb+^^A+' or `\verb+^+\verb+^df+'.
+\item When a character whose category code is 0 (\textit{escape character}) is seen by \TeX,
+the input processor scans a control sequence (\textsf{scan a c.s.}).
+These paths are not shown in the above diagram.
+
+After that, the state is changed to State~$S$ (skipping blanks) in most cases, but
+to State~$M$ (middle of line) sometimes.
\end{itemize}
%<en>\caption{State transitions of \pTeX's input processor.}
%<ja>\caption{\pTeX の入力処理部の状態遷移.}
%<en>\subsection{Behavior in \LuaTeX-ja}
%<ja>\subsection{\LuaTeX-jaの動作}
+%<zh>\subsection{\LuaTeX-ja行为}
%<*en>
States in the input processor of \LuaTeX\ is the same as that of \TeX,
and they can't be customized by any callbacks. Hence, we can only use
\begin{quote}
A character U+FFFFF (its category code is set to 14~(comment) by
\LuaTeX-ja) is appended to an input line, \emph{before \LuaTeX\ actually
-process it}, if and only if the following two conditions are satisfied:
+process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
-\item The category code of the character $\langle${return}$\rangle$
- (whose character code is 13) is 5~(end-of-line).
+\item The category code of \verb+\endlinechar+%
+\footnote{Usually, it is $\langle${return}$\rangle$
+ (whose character code is 13).} is 5~(end-of-line).
+\item The category code of U+FFFFF itself is 14~(comment).
\item The input line matches the following `regular expression':
\[
(\text{any char})^*(\textbf{JAchar})
\begin{quote}
各入力行に対し,\textbf{その入力行が読まれる前の内部状態で}
-以下の2条件が満たされている場合,\LuaTeX-jaはU+FFFFF番の文字
+以下の3条件が満たされている場合,\LuaTeX-jaはU+FFFFF番の文字
\footnote{この文字はコメント文字として扱われるように\LuaTeX-ja内部で設定をしている.}
を末尾に追加する.よって,その場合に改行は空白とは見做されないこととなる.
\begin{enumerate}
-\item 改行文字(文字コード13番)のカテゴリーコードが5~(end-of-line)である.
+\item \verb+\endlinechar+の文字\footnote{普通は,改行文字(文字コード13番)である.}
+のカテゴリーコードが5~(end-of-line)である.
+\item U+FFFFFのカテゴリーコードが14~(comment)である.
\item 入力行は次の「正規表現」にマッチしている:
\[
(\text{any char})^*(\textbf{JAchar})
%<en>\section{Insertion of JFM glues, \Param{kanjiskip} and \Param{xkanjiskip}}
%<ja>\section{JFMグルーの挿入,\Param{kanjiskip}と\Param{xkanjiskip}}
+%<zh>\section{JFM的胶插入,\Param{kanjiskip}和\Param{xkanjiskip}}
\label{sec-jfmglue}
%<en>\subsection{Overview}
%<ja>\subsection{概要}
+%<zh>\subsection{概要}
\LuaTeX-jaにおける和文処理グルーの挿入方法は,\pTeX のそれとは全く異なる.
\pTeX では次のような仕様であった:
%<en>\subsection{definition of a `cluster'}
%<ja>\subsection{「クラスタ」の定義}
+%<zh>\subsection{“cluster”定义}
\def\OA{$\text{\sf O}_{\text{\sf A}}$}
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
\begin{table}[t]
%<en>\caption{Summary of JFM glues.}
%<ja>\caption{JFM グルーの概要.}
+%<zh>\caption{JFM胶总结。}
\label{tab-jfmglue}
\begin{center}
\small
-\begin{tabular}{>{\sf}c|cccccc}
+\begin{tabular}{c|cccccc}
\toprule
{\bf\textit{Np}}↓&\sf 和文A&\sf 和文B&\sf 欧文&\sf 箱&\sf glue&\sf kern\\\midrule
-和文A&
+\sf 和文A&
\gkf{E}{M→K}{PN}&
\gkf{---}{\OA →K}{PN}&
\gkf{---}{\OA →X}{PN}&
\gkf{---}{\OA}{PA}&
\gkf{---}{\OA}{PN}&
\gkf{---}{\OA}{PS}\\
-和文B&
+\sf 和文B&
\gkf{E}{\OB→K}{PA}&
\gkf{---}{K}{PS}&
\gkf{---}{X}{PS}\\
-欧文&
+\sf 欧文&
\gkf{E}{\OB →X}{PA}&
\gkf{---}{X}{PS}\cr
-箱&\gkf{E}{\OB}{PA}\\
-glue&\gkf{E}{\OB}{PN}\\
-kern&\gkf{E}{\OB}{PS}\\
+\sf 箱&\gkf{E}{\OB}{PA}\\
+\sf glue&\gkf{E}{\OB}{PN}\\
+\sf kern&\gkf{E}{\OB}{PS}\\
\bottomrule
\end{tabular}
\end{center}
\bibitem{texbytopic}
Victor Eijkhout, \emph{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
\end{thebibliography}
+
+\newpage
+\appendix
+\section{Package versions used in this document}
+This document was typeset using the following packages:
+
+\medskip
+
+{\makeatletter\tt\footnotesize
+ \def\@pkglist#1{%
+ \filename@parse{#1}\def\@temp{sty}
+ \ifx\@temp\filename@ext
+ \edef\reserved@a{%
+ \filename@base.%
+ \ifx\filename@ext\relax tex\else\filename@ext\fi}%
+ \leavevmode\hskip-13em\hbox to 13em{\filename@area\reserved@a\hss}%
+ \csname ver@\reserved@a\endcsname\par
+ \fi
+ }%
+\parindent0pt\leftskip13em
+\ltjpkglist
+
+\makeatother}
\end{document}
+%</!showexpl>
+%<*showexpl>
+%%
+%% config file for showexpl.sty
+%%
+%% Copyright The LuaTeX-ja project team, 2005
+%%
+\ProvidesFile{showexpl.cfg}
+ [2012/05/20 v0.01 Definitions for the showexpl package (luatexja)]
+\lstset{}
+\def\SX@Info{}
+\endinput
+%</*showexpl>