句読点・括弧類

日本語の句読点(読点 、 と句点 。)や括弧(「」『』())は、欧文の , . とは別物です。全角の文字に最初から半角分のアキが組み込まれていて、行頭・行末に来てよい・いけないという規則もあります。pLaTeX・LuaTeX-ja といった日本語対応エンジンは、これらの 約物(やくもの) のアキ・詰め・改行を自動でさばきます。だから書き手は、原則として 約物のまわりに自分で空白を入れない。このページでは、句読点の選び方(テンマルか、コンマピリオドか)、括弧の使い分け、そして自動で効くアキと禁則のしくみを見ていきます。

読点と句点(、。)

日本語の基本の句読点は 読点 、(文の途中の区切り)と 句点 。(文の終わり)です。原稿が UTF-8 なら、欧文と同じく地の文にそのまま打てば組まれます。, . のような半角の欧文記号とは別のコードポイントで、約物として扱われ、後ろに半角分のアキを伴います。

document.tex
吾輩は猫である。名前はまだ無い。
どこで生れたか、とんと見当がつかぬ。

注意したいのは、これらが 全角の約物 だということです。読点・句点・括弧類・中点(・)の字幅は実質的に半角で、残りの半角分が「アキ」として字面の前後に確保されています。だから のあとにスペースバーを押す必要はありません。むしろ半角スペースを入れると、組版が想定するアキと二重になって不自然に空きます。約物のアキはエンジンに任せるのが鉄則です。

テンマルか、コンマピリオドか

横書きの学術・技術文書では、一般的な 、。(テンマル) ではなく 全角コンマ+全角ピリオド ,.(コンマピリオド) を使う流儀が根強くあります。これは国語の規則ではなく、JIS Z 8301(規格票の様式)が「,」「.」を用いると定めた流れを汲むもので、数学書や理工系の論文でよく見かけます。文部省(旧)の通達でも長く ,。(コンママル)の混在が見られましたが、2020 年に公用文の表記は 、。 に統一されました。どれを使うかは投稿規定や分野の慣習に従い、一つの文書内では必ず統一 します。

ここで誤解されがちな点を確認します。jsclasses(jsarticle・jsbook など)には、句読点を ,. に切り替えるクラスオプションはありません。 どの約物を出すかは、結局 原稿に何を打つか で決まります。コンマピリオドにしたいなら、地の文に ,. を直接入力するのが最も素直です。

document.tex
本稿では,記法を次のように定める.まず,集合 $A$ を……

「、。 で書いておき、最後に ,.へ一括置換する」運用もよく使われます。さらに踏み込んで、入力は 、。 のまま 出力だけ ,.に置換 したい場合は、和文文字をマクロ化して定義を差し替える方法(カテゴリーコードを使った \catcode の技)や、LuaTeX-ja のコールバックでビルド時に置き換える方法、エディタ側の拡張で変換する方法があります。いずれも クラスの機能ではなく、別途用意するしくみ だという点を押さえておきましょう。

なお、数式の中のコンマは欧文の組版規則に従います。たとえば座標 $(x, y)$ や区間の区切りは半角コンマ+わずかなアキで、本文の約物とは別扱いです。本文をコンマピリオドにしても、数式内のコンマまで全角にする必要はありません。

括弧類(「」『』()ほか)

日本語の引用や強調には 鉤括弧(かぎかっこ)「」 を第一に使います。会話・引用・語句の括り出しはこれ。その中でさらに括る必要があるとき、また書名・作品名には 二重鉤括弧『』 を使います(入れ子では外側に「」、内側に『』とする流儀が一般的)。丸括弧は 全角の() を使い、補足や読みを添えます。このほか []【】〔〕 などもあり、見出しや辞書項目などで使い分けます。

括弧名称主な用途
「 」鉤括弧会話・引用・語句の括り出し(第一の引用符)
『 』二重鉤括弧書名・作品名、「」の内側の入れ子
( )丸括弧(全角)補足・注記・読み
[ ]角括弧(全角)編集者による補足・省略など
【 】隅付き括弧見出し・項目の強い括り出し
〔 〕亀甲括弧注記・補足(角括弧の代用)

