TeXのインストール

TeXも昔はゴリゴリと、自分でコンパイル・設定していたのだけれど、最近は、BSD portsやLinux RPM等に頼り切りになってしまい、自分でインストールすることは無くなってしまった。

ある時、TeXから綺麗なPDFを作りたいと思って設定をしようとしたが、「わからん!!」ちょっと触らない間に、設定が(特にフォント回りが)複雑になっている。と言うことで、昔に立ち戻りゴリゴリとコンパイル・設定をしてみた。

素材の用意

まずは、作業ディレクトリを作成して、そこに移動します。

# mkdir tex_src
# cd tex_src
      

CTANのミラーサイトから, 必要なファイルを入手します。

ftp://ftp.lab.kdd.co.jp/CTAN/systems/unix/teTeX/3.0/distrib/

以下のファイルを入手します。

そして土村さんという方が、ptetex -- teTeX 用日本語パッチ集を作って下さっているようなので、以下のファイルも入手します。

コンパイル

次にptetex3-20?????.tar.gzを展開して、展開されたディレクトリに移動します。

# tar xvfz ptetex3-20?????.tar.gz
# cd ptetex3-20?????
      

展開後、rootになりmakeを走らせます。(コンパイルからインストールまで全て行うので一般ユーザではmakeは出来ません。)

# CFLAGS="-O2 -fomit-frame-pointer -pipe -march=i586 -fno-strict-aliasing -fno-strength-reduce" make
      

CMapのインストール

コンパイルが終了したら、CMapファイルをインストールします。CMapとは、CID形式のフォントで使われる、「フォントの内部配列と文字コードとの対応関係を示した表のようなもの」が記述されているファイルです。
まずは、ptetex-cmap-20051117.tar.gzを展開してインストールするのですが、このCMapはghostscriptでも使われているのですよ。出来れば共有したいですよね。と言うことで、共有させるための設定をします。

私の環境では、

ghostscriptのCMapは沢山入っているので、こちらをメインする設定をすることにします。TeX側の4つのファイルをghostscript側に移動します。

# cd /usr/local/teTeX/share/texmf/dvipdfm
# mv CMap/* /usr/share/ghostscript/Resource/CMap
      

次に、CMapディレクトリを削除して、ghostscript側のCMapをリンクします

# rmdir CMap
# ln -s /usr/share/ghostscript/Resource/CMap .
      

ついでにCIDフォントも共有しちゃいましょう。

# ln -s /usr/share/ghostscript/Resource/CIDFont .
      

その後、作業ディレクトリに移動してptetex-cmap-20051117.tar.gzを展開します。

# cd tex_src
# tar xvfz ptetex-cmap-20051117.tar.gz
# cd ptetex-cmap-20051117
      

展開したディレクトリでmakeを走らせれば、足らないCMapだけをインストールしてくれます。

# make
      

cm-superインストール

PostScript では一般に下記のフォントが使用されます。

TeXのdviファイルをPS形式に直すdvipsでは,Computer ModernフォントをビットマップのType 3 形式にして PSファイルに埋め込みます。これだとPDF形式にした場合、そのままビットマップとして埋め込まれてしまい、拡大した時など汚くなってしまいます。

これを回避する方法として、Type 1のフォントを使用したPostScriptを作るように設定します。

まずは、Type 1のComputer Modernフォント、cm-superがあるのでこれを持ってきます。tarファイル形式で提供していないようなので、ディレクトリごと持ってきてしまいましょう。

# ncftp ftp://ftp.lab.kdd.co.jp/CTAN/fonts/ps-type1/cm-super/
# mget -r *
      

次に、フォントをインストールします。

# mv pfb/* /usr/local/teTeX/share/texmf/fonts/type1/public/cm-super
# mv dvips/* /usr/local/teTeX/share/texmf/dvips/cm-super
# mv dvipdfm/* /usr/local/teTeX/share/texmf/dvipdfm/config/
# mv afm /usr/local/teTeX/share/texmf/fonts/afm/public/cm-super
# cd /usr/local/teTeX/share/texmf/fonts/afm/public/cm-super/
# gunzip *.afm.gz
      

