日文排版细节

日文排版有西文没有的约定:从上到下书写的竖排,标在汉字旁的 ruby(假名注音) 和用于强调的圈点,禁止在特定行首或行尾断行的禁则,决定字符宽度的全角/半角,以及日文与拉丁文字相邻时的间距。TeX 会自动处理其中大部分内容,但也提供显式控制方法。本页概括这些要点。

竖排

竖排通过支持它的文档类或选项开启,例如 \documentclass[tate]{jlreq}。在竖排中,把两位数字或单位等短片段正立并横向排列称为纵中横(tate-chu-yoko)。在 jlreq / LuaTeX-ja 中使用 \tatechuyoko{...},在 pLaTeX 的 plext 包中使用 \rensuji{...}

latex
\documentclass[tate]{jlreq}
...
平成\tatechuyoko{31}% 数字を正立 / digits set upright

Ruby 与圈点

Ruby(假名注音) 是标在汉字旁的小号读音。最简单的方法是 ruby 包的 \ruby{漢字}{かんじ}。如果需要符合 JIS X 4051 / JLReq 的正式 ruby(组 ruby、单字 ruby 等),使用 pxrubrica(支持 pTeX、upTeX、LuaTeX、XeTeX)。圈点(傍点)——标在字符旁用于强调的点——可用 pxrubrica 的 \kenten{...} 添加。

latex
\usepackage{pxrubrica}
...
\ruby{漢字}{かんじ}   % ルビ / ruby
\kenten{重要}        % 圏点(傍点)/ emphasis dots

禁则处理 — 断行规则

禁则 是避免特定字符出现在行首或行尾的规则。闭括号 )」』、小假名 ゃ ぁ、标点 。、不能出现在行首(行首禁则);开括号 (「『不能出现在行尾(行尾禁则)。这些规则基于 JIS X 4051(日文文档排版方法),TeX 的日文引擎会通过 JFM(日文字体度量)自动应用。通常无需特别关注;需要时可通过 jlreq 等调整。

全角与半角

全角字符占满 1em 的正方形宽度,半角字符占其一半。惯例是:英文字母和数字用半角日文标点和括号 。、() 用全角。如果把数字或英文字母写成全角,或把标点写成半角,外观和间距都会失衡。遵守这种区分是基本要求。

混排 — 日文与西文之间

当日文和拉丁文字相邻时(“日本語 and abc”),引擎会自动插入一小段空白。这就是 xkanjiskip(日文—西文间距);日文字符之间则使用 kanjiskip。有了这种自动间距,就不需要在英单词前后手动输入空格。LuaTeX-ja 中可用 \ltjsetparameter 调整,pLaTeX/upLaTeX 中则通过文档类设置调整(详见“日文排版方法”)。