括弧でも 全角と半角の区別 が効きます。和文には全角の()を使うのが原則で、欧文の半角 () を日本語に混ぜると前後のアキがそろわず不格好になります。逆に、欧文(Latin)の中では半角の ( ) を使います。和文括弧も約物なので、開き括弧は前に、閉じ括弧は後ろに半角分のアキを持っています。

document.tex
夏目漱石『吾輩は猫である』を引いて、「吾輩は猫である」と書いた(初出は 1905 年)。

アキと詰め(約物まわりの空白)

約物が持つアキは JFM(和文フォントメトリック) に記述され、組版時に自動で挿入されます。だから書き手は約物の前後に空白を打ちません。問題になるのは約物が 連続 したときです。たとえば閉じ括弧の直後に開き括弧が来ると、「閉じ括弧の後ろの半角アキ」と「開き括弧の前の半角アキ」が合わさって全角分の大きな空きになってしまう。日本語組版ではこれを 詰め て、二分(半角)アキ程度に縮めるのが望ましいとされます。

pLaTeX・LuaTeX-ja はこの 約物の詰め を JFM に基づいて自動で行います。ふつうは何もしなくてよいのですが、ごくまれに自動のアキを 打ち消したい 箇所が出ます。そのときに使うのが \inhibitglue で、その位置の JFM 由来のアキ(グルー)を抑制します。逆に言えば、これを使う場面はまれで、まず自動処理に任せれば十分です。

約物の字幅も一律ではありません。読点・句点・開き括弧・閉じ括弧・中点のアキは半角分ですが、疑問符 ? や感嘆符 ! は全角として扱われ、後ろに全角のアキを伴うのが標準です(だから文中で「!」の直後に文が続くときは詰めの調整が入ります)。疑問符・感嘆符のくわしい扱いは別ページで述べます。

行頭・行末の禁則

日本語組版には 禁則処理(きんそくしょり) があります。大きく二つで、行頭禁則 は行の先頭に置いてはならない文字、行末禁則 は行の末尾に置いてはならない文字を定めます。閉じ括弧 」 や句点 。 読点 、 中点 ・ は行頭に来てはならず、開き括弧 「 ( は行末に来てはならない、というのが代表例です。

これも自動で守られます。pTeX 系の内部では、各文字に「行頭に来たら何点」「行末に来たら何点」という ペナルティprebreakpenalty / postbreakpenalty)が割り当てられ、段落全体で減点の合計が最小になるよう改行位置を選ぶことで実現しています。LuaTeX-ja では \ltjsetparameter でこれらのペナルティを調整できますが、クラス(jsclasses や jlreq)が JLReq 準拠の妥当な既定値を入れているので、通常は触る必要がありません。

  • 行頭にしない(行頭禁則): 。 、 , . ) 」 』 】 〕 ・ ー など。
  • 行末にしない(行末禁則): ( 「 『 【 〔 などの開き括弧類。
  • ぶら下げ: 句読点が行末に来たとき、版面の外へわずかに「ぶら下げ」て収める処理もあり、クラスによって既定が異なります。

和欧文の間のアキ

日本語の文に英単語や数字が混ざると、その境目に自然なアキが要ります。これも自動で、和文と欧文の間に入る四分(全角の 1/4)程度のアキ **\xkanjiskip がそれです。たとえば「TeX は便利だ」と書くと、「TeX」と「は」の間に細いアキが入ります。和文どうしの間に入るごくわずかなアキは \kanjiskip** で、こちらは行の調整に使われます。

だから 和欧文の境目に自分で半角スペースを打つ必要はありません。むしろ打つと、自動のアキと重なって空きすぎます。LuaTeX-ja では \ltjsetparameter{xkanjiskip=...} で量を変えられ、autoxspacing を false にすれば自動挿入を止められます。pTeX 系では \xspcode\inhibitxspcode で、特定の文字の前後にアキを入れる・入れないを細かく制御できます。

document.tex
% LuaLaTeX + luatexja。和欧文間のアキを少し広げる
\ltjsetparameter{xkanjiskip=0.25\zw plus 1pt minus 1pt}
2026 年に LaTeX で論文を書く。

一方、欧文の句読点そのもののルール(, . のあとは 1 スペース、文末はやや広いアキ、--- でダッシュ、二連バッククォートと二連クォートで曲がり引用符…)は別の話です。欧文側の引用符・ダッシュや、自動で入るスペースについては、リンク先のページにまとめています。