(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(http://oku.edu.mie-u.ac.jp/~okumura/texfaq/archive/CJK-LaTeX-UTF8-noembed.tar.bz2,,,UTF8で書かれたTeXファイルでCJKの各漢字字形を使い分ける。); + &ref(http://oku.edu.mie-u.ac.jp/~okumura/texfaq/archive/CJK-LaTeX-localEncoding-vertical.tar.bz2,,,縦書き); + SIP準備中