bxcjkjatype の autotilde はソレじゃない件(2)
「和欧文間空白なんて要らない」場合は
さて、ここまで「和欧文間空白を入れる」という前提で話を進めてきた。確かに TeX の用途の大部分を占めるであろう“報文のレイアウト”では和欧文間空白の挿入は必須といえるだろう。しかし例えば雑誌や広告等で“和文がプロポーショナルフォントで組まれる”場合には、「和欧文間空白を入れない」という判断もあるようである。((TeX ユーザとしては、「〈~
〉を書くのが面倒だから和欧文間空白を入れない」という判断はもちろんありえない ;-) ))ただし“和文をプロポーショナル組する”ためのフォント*1や文書クラスは現状で TeX Live にも CTAN にも無い((bxcjkjatype パッケージには「使用する物理フォントを指定する」機能(\setminchofont
等)があるが、ここで使える日本語フォントは等幅のものに限られる。))ので自分で用意しなければならないが、とにかく必要な準備の上で「和欧文間空白無し」の設定で文書を作成することを考える。
% pdfLaTeX 文書 \documentclass[a4paper]{ja-magazine}% 適当な文書クラス(非実在) \usepackage[whole,noCJKpunct]{bxcjkjatype} % プロポーショナルな和文フォント(非実在)を指定 \renewcommand{\mcdefault}{propmin} \renewcommand{\gtdefault}{propgoth} \begin{document} {pdf\LaTeX}とbxcjkjatypeで日本語する。 \end{document}
(プロポーショナル組を行う場合は CJKpunct は使わない方がよいと思われる。bxcjkjatype を使用する場合は noCJKpunct
オプションを指定する。)
「和欧文間空白を入れない」のなら \CJKtilde
も〈~
〉も不要だと思うかも知れないが、話はそれほど単純ではない。実は、CJK パッケージでは和文と欧文の間には原則的に*2空白が入っていることを想定している。そのため、ソース上で和欧文間に何も入れないと、そこでの行分割は許可されない。このことは次のような例を作れば確かめられる。
% pdfLaTeX 文書 \documentclass[a4paper]{article} \usepackage[whole]{bxcjkjatype} \begin{document} \fbox{\parbox{10em}{% ああああああああああ% 和文文字間では行分割可能 あAあAあAあAあAあAあA% 和欧文間では行分割不可なので あAあAあAあAあAあAあA% 行長を超過してしまう ああああああああああ}} \end{document}
もちろんこれは極端な例であり、現実の使用においては「和欧文間で行分割できない」ことの影響はそれほど大きくないと思われるので、特に対策をしないことも考えられるだろう。もし「和欧文間で行分割可能にしたい」というのであれば、「和欧文間空白を挿入して、かつその幅をゼロにする」という処置が必要になる。
% pdfLaTeX 文書 \documentclass[a4paper]{ja-magazine} \usepackage[whole,autotilde,noCJKpunct]{bxcjkjatype} \renewcommand{\mcdefault}{propmin} \renewcommand{\gtdefault}{propgoth} % 和欧文間空白の幅をゼロにする \renewcommand*{\CJKecglue}{\hspace{0pt}} \begin{document} % 和欧文間に〈~〉を入れる {pdf\LaTeX}~と~bxcjkjatype~で日本語する。 \end{document}