日文排版有西文没有的约定:从上到下书写的竖排,标在汉字旁的 ruby(假名注音) 和用于强调的圈点,禁止在特定行首或行尾断行的禁则,决定字符宽度的全角/半角,以及日文与拉丁文字相邻时的间距。TeX 会自动处理其中大部分内容,但也提供显式控制方法。本页概括这些要点。
竖排
竖排通过支持它的文档类或选项开启,例如 \documentclass[tate]{jlreq}。在竖排中,把两位数字或单位等短片段正立并横向排列称为纵中横(tate-chu-yoko)。在 jlreq / LuaTeX-ja 中使用 \tatechuyoko{...},在 pLaTeX 的 plext 包中使用 \rensuji{...}。
\documentclass[tate]{jlreq}
...
平成\tatechuyoko{31}年 % 数字を正立 / digits set uprightRuby 与圈点
Ruby(假名注音) 是标在汉字旁的小号读音。最简单的方法是 ruby 包的 \ruby{漢字}{かんじ}。如果需要符合 JIS X 4051 / JLReq 的正式 ruby(组 ruby、单字 ruby 等),使用 pxrubrica(支持 pTeX、upTeX、LuaTeX、XeTeX)。圈点(傍点)——标在字符旁用于强调的点——可用 pxrubrica 的 \kenten{...} 添加。
\usepackage{pxrubrica}
...
\ruby{漢字}{かんじ} % ルビ / ruby
\kenten{重要} % 圏点(傍点)/ emphasis dots禁则处理 — 断行规则
禁则 是避免特定字符出现在行首或行尾的规则。闭括号 )」』、小假名 ゃ ぁ、标点 。、 等不能出现在行首(行首禁则);开括号 (「『 等不能出现在行尾(行尾禁则)。这些规则基于 JIS X 4051(日文文档排版方法),TeX 的日文引擎会通过 JFM(日文字体度量)自动应用。通常无需特别关注;需要时可通过 jlreq 等调整。
全角与半角
全角字符占满 1em 的正方形宽度,半角字符占其一半。惯例是:英文字母和数字用半角,日文标点和括号 。、() 用全角。如果把数字或英文字母写成全角,或把标点写成半角,外观和间距都会失衡。遵守这种区分是基本要求。
混排 — 日文与西文之间
当日文和拉丁文字相邻时(“日本語 and abc”),引擎会自动插入一小段空白。这就是 xkanjiskip(日文—西文间距);日文字符之间则使用 kanjiskip。有了这种自动间距,就不需要在英单词前后手动输入空格。LuaTeX-ja 中可用 \ltjsetparameter 调整,pLaTeX/upLaTeX 中则通过文档类设置调整(详见“日文排版方法”)。