f

アーカイブ

2013-10-14

和文文書でCJKパッケージを使ってpdflatexを実行

LaTeXを使う上で、pdflatexは使えると何かと便利である。例えば、pdfpageパッケージは、pdfからページ範囲を指定してLaTeX文書中に取り込めるincludepdfコマンドを提供するが、これはpdflatexでないと動作しない。また、pdfに対してincludegraphicsコマンドを使いオプションにpage=ページ数を設定することでpdfの単一ページを指定して取り込むことができるが、この機能もpdflatexの方が使いやすい(platex+dvipdfmxでもオプションをうまく設定すれば可能。しかし、LyXでは大半の画像をepsに変換してから読み込むという仕様のため、pdflatexを使わないとこの機能は使えない)。この他にもTikZを使ってアニメーションを作るときなどもpdflatexを使わないといけないことがある。
pdflatexは標準では英語以外をサポートしていない。そのため、英語だけの文書でしか使えなかった。しかし、CJKパッケージとその他のいくつかのパッケージや設定を組み合わせることで日本語文書でもpdflatexが使える。CJKとは中国語(Chinease)・日本語(Japanese)・韓国語(Korean)の略である。CJKパッケージはlatexやpdflatexといった欧文TeXでこれらの言語を使うためのものである。
今回はCJKパッケージ類を使って日本語文書でpdflatexをLyXで使えるようにする設定を紹介する。LyX以外の普通のLaTeXシステムでもほぼ同様の手順をとることになるので参考になると思う。
参考:

 事前準備

作業環境
  • OS: Windows 7
    LyX: 2.1.0beta1
    TeXディストリビューション: W32TeX
必要なパッケージ
  • 以下のパッケージをCTANからDLしてインストールしておく。
    CJK
    CJKutf8
    CJKspace
    CJKpunct
    bxcjkjatype
zhmetricsのインストール
  • zhmetricsはCJK用のTFMフォントファイル群を提供する。インストールの手順を示す。
    1. CTANからzhmetricsをDL・解凍する。
    2. 解凍したフォルダ中のfontsフォルダをコピー(カットでも可)して以下の場所で貼り付け。
      $TEXMF-LOCAL/
      
      w32texを使っていれば$TEXMF-LOCAL=C:\w32tex\share\texmf-local
    3. 残りのファイルは以下のフォルダに保存
      $TEXMF-LOCAL/tex/latex/zhmetrics
      
    4. 最後にmktexlsrコマンドをコマンドプロンプトから実行。

 作業手順

  1. プリアンブルで日本語が登場する前にbxcjkjatyleを読み込む
    \usepackage[whole]{bxcjkjatype}
    
    このbxcjkjatyleの読み込み後であればプリアンブルでも日本語が登場してもOK。
  2. しおりの日本語文字化け回避
    • hyperrefかhypersetupにunicodeかpdfencoding=unicodeのオプションを設定。
    注: 上記の設定は後ろに追記すれば上書きできる。
  3. 文書クラスの設定(LyX)
    • documentclassを欧文系(jが頭につかないarticle, bookなど)に変更。
    • オプションでdvipdfmxは指定しない。
  4. エンコーディングの設定(LyX)
    • Document ▷ Settings… ▷ Language ▷ Encoding
      Language: Japanese (CJK)
      Other: Unicode (CJK) (utf8)
  5. プリアンブルで日本語固有のコマンドなどをコメントアウト。
    1. pxjahyperをコメントアウト(あれば)。
    2. otfパッケージをコメントアウト(あれば)。
    3. フォント指定textmc, textgtや長さ単位zwなど日本固有の設定を変更。
      フォント指定: textrm, textsfに統一。
      長さ単位: zwはemで代用する。使用にあたっては両者にはほとんど違いはない。

 フォント設定

必須ではないが、指定したフォントを設定して埋め込むために、bxcjkjatypeを読み込んだ後に以下の内容をプリアンブルに記入。
\setminchofont{ipaexm.ttf}
\setboldminchofont{mogamb002.ttf}
%\setlightminchofont{}
\setgothicfont{ipaexg.ttf}
\setboldgothicfont{migmix-1p-bold.ttf}
%\setxboldgothicfont{}
\setmarugothicfont{MTLmr3m.ttf}
以上のコマンドでフォントファイル名を直接指定することでpdflatexでの対応するフォントを指定できる。なお、pdflatexで指定可能なフォントファイルはttf形式のみとのこと。
今回はTable 3.1↓に示したフォント設定を行った。上記のコードではコメントアウトしているが、細明朝と極太ゴシックは適当なフォントが見つからなかったので設定していない。必要に応じてネットからここで設定した各フォントをDLしてインストールしておく。

Table 3.1 pdflatexでのフォントの設定例
書体
設定
明朝
IPAex明朝
明朝ボールド
MogaExMincho bold
ゴシック
IPAexゴシック
ゴシックボールド
MigMix 1P ボールド
丸ゴシック
モトヤLマルベリ3等幅

 MogaExMincho boldのインストール

今回使用したMogaExMincho boldはフォントファイルの用意に注意が必要なので導入の手順を説明する。
  1. http://yozvox.web.fc2.com/82A882B782B782DF8374834883938367.htmlにアクセス。
  2. [ゴシック&明朝 MoboGothic / MogaGothic / MogaMincho TTCパック]をDL・解凍。
    mogaフォントはttcファイルであり、このままではpdflatexで使えない。同じサイトで配布されているUniteTTCというプログラムで分割してttfファイルにする。
  3. http://yozvox.web.fc2.com/556E697465545443.htmlにアクセスし、UniteTTCをDL・解凍
  4. 2でできた[MoboMoga]フォルダから[mogamb.ttc]ファイルをドラッグし、3でできたUniteTTC.exeにドロップ。
  5. [MoboMoga]フォルダに以下のファイルが出来る。
    mogamb001.TTF
    mogamb002.TTF
    mogamb003.TTF
    mogamb004.TTF
    mogamb005.TTF
    mogamb006.TTF
    この内mogamb002.TTFをインストールする。このフォントがMogaExMincho boldである。インストールは右クリックメニュー ▷ インストール から可能だ。
以上でpdflatexに必要な設定は完了。後は通常通り文書を書いていくだけだ。使用例などについては参考元を当たって欲しい。

% 2013-10-14T14:05 表がおかしかったので修正。

0 件のコメント:

コメントを投稿