禁則処理とは、改行の際に行う、行頭や行末で禁止されている文字を避ける処理です。
文字類 | 行頭禁則文字 | 行末禁則文字 |
---|---|---|
小さい仮名 | ぁぃぅぇぉっ... | N/A |
括弧類 | )〉》】... | (〈《【... |
引用記号類 | 」』”... | 「『“... |
句読点 | 、。・!?... | N/A |
makefile
: ドキュメントを XeLaTeX で PDF にコンパイルし、引用などをリンクし、引用などが正しいよう確認するため再コンパイルします。xeCJK
パッケージの利用は、XeLaTeX が必須です。main.tex
:make
でコンパイルする、ミニマルな LaTeX ドキュメントです。cjk_support.tex
:xeCJK
のパッケージを読み込み、no_breaks.tex
を挿入します。no_breaks.tex
: フォントフェースと新たな文字クラスを設定します。下記に定義する文字クラスの罰則をも挿入します。no_break_before.tex
とno_break_after.tex
: 行頭と行末の場合に禁止する文字を定義し、適切な罰則量を設定します。コメントアウトした部分で、適用される文字に色(赤と青)を付けられます。
メインの LaTeX ファイルと同じディレクトリに cjk_support.tex
と no_breaks.tex
、no_break_before.tex
、no_break_after.tex
をコピペし、プリアンブルに \input{cjk_support}
すれば十分です。
Google の Noto Sans CJK JP と Noto Sans Mono CJK JP を使用しますが、インストールされていない場合、cjk_support.tex
と no_breaks.tex
に好きなフォントを書き換えればいいです。
cjk_support.tex
は xeCJK
をインポートするので、この1行をコメントアウトするまたは \input{no_breaks}
するほうがいいかもしれません。LaTeX は行の調整に対応しますので、手で調整する必要はないはずです。
次のような1行をその他の定義と一緒に追加すれば結構です。
\XeTeXcharclass`<new_char>=\noBreakBefore % no_break_before.tex
\XeTeXcharclass`<new_char>=\noBreakAfter % no_break_after.tex
Cicadaさんと Hironobu YAMASHITAさんに礼を言います。感謝です。このスレッドで Cicadaさんが概ねの処理を教えてくれました。