dvips で使用するので、/usr/local/teTeX/share/texmf/dvips/config/config.psに設定を追加します。

p +cm-super-t1.map
p +cm-super-ts1.map
p +cm-super-t2a.map
p +cm-super-t2b.map
p +cm-super-t2c.map
p +cm-super-x2.map

dvipdfm(x)でも使用するので、 /usr/local/teTeX/share/texmf/dvipdfm/config/config/usr/local/teTeX/share/texmf/dvipdfm/config/dvipdfmx.cfgに設定を追加します。

f cm-super-t1.map
f cm-super-t2a.map
f cm-super-t2b.map
f cm-super-t2c.map
f cm-super-ts1.map
f cm-super-x2.map

pdfTeXで使用する場合、/usr/local/teTeX/share/texmf/pdftex/config/pdftex.cfgに設定を追加します。

map +cm-super-t1.map
map +cm-super-ts1.map
map +cm-super-t2a.map
map +cm-super-t2b.map
map +cm-super-t2c.map
map +cm-super-x2.map

設定し終わったら、mktexlsrを忘れずに実行させます。

xdviの設定

vfontmap

デフォルトで設定されているvfontmapは、ヒラギノフォントを使用する設定になっているが、高くて買えないので、acrobatに付いている小塚フォントを使う設定に変更します。

C:\Program Files\Adobe\Acrobat x.x\Resource\CIDFont\にある、KozMinPro-Regular-Acro.otfKozGoPro-Medium-Acro.otf/usr/X11R6/lib/X11/fonts/otf/に入れます。その後/usr/local/teTeX/share/texmf/xdvi/vfontmapを編集します。

# mv vfontmap vfontmap.org
# vi vfontmap
      
/usr/X11R6/lib/X11/fonts/otf/KozMinPro-Regular-Acro.otf
        min
        tmin
        nmin
        jis
        jis-v
/usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf
        goth
        tgoth
        ngoth
        jisg
        jisg-v
/usr/X11R6/lib/X11/fonts/otf/KozMinPro-Regular-Acro.otf
        fmin
/usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf
        fgoth
/usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf
        maru

イマイチ、TeXで使われるフォント名の意味が良くわからないので適当ですが、とりあえず表示が出来るようになりました。

~/.Xdefaults

.Xdefaultsに次のエントリーを書き換えて、自分の環境に適した設定にしておきます。

# vi ~/.Xdefaults
      
XDvi*wwwBrowser: opera
XDvi.geometry: 800x900+0+0
XDvi.shrinkFactor: 8	

dvipsの設定

kanji.mapの作成

/usr/local/teTeX/share/texmf/dvips/config/にkanji.mapを作成します。

# vi /usr/local/teTeX/share/texmf/dvips/config/kanji.map
      
rml             Ryumin-Light-H
rmlv            Ryumin-Light-V
gbm             GothicBBB-Medium-H
gbmv            GothicBBB-Medium-V
ryumin-l        Ryumin-Light-H
ryumin-l-v      Ryumin-Light-V
gtbbb-m         GothicBBB-Medium-H
gtbbb-m-v       GothicBBB-Medium-V
futomin-b       FutoMinA101-Bold-H
futomin-b-v     FutoMinA101-Bold-V
futogo-b        FutoGoB101-Bold-H
futogo-b-v      FutoGoB101-Bold-V
jun101-l        Jun101-Light-H
jun101-l-v      Jun101-Light-V
unimin          Ryumin-Light-UniJIS-UCS2-H
unigoth         GothicBBB-Medium-UniJIS-UCS2-H

新しいファイルを作ったら必ず mktexlsr と打ち込んでおきましょう。さらに,/usr/local/teTeX/share/texmf/dvips/config/config.ps の適当なところ,たとえば

% This shows how to add your own map file.
% Remove the comment and adjust the name:
% p +myfonts.map

の次の行あたりに,次のように追加します。

p +kanji.map

この辺の設定周りも良く解ってなかったりする....

Last modified: Sat Dec 22 19:31:56 2007 JST