(a place holder --- not yet completed)

以下のサンプルをコンパイルするには[[CTAN:languages/japanese/CJK/4_6.0/texinput]]
配下のファイルが必要です。サンプルはインストールして使用することも可能なように
アーカイヴされていますが、インストールせずに試してみるには空の作業用ディレクトリ
(フォルダー)を用意し、すべてのファイルをそこにコピーします。更にサンプル内の
dvipdfm/config/cid-x.map-add.*を、インストールせずに試してみるにはcid-x.mapに
改名、インストールして使用する場合はその内容をシステムのcid-x.mapに追加します。

CJKパッケージはinputencパッケージなどと同じく、8bitの立った文字のカテゴリー
コードを変更して、多バイト文字のTeXソースを標準的な8bit版のLaTeXでコンパイル
可能にするマクロ集です。当然、pLaTeXでは使用できません。基本的な使い方は
>\usepackage{CJK}~
...~
\begin{CJK}{encoding}{family}~
...~
\end{CJK}

です。エンコーディングにはBig5, CNS11643, GB2312, EUC-JP, Shift-JIS, EUC-KR, 
UTF8などさまざまなものが使えます。以下は代表的なものです。
|名前|ユーザーコード|TFMエンコーディング|
|Big5|Bg5|c00|
|GB2312|GB|c10|
|EUC-JP|JIS|c40|
|Shift JIS|SJIS|c40|
|JISX0212(EUC)|JIS2|c50|
|EUC-KR|KS|c60|
|UTF8|UTF8|c70|
ユーザーコードはTeXのソースコードのencodingに書き込む文字列、
TFMエンコーディングはfdファイルの作成に必要です。
この説明から見当がつくと思いますが、TeXのソースコードに
様々なエンコーディングが混じっていても、問題なくコンパイルできます。
しかし、編集の手間を考えると、複数のエンコーディングを用いて
原稿を用意する時は別ファイルにしておいて、\inputするのが良いでしょう。
特に、Big5とShift JISは2バイト目に'\', '{', '}'と言ったLaTeXにとって
特別な意味を持つ文字が使われることがあるので、プリプロセッサーを
かける必要があるため、別ファイルにするメリットが大きいです。
>\begin{CJK}{JIS}{}~
\input{euc-jp-text1}%~
\CJKenc{Bg5}%~
\ifx\VTeXversion\undefined%~
\immediate\write18{bg5conv < big5-text.raw > big5-text.tex}%~
\fi\input{big5-text}%~
\input{euc-jp-text2}~
\end{CJK}

一方、ファミリーはフォントの指定です。
ここを空白にしておくと、デフォルトのsong(宋體)が使われます。
デフォルトを変更するには\CJKfamilyや\CJKencfamilyを使います。
実際にTeXがアクセスするフォントは
NFSSに従い "(TFMエンコーディング)(ファミリー名).fd" で
指定します。つまり、様々なエンコーディングに対して、ファミリーは共通に
songであっても、UTF8の文書はc70song.fdで指定されたcyberbXX.tfmが、
EUC-JPの文書はc40song.fdで指定されたjsso12XX.tfmが、等々のフォントが使われます。
*インストール [#fb6c9457]
**TeX [#a7fe5a5f]
まず、LaTeXが動作する環境が必要です。その他に
[[CTAN:languages/japanese/CJK/4_6.0/texinput]]
配下のマクロファイルと、更にはTFMファイル(フォントメトリック)がいります。
TFMファイルはTTFフォントがあれば、ttf2tfmで簡単に作成できます。
もし、全角文字しか使わないのであれば、既存のTFMファイルを名前を変えて
コピーすることでもしのげます。
(以下のサンプルに同梱のTFMファイルは事実そのようにして作ったもので、
これを使って、アルファベットの類をタイプセットすると悲惨な結果を招きます。)
自分で作ったTFMファイルを使うにはfdファイルを書く必要もあります。

Shift JISとBig5の原稿を処理するにはプリプロセッサーsjisconv, bg5convも
インストールしなければなりません。
**DVIドライバー [#u7a0009a]
近い将来pdflatexでも正式にCJKパッケージがサポートされる模様ですが、現時点で
CJKパッケージを使って、まともなPDFを作成するにはVTeX(商用)とdvipdfmxだけしか
選択肢がありませんので、ここではdvipdfmxについてのみ扱います。
設定する必要があるのはDVIファイル内のTFMと
PDFファイル内のフォントとの対応だけです。
この対応はcid-x.mapに書きます。(Details will be added later.)
*サンプル [#f920d8cd]
+ &ref(CJK-LaTeX-UTF8-noembed.tar.bz2,,,UTF8で書かれたTeXファイルでCJKの各漢字字形を使い分ける。);
+ &ref(CJK-LaTeX-localEncoding-vertical.tar.bz2,,,縦書き);
+ SIP準備中