(前回の続き)
upLaTeX で和文してしかも CJK パッケージしたい場合
果たしてそんな需要があるのかは不明だが、“面白い話”なのは確かである。というわけで、作ってみた。
- PXCJKutf8 Package (GitHub/zr-tex8r)
使い方は簡単で「CJKutf8 パッケージ(または CJK パッケージ)の代わりに pxCJKutf8 パッケージを読み込む」だけでよい。
%(例えばコレだったら) \usepackage{CJKutf8,CJKspace,CJKpunct} %↓(代わりにコレにする) \usepackage{pxCJKutf8,CJKspace,CJKpunct}
なお、名前から分かるように pxCJKutf8 は「CJKutf8 の代用である」である。だから文書ファイルの文字コードは UTF-8 にする必要がある*1。(日本語とそれ以外の CJK 言語が混在することになるので当然そうなっているであろう。)それさえ守られていれば、ほとんど全ての場合に「CJK パッケージの代用」として pxCJKutf8 が使える。
% upLaTeX 文書; 文字コードは UTF-8 \documentclass[uplatex,a4paper]{jsarticle} \usepackage{pxCJKutf8,CJKspace,CJKpunct} \begin{document} up{\TeX}で{\Large\gtfamily 日本語}できます! \begin{CJK*}{UTF8}{gbsn} 用 CJK 宏包可以写{\Large\CJKfamily{gkai}中文}! \end{CJK*} \end{document}
「upLaTeX の日本語」と「CJK パッケージの中国語」の両方について、フォントの選択が正常に行われていることが判る。
rubyでルビしたい例
CJK パッケージがまともに使えるということは、ruby パッケージもまともに使える。ruby パッケージの \ruby
命令を用いて中国語にルビを振って、あとイロイロしてみる例を示す。
% upLaTeX 文書; 文字コードは UTF-8 \documentclass[uplatex,a4paper]{jsarticle} \usepackage[T5,T1]{fontenc}% フォントエンコーディングしたい \usepackage{pxCJKutf8,CJKspace,CJKpunct}% CJKしたい \usepackage[prefernoncjk]{pxcjkcat}% 欧文UTF-8直接入力したい \usepackage{lmodern}% Latin Modern したい \usepackage[CJK]{ruby}% 中国語でルビしたい \usepackage{pxrubrica}% 日本語でルビしたい \rubysetup{<->}% pxrubricaの設定 \begin{document} % 中国語(簡体) : ruby でルビする \begin{CJK*}{UTF8}{gbsn} 我的\ruby{气垫船}{qìdiànchuán}装满了\ruby{鳝鱼}{shànyú}。 \par\bigskip \end{CJK*} % 日本語 : pxrubrica でルビする 私のホバークラフトは\jruby{鰻}{うなぎ}でいっぱいです。 %※別の \ruby がある場合は pxrubrica の \ruby は \jruby とする. \par\bigskip % 韓国語 \begin{CJK}{UTF8}{nanummj}% こちらは'*'無しのCJK 내 호버크라프트는 장어로 가득 차 있어요. \par\bigskip \end{CJK} % ベトナム語 {\fontencoding{T5}\selectfont % フォントエンコーディング切替 Tàu cánh ngầm của tôi đầy lươn. \par\bigskip} \end{document}
なお、日本語の部分(「upTeX の和文」として処理されている)に ruby パッケージの \ruby
を適用することは(恐らく)可能であるが、“まともに”出力させるのは結構大変である。日本語のルビのためのパッケージを利用するのが無難である。