マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

CJK パッケージで今度こそ日本語する件 (3)

CJK パッケージで日本語文書する件について
BXjscls パッケージの文書クラスに CJK + bxcjkjatype パッケージの環境のサポートを追加した。

BXjscls の文書クラス、例えば bxjsarticle クラスを CJK + bxcjkjatype とともに用いる場合は、クラスオプションに CJK を追加する。あとは、pLaTeX や XeLaTeX で bxjsarticle を使う場合と変わらない。*1(つまり使用法は jsarticle クラスと概ね同じである。)なお、CJK や bxcjkjatype は自動的には読み込まれないのでプレアンブルで通常通りに読み込む必要がある。「日本語の文書」なので恐らく whole オプションを指定することになるだろう。

\documentclass[a4paper,12pt,CJK]{bxjsarticle}% CJK を指定
\usepackage[whole]{bxcjkjatype}% 全体を自動的に CJK* 環境で囲む
%\usepackage[unicode,...]{hyperref}% hyperref する場合
%↓あとは jsarticle の文書ソースの書き方と同じ
\title{CJK パッケージで日本語文書したい}
%…………
autotilde オプション

bxcjkjatype の 0.2a 版で autotilde というオプションが追加された。bxjscls とは直接関係ないが、日本語文書の作成で必須となる機能なので併せてここで解説しておく。

pTeX と異なり、CJK パッケージには和欧文間空白(四分空き)の自動挿入を行う機能は存在しない*2ただし、四分空きの入力を支援するために次のような機能がある。

CJK(*) 環境内で \CJKtilde という命令を実行すると、入力中の〈~〉で(通常の非分割欧文空白でなく)和欧文間空白(四分空き)が入るようになる。((なお、\standardtilde 命令を実行すると〈~〉の意味が元来の「非分割欧文空白」に戻る。また、\nbs 命令はいつでも「非分割欧文空白」を表す。(LaTeX 標準の命令で \nobreakspace というものもがる。)))

これを利用すると、四分空きを入れたい箇所に手動で〈~〉を入れることになる。面倒ではあるが、とにかく和欧文間空白を欧文空白と別にすることが可能になる。

bxcjkjatype の autotilde オプションを指定すると、CJK(*) 環境に入った時に自動的に \CJKtilde が実行されるようになる。従って、CJK(*) 環境の中ではいつでも〈~〉で四分空きを挿入できる。

\documentclass[a4paper,12pt,CJK]{bxjsarticle}
\usepackage[whole,autotilde]{bxcjkjatype}% \CJKtilde 自動実行
\title{pdf{\TeX}~と~CJK~パッケージで日本語文書したい}
%…………
サンプル

例として少し長めの文書を挙げておく。

*1:ただし、一つ制限があり、CJK パッケージでは和文スケールを行うのが容易でないため、和文スケールの値は 1 に固定される。

*2:約物間の空き調整の機能は CJKpunct パッケージで提供されている。