pLaTeX2e installation mini-HOWTO

中野武雄 nakano@apm.seikei.ac.jp

v0.3, 29 October 1997
この文書では pTeX-2.1.4 とそれに対応した xdvi、 dviprt などを Linux マシンにインスト−ルし、 pLaTeX2e 文書をコンパイルしてプレビュー、 印刷できる環境を構築する方法について記述します。

注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)

1. はじめに

2. pTeX のインストール

3. マクロパッケージと関連ツールのインストール

4. フォント関連の設定

5. DVI ドライバのインストールと設定


1. はじめに

最近では LaTeX2e 関連の書籍も出そろった観があり、 国内でも LaTeX の利用としては 2e の方が主流になってきました。 ASCII からは kpathsea ライブラリに機能強化が行われた pTeX-2.1.5 が公開され、 DOS や Win, Mac の世界ではこれをベースにした環境が主流になってきているようです。

この文書の初版公開当時には Linux にはバイナリ配布のパッケージが無く、 それが本文書執筆の動機にもなっていたわけですが、最近は debian-jp や PJE などのプロジェクトによって 2.1.5 のパッケージがリリースされ、 インストールも簡単になってきました。

ということで、実はこの文書の存在意義もそろそろなくなってきているのですが、 まだ筆者の web ページのログを見ると、 アクセスして下さっている方もかなりいるようですので、 主に京大の土屋さんからいただいた情報を追加し、 改版することにしました。 実は筆者はまだ 2.1.4 の環境に安住していますので、 もはや参考になる部分は少ないかもしれませんが、何かの役に立てば幸いです。

ちなみに私が Linux を利用するにあたって、 そのほとんどの時間は Win95 の TeraTerm という VT100 端末ソフトを通しての作業になっています。 実は TeX に関しても

という変則的な使い方をしております。 従って xdvi や dvi2ps-j もインストールはしましたが、 横書き文書をプレビューできることしか確認していません。 またフォントの自動生成などに関してもいろいろ問題があるかとは思いますが、 pLaTeX2e 環境の構築に関するまとまった情報はまだ少ないので、 とりあえず何かの役には立つかと思い、文書としてまとめることにしました。

1.1 インストール環境

インストール前の環境は以下のようなものです。

また印刷に用いたプリンタは以下の 2 台です。

1.2 参考にした情報

この文書を書くにあたって参考にした URL です。

京都大学の土屋さんには dvipsk や makeindex, LaTeX2e 関連パッケージなどのインストールに関する 大変有益な情報を送っていただきました。 これらを追加することが 0.3 の改版における主要な動機となりました。 ただし本文中に誤りがあったとしても、それは全て筆者の責任です。

また京都大学の石井さんには、 Microsoft 社の Truetype のライセンスに関するご指摘をいただきました。

1.3 この文書について

この文書中での作業にあたり、% は一般ユーザでの、 # はルート権限での作業をそれぞれ示しています。 ルートでの作業が結構多くなってしまいますので、 くれぐれも注意して行ってください。 この文書によって生じた障害、損失については筆者は一切の責任を取れません。 ご自分の責任の下で利用してください。

2. pTeX のインストール

まず TeX コンパイラ本体を作ります。 ソースが大きくなってしまうので取ってくるのが大変ですが、 手元での作業は比較的簡単です。

2.1 pTeX のソース

ASCII 版 pTeX の一次配布元は ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/ です。 ミラーサイトの情報は http://www.ascii.co.jp/pb/ptex/ から辿れるページにありますので、参考にしてください。 多量の転送を行う必要があるので、 できるだけ近いところを選ぶようにしましょう。

サイトを決めたら、そこから以下のファイルを入手します。 ftp サイトのベースディレクトリから見たときの相対パス名で与えてあります。

ptex-2.1.4.tar.gz
plib-euc.tar.gz
corresponding-sources/web-6.1.tar.gz
corresponding-sources/web2c-6.1.tar.gz
corresponding-sources/web2c.kpathsea-2.6.help
corresponding-sources/lib-6.9.tar.gz
corresponding-sources/xdvik-18f.tar.gz

xdvik-18f.tar.gz は同ディレクトリにある dvipsk や dviljk のパッケージ でも良いのですが、後でどうせ xdvi は作るのでこれが良いと思います。

2.2 pTeX ソースの展開とコンパイル

ptex-2.1.4.tar.gz の README.euc を読めばすべて書いてあるのですが、一応 step-by-step の手順を示します。

  1. lib-6.9.tar.gz、plib-euc.tar.gz を /usr/local/lib 以下に展開します。
    # cd /usr/local/lib
    # zcat (somewhere)/lib-6.9.tar.gz | tar xf -
    # zcat (somewhere)/plib-euc.tar.gz | tar xf -
    
  2. ソースファイルを置いたディレクトリに入り展開します。
    % zcat web-6.1.tar.gz | tar xf -
    % zcat web2c-6.1.tar.gz | tar xf -
    % zcat ptex-2.1.4.tar.gz | tar xf -
    % zcat xdvik-18f.tar.gz | tar xf -
    
    これによって web2c-6.1、 ptex-2.1.4、 xdvik-18f 各ディレクトリができます。
  3. web2c-6.1/web2c を xdvik-18f ディレクトリに移動し、 不要なディレクトリを削除、また名前の変更を行います。
    % mv web2c-6.1/web2c xdvik-18f
    % mv xdvik-18f kpathsea-2.6
    % rm -rf web2c-6.1
    % rm -rf kpathsea-2.6/xdvik
    
  4. kpathseach のパッチをあてます。
    % cd kpathsea-2.6
    % patch -p -s < ../web2c.kpathsea-2.6.help
    
  5. 設定スクリプトを実行します。
    % cd ../ptex-2.1.4
    % ./pTeXsetup -euc
    % cd ../kpathsea-2.6
    % ./configure
    
  6. そのままコンパイルしてしまうと alloca 関数が衝突してしまうので、 kpathsea-2.6/web2c/web2c/web2c.h を変更します。具体的には最後の行
    extern void *alloca();
    

    をコメントアウトすれば良いはずです。
  7. make します。ここで ASCII の web page には、 Linux では hypot 関数が衝突するとありますが、 私のところでは無事に通ってしまいました。 うまく行かない場合は kpathsea-2.6/kpathsea/MakefileCFLAGS から始まる行に、-Dhypot を追加しておけば良いと思います。
  8. 無事に make が終了したら root になって make install します。 バイナリは /usr/local/bin にインストールされますので、 ここに 2.09 のバイナリが存在する場合は適宜名前を変更しておくなりして下さい。 またこの際 TEXPK や TEXTFMPATH など、以前のパッケージで指定されていた TeX 関連の環境変数の指定は全部解除してください。そうしないとフォントや TFM ファイルが見付からない旨のエラーになります。

pTeX 2.1.4 および対応 dviware では、フォントの自動生成機能が追加されています。 このとき、新たに生成されるフォントは /usr/local/lib/texmf/fonts/tmp/以下のディレクトリに置かれるので、 このディレクトリのパーミッションは 777 にしておかないとユーザによる書き込みができなくなります。

3. マクロパッケージと関連ツールのインストール

3.1 LaTeX2e、pLaTeX2e のソース

LaTeX2e のマクロパッケージは原則として半年おきにアップデートされています。 lib-6.9.tar.gz の中に入っているのは古いので、 できるだけ最新版を利用するのが望ましいでしょう。 まず ASCII かそのミラーサイトから以下のソースを取ってきます。 場所については pTeX のソース の節を参照してください。

base-9612.tar.gz
pl9702e.tar.gz

前者は CTAN (Comprehensive TeX Archive) の macros/latex/base を固めたものです。 有用なマクロなどもありますので、CTAN は一度覗いておくと良いでしょう。

最新の LaTeX2e では EC フォントと呼ばれるフォント群を利用することが 推奨されています。 これも CTAN の fonts/ec/ 以下のディレクトリに置かれています。 可能ならば入手しておくと良いでしょう。

国内の CTAN のミラーサイトは

などがあるようです。 私は tar+gz でディレクトリを一括転送してくれる会津大のサイトを 良く利用させてもらっています。ここでは例えば ec ディレクトリの親ディレクトリで

get ec.tar.gz
などとすると、 ec ディレクトリ下の中身を自動的にアーカイブしたファイル ec.tar.gz を転送してくれます。

3.2 LaTex2e のインストール

以下の記述は多くが platex2e の README.euc によります。 また以下の説明では簡略化のため /usr/local/lib/texmf$TEXMF と 記します。

  1. 入手した EC フォントを $TEXMF/fonts/public/ec ディレクトリ下に置きます。
  2. $TEXMF/tex/latex2e/base ディレクトリに LaTeX2e のファイルを展開します。
    # cd $TEXMF/tex
    # mv latex2e latex2e.orig
    # mkdir latex2e; cd latex2e
    # zcat (somewhere)/base-9612.tar.gz | tar xf -
    
  3. unpack.insec.insinitex で処理します。
    # cd base
    # initex unpack.ins
    # initex ec.ins
    
  4. latex2e のフォーマットファイルを作成し、移動します。
    # initex latex.ltx
    # mv -f latex.fmt $TEXMF/ini
    
  5. 実行ファイルを作成します。
    # cd /usr/local/bin
    # ln -s virtex latex
    
  6. 正しくインストールできたかをチェックします。
    # cd /tmp
    # rehash
    # latex ltxcheck
    
    正しくインストールされていれば、すべてのテストが "OK" になります。エラーが表示された場合は、その指示に従って環境を構築してください。

3.3 pLaTeX2e のインストール

同じく pLaTeX2e の README.euc 中の記述によります。

  1. pLaTeX2e のファイルを展開します。
    # cd /tmp
    # zcat (somewhere)/pl9702e.tar.gz | tar xf -
    # mkdir $TEXMF/tex/platex2e
    # mkdir $TEXMF/tex/platex2e/base
    # mv 9702/ $TEXMF/tex/platex2e/base/
    # rm -rf 9702
    # cd $TEXMF/tex/platex2e/base
    
  2. plcore.ins を処理し、フォーマットファイルの作成、移動を行います。
    # iniptex plcore.ins
    # iniptex platex.ltx
    # mv -f platex.fmt $TEXMF/ini
    
  3. 実行ファイルを作成します。
    # cd /usr/local/bin
    # ln -s virptex platex
    

3.4 jLaTeX 2.09 環境のインストール

今まで書いた文書もコンパイルできるように、 LaTeX 2.09 のマクロも利用できるようにしておきます。

  1. JE からインストールした LaTeX マクロが /usr/local/lib/tex/macros にあると思いますので、これを /usr/local/lib/texmf/tex/jlatex209/ などのディレクトリを掘ってコピーしておきます。
  2. コピーできたら pTeX でフォーマットファイルを作成します。
    # cd /usr/local/lib/texmf/tex/jlatex209
    # iniptex jlplain.tex \\dump
    
  3. jlplain.fmt ができますので、 これを今までと同じようにインストールします。
    # cp jlplain.fmt /usr/local/lib/texmf/ini
    # cd /usr/local/lib/texmf/ini
    # ln -s jlplain.fmt jlatex.fmt
    # cd /usr/local/bin
    # ln -s virptex jlatex
    
  4. マクロの検索パスを /usr/local/lib/texmf/web2c/texmf.cnf に追加します。具体的には
    jlatex_inputs = .:$TEXMF/tex/jlatex209//:$TEXMF/tex//
    TEXINPUTS.jlatex = $jlatex_inputs
    

    のような行を TEXINPUT 行の前に入れておけばよいでしょう。

3.5 LaTeX2e PostScript 関連パッケージのインストール

本節は土屋@京大さんよりいただいた情報に基づいています。

LaTeX2e では、ps file を文書に取り込んだりするマクロは別のパッケージに して配布されています。まず CTAN サイト から

macros/latex/packages/
以下のファイルを get して下さい(方法は、ec font の取得の時と同じです)。 得られた packages.tar.gz を適当なディレクトリに展開します。

%cd /usr/local/src
%tar xvzf $FTP/packages.tar.gz

まず tools パッケージの場合。 tools パッケージには enumerate.sty などが含まれます。

%cd /usr/local/src/packages/tools
%latex tools.ins
#mkdir $TEXMF/tex/latex2e/tools
#mv -f *.sty *.tex .tex $TEXMF/tex/latex2e/tools

次に graphics パッケージの場合。

%cd ../graphics
%latex graphics.ins
#mkdir $TEXMF/tex/latex2e/graphics
#mv -f *.def *.sty grfguide.tex $TEXMF/tex/latex2e/graphics

graphics パッケージの場合には、dviware に合わせた .cfg ファイルを作って おく必要があります。以下は dvips を利用する場合の例です。

残念ながら dvi2ps-j では graphics パッケージはうまく 動きませんでした (中野)。 dvipsk を利用して下さい。

#mkdir $TEXMF/tex/latex2e/config
#cd $TEXMF/tex/latex2e/config
#echo \\ExecuteOptions{dvips}>color.cfg
#cp color.cfg graphics.cfg

3.6 日本語版 makeindex (mendexk2.3g) のインストール

ASCII-pTeX のサイト から、mendexk2.3g.tar.gz を get して下さい。

cd /usr/local/src
tar xvzf $FTP/mendexk2.3g.tar.gz
cd mendexk

mendexk-2.3g では、kpathsea lib を利用するようになっていますので、 kpathsea.a が利用できるように Makefile を変更しなければなりません。

find /usr/local/src -name kpathsea.a -print

などでファイルを探し、


mendex: $(OBJS)
       $(CC) $(OBJS) $(LDFLAGS) -o $@ ../kpathsea/kpathsea.a

の、kpathsea.a を参照している相対パスを書き直し、

make
cp mendex $TEXBIN
cp mendex.1 /usr/local/man/ja_JP.ujis/man1

とすれば出来上がり。

4. フォント関連の設定

4.1 pk フォントの作成

pTeX のインストールをしたところで、 METAFONT のシステムも一揃い入っているはずですから、 これを用いれば各 pk フォントを作ることができます。 DVI ドライバによっては pk フォントを自動生成する仕組みになっていますが、 それでも良く使うものは一気に作ってしまっておく方が良いでしょう。

実際に私が作業するにあたり、非常に重宝したパッケージが ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/font/makefont.tar.gz です。以下、これを使うものとして話を進めます。

  1. まず適当なディレクトリに展開します。
    % mkdir makefont; cd makefont
    % zcat (somewhere)/makefont.tar.gz | tar xf -
    
  2. /usr/local/lib/texmf/mf/modes.mf を見て、 自分の使うプリンタに適したエントリを選びます。 私の場合 360DPI の Epson MJ-700V2C には bjtenex を、 300DPI の HP LaserJet IIIp には cx を選びました。
  3. フォントの選択パターンは数種類あり、 それぞれに応じてシェルスクリプトがありますが、 とりあえず latex2e 向けのものを利用すると良いと思います。
    % ./latex2e.sh bjtenex
    
    のように実行すると、 360DPI 向けの各種フォントが実行ディレクトリに作成されます。

後はこれをどこに置くかです。 各 METAFONT ソースに対応したディレクトリに置く、 というのも一つの考え方です。 私は一気にできてしまったものをまた分配するのが面倒だったのと、 pk フォントを Win95 マシンや他の Linux ホストで共有したかったため、 /usr/share/fonts/pk/pk300//usr/share/fonts/pk/pk360/ というディレクトリにまとめて置き、 /usr/share/fonts 以下を NFS や samba で公開しています。

この際、フォントのサーチパスがデフォルトと変るので、 /usr/lcoal/lib/texmf/web2c/texmf.cnf ファイルに変更が必要になります。 具体的には PKFONTS のエントリを


PKFONTS = .:$TEXMF/fonts//pk/$MAKETEX_MODE:/usr/share/fonts/pk//

のように書き換えました。

また pTeX 2.1.4 では /usr/local/lib/texmf/ls-R をいうファイルを作っておくと 各種ファイルの検索が高速になります。これは

# cd /usr/local/lib/texmf
# ls -LR /usr/local/lib/texmf /usr/share/fonts/pk > ls-R
のように作成します。 (L はシンボリックリンクの先をたどるオプションです)。

4.2 VFlib と TrueType フォントのインストール

VFlib は TeX、 PostScript などの文書で日本語を統一的に扱うための ライブラリパッケージで、広島大の角川先生が作業をしておられます。 日本語化 xdvi, dvi2ps-j などで利用されています。 最近の JE にも入っていたはずですが、とりあえず以下のようにしても作れます。

一次配布元は ftp://gull.se.hiroshima-u.ac.jp/pub/VFlib/ です。ミラーされているところも多いと思います。

を入手します。

  1. ソースを展開し、パッチ当てします。
    % zcat VFlib-2.22.tar.gz | tar xf -
    % cd VFlib-2.22/tools
    % uudecode ../../VFlib-2.22.PATCH-1
    % zcat ktestdiff.tar.gz | tar xf -
    % patch -p < Imakefile.diff
    % patch -p < ktest.diff
    % cd ../src
    % patch -p < ../../VFlib-2.22.PATCH-2
    % patch -p < ../../VFlib-2.22.PATCH-3
    % cd ..
    % uudecode ../../VFlib-2.22-PATCH-4.updated
    % zcat VF_FNTWV.patch.gz | patch -p1
    
    ふぅ :-)、これで終わりです。 インストールマニュアルは TeX で記述されているのですが、 Web 版のマニュアル もあります。
  2. src/Makefile を編集します。 このあたりは好みの別れるところですが... 私は以下の二点を変更しました。
  3. src ディレクトリに入って以下の作業を行います。
    % make
    % su
    # make install
    
  4. ここで Win95 の TrueType フォントを Linux から見える位置に移動します。 Win95 の c:\windows\fonts\ ディレクトリ (hidden 属性になっているので注意) にある msmincho.ttcmsgothic.ttc を例えば /usr/share/fonts/TrueType/ のようなディレクトリにコピーします。
    Microsoft は、自社にライセンスのある TrueType フォントに関して、 自社 OS 以外での利用を認めない、という方針のようです。 本文書での msmincho, msgothic は適当な TrueType フォントの例を示すものとお考え下さい。
  5. インデックス用のファイルを作ります。
    # cd /usr/share/fonts/TrueType
    # ttindex msmincho.ttc
    # ttindex msgothic.ttc
    
  6. /etc/vfontcap を編集します。 とりあえず
    ### TRUETYPE FONT (Windows fonts)
    r-microsoft-mincho|MicroSoft mincho:\
            :ft=truetype:\
            :ff=/usr/local/font/truetype/msmincho:
    r-microsoft-gothic|Microsoft gothic:\
            :ft=truetype:\
            :ff=/usr/local/font/truetype/msgothic:
    

    のところの ff= のパスを /usr/share/fonts/TrueType/msmincho のように変えておけば大丈夫だと思います。 (ここは筆者の知識不足につき、識者のフォローを歓迎します。)

4.3 virtual フォント

virtual フォントは各種 PostScript プリンタが持っているフォントの癖を吸収するために導入されたもので、 dvi ファイルのフォントメトリック情報と PostScript フォントの間の仲立ちをします。 dvi2ps-j や dvipsk を利用する際には、これが必要になります。 VFlib と併用する際には、 最も基本的な日本語 PS フォントである モリサワフォントのメトリック情報を用いることにします。

virtual フォントを用意するためには以下が必要です。

前者は漢字 PostScript フォントの AFM ファイルで、 フォントメトリックの情報が記述されているものです。 アスキー pTeX と一緒に配布されています。 pTeX のソース の節をご覧ください。

後者は前者を用いて virtual フォントを作成するツールです。一次配布元は ftp://ftp.math.s.chiba-u.ac.jp/tex/ です。各所でミラーされているようですので archie してみてください。

  1. 適当なディレクトリに日本語 PostScript フォントの AFM ファイルを展開します。 例えば /usr/share/fonts/AFM-j/ などに展開するなら
    # mkdir /usr/share/fonts/AFM-j
    # zcat (somewhere)/japaneseAFM.tar.gz /usr/share/fonts/AFM-j | tar xf -
    
  2. vftools のソースアーカイブを作業ディレクトリに展開します。
    % zcat (somewhere)/vftools-1.2.tar.gz | tar xf -
    % cd vftools-1.2
    
  3. Makefile を編集します。
  4. make します。
    % make a2bk
    
    jfm, vf-a2bk ディレクトリができ、 その中に日本語のフォントメトリックと virtual フォントができます。
  5. それぞれ標準的なディレクトリに移動します。 以下は dvipsk や dvi2ps-j で用いられているディレクトリにあわせてあります。
    # mkdir /usr/local/lib/texmf/fonts/kanji
    # cp -r jfm/ vf-a2bk/ /usr/local/lib/texmf/fonts/kanji/
    

5. DVI ドライバのインストールと設定

5.1 xdvik のインストール

以前は日本語パッチが散在していて、作るのがややこしいと言われていた xdvi ですが、 千葉大の山賀さんがパッチの取りまとめを行ってくださったおかげで、 最近では非常に簡単になりました。

xdvik18f-j1.1 のインストール

まず xdvik-18f の本体 xdvik-18f.tar.gz を入手します。 この文書の通りにこれまで実行してきた方はすでに手元にあるでしょう。 これは通常の pTeX と一緒に配布されており、 pTeX のソース の節で示したところにあります。

山賀さんがまとめてくださっている日本語パッチは ftp://ftp.ipc.chiba-u.ac.jp/pub/pub.yamaga/ が一次配布元になっています。 97/03/19 現在は xdvik18f-j1.1p5.patch.gz が最新版のようでした。

make の手順は付属の文書に非常に丁寧に記述されています。 ここでは概略のみ示します。

  1. まず xdvik-18f.tar.gzxdvik18f-j1.1p5.patch.gz を適当なディレクトリに置きます。
  2. 展開し、パッチ当てします。
    % zcat xdvik-18f.tar.gz | tar xf -
    % cd xdvik-18f/xdvik
    % zcat ../../xdvik18f-j1.1p5.patch.gz | patch -p
    
    ここで README.xdvik18f-j1.1p5.patch を良く読めば、 問題無く設定と作成が行えるはずです。以下は最も簡単な設定で行います。
  3. xdefs.make を編集し、 XDEFS の行に -DNOVFONTMAP を指定します。 こうすると日本語の使える書体が明朝とゴシックのみになります。 多書体を使いたい方は、付属の文書を良く読んでください。
  4. ディレクトリを上がって configure、 make します。
    % cd ..
    % ./configure
    % make
    
  5. スーパーユーザになってインストールします。 すでに kpathseach 関係のファイルなどが入っているので、 xdvi のみをインストールします。
    % cd xdvik
    % su
    
    # make install
    

最後に /usr/local/lib/texmf/web2c/texmf.cnfPKFONTS.xdvi セクションに、 先ほど PK フォントを置いたディレクトリを追加します。私の場合は


PKFONTS.xdvi = .:/usr/share/fonts/pk//:$pkdir/$MAKETEX_MODE:

という具合にしています。

Dviselect のインストール

本節は土屋@京大さんよりいただいた情報に基づいています。

xdvi は、「最後にマークしたページのみ印刷」、 「マークした全てのページの印刷」など多彩な印刷指定を行なうことが出来ます。 このためには、 dviselect というコマンドをインストールしなければなりません。

dviselect をインストールするには次のファイルを用意して下さい。

SeeTeX-2.19.tar.gz
SeeTeX-2.19-2.19J.gz

これらのファイルは、

ftp://ftp.hipecs.hokudai.ac.jp/pub/TeX/drivers/SeeTeX/

CTAN サイト の dviware/SeeTeX/ から入手可能です。

これを、次の様な手順でインストールすればよいでしょう。 ($FTP/ に archive file があるものとします。)

cd /usr/local/src
tar xvzf $FTP/SeeTeX-2.19.tar.gz
cd SeeTeX/
gzip -dc $FTP/SeeTeX-2.19-2.19J.gz | patch -p
xmkmf
make Makefiles
make
cp Dviselect/dviselect /usr/local/bin
cp Dviselect/dviselect.man /usr/local/man/man1/dviselect.1
chmod 644 /usr/local/man/man1/dviselect.1

5.2 dvi2ps-j のインストール

dvi ファイルを PostScript に変換する dviware です。 同じ機能を持ったものに jdvi2kps, dvipsk などもあります。 dvi2ps 系ではページイメージを縮小して一枚に複数のページを印刷する nup というコマンドが付属してきます。 日本語の文字を出力する際に VFlib を利用してラスタイズまで行うことができ、 こうすると PS プリンタ側に日本語フォントが必要なくなります。

必要なソース

dvi2ps-j 本体のソースは ftp://ftp.math.s.chiba-u.ac.jp/tex/ にあります。ファイル名は dvi2ps-2.0j-gamma.tar.gzです。

dvi2ps-j のコンパイル

コンパイル作業は特に難しくありません。ソースのアーカイブを展開し、 docinstall.doc/ の指示に従って Makefile を書き換え、 make→make install するだけです。 これまでの作業によって VFlib が入っており、 これを利用する場合の作業は以下のようになります。

  1. ソースを展開します。
    % zcat dvi2ps-2.0j-gamma.tar.gz | tar xf -
    % cd dvi2ps-2.0j-gamma
    
  2. Makefile を編集します。私が変えた点は以下のようなものです。
  3. make して、スーパーユーザになってインストール
    % make
    % su
    
    # make install
    

fontdesc の編集

fontdesc は dvi2ps-j で用いるフォント情報を指定するファイルです。 普通に dvi2ps-j のインストールを行った場合は /usr/local/lib/dvi2ps/fontdesc にあるはずです。 指定にあたっては dvi ファイル中のフォントをラスタイズするかどうかでいくつかの選択肢があります。

VFlib を使って日本語フォントをビットマップに展開する場合、 非日本語対応 PostScript でも印刷できるようになります。 ただ、私のところでは縦書きをさせることができませんでした (本当はできるのかもしれません。識者の情報をお待ちしております)。

日本語 PostScript ファイルを印刷できる環境の場合は、 漢字の情報を展開しないで保存しておけば縦書き印刷ができます。 この場合作成される .ps ファイルが小さくなるというメリットもあります。

英字フォントに関してもラスタイズしないでおくことは可能ですが、 この場合は PostScript プリンタで印刷する際に cm フォントなどの ps 版が必要になります。

以下、私の設定例を示します。


# dvi2ps font description file for VFlib with MJ-700V2C
#
# printer spec
#
resolution 360
#
# header
#
include         dvi2.ps
#
#  configs
#
vfontcap        /etc/vfontcap
define  f       /usr/local/lib/texmf/fonts
#
# ascii font
#
font    pk      * 3     /usr/share/fonts/pk/pk360/%f.%mpk
#
# MakeTeXPK
#
define mode  bjtenex
define  gen     /usr/local/lib/texmf/fonts/tmp/pk/$mode
font    pk      * 0     $gen/%f.%mpk
font    func    * 0     \
        !pre(dm),!pre(dg),!pre(min),!pre(goth),!pre(tmin),!pre(tgoth),\
        exec(/usr/local/bin/MakePK %f %m %R %M $mode $gen),\
        pk($gen/%f.%mpk)
#
# kanji font
#
#  for VFlib kanji of ASCII Nihongo TeX
#  First, convert ASCII dvi -> VFlib kanji dvi by virtual font
#
font    jvf     * 0     $f/kanji/vf-a2bk/%f.vf
#
#  Use VFlib Kanji Metrics
#
font    jfm     * 0     $f/kanji/jfm/%f.tfm
#
# VFlib mapping
#
map     rml     JSNR    ^r-microsoft-mincho
map     gbm     JSNR    ^r-microsoft-gothic
map     ryumin-l        JSNR    ^r-microsoft-mincho
map     gtbbb-m         JSNR    ^r-microsoft-gothic
#
# If PS printer have Morisawa-Kanji
#
#map    rml     JSNR    Ryumin-Light-H
#map    gbm     JSNR    GothicBBB-Medium-H
#map    rmlv    JSNR    Ryumin-Light-V
#map    gbmv    JSNR    GothicBBB-Medium-V
#map    ryumin-l        JSNR    Ryumin-Light-H
#map    gtbbb-m         JSNR    GothicBBB-Medium-H
#map    ryumin-l-v      JSNR    Ryumin-Light-V
#map    gtbbb-m-v       JSNR    GothicBBB-Medium-V

5.3 dvipsk-5.58f のインストール

本節は土屋@京大さんからいただいた情報です。

dvi→ps converter としては、dvipsk-5.58f を利用しています。dvipsk は、 他の converter と比べて kpathsearch library との相性が比較的良く、 余分な設定も少なくて済むような気がします。

dvipsk-5.58f をインストールするには次のファイルが必要です。

また dvi2ps で用いる virtual フォントを用意するために以下が必要です。

dvipsk-5.58f.tar.gz
dvipsk-jpatch-p1.2.tar.gz

インストールの手順は、次の通りです。

cd /usr/local/src
tar xzvf dvipsk-5.58f.tar.gz
cd dvipsk-5.58f
tar xzOf $FTP/dvipsk-jpatch-p1.2.tar.gz dvipsk.patch | patch -s
sh configure
make
cd dvipsk
make install

$TEXMF/dvips/config.ps が設定ファイルになっています。JE の環境下では、


% How to print.
o |lpr -Pps

の様に変更して、次の部分を


% Default resolution.
D 360

% Metafont mode. (This is completely different from the -M command-line
% option, which controls whether MakeTeXPK is invoked.)
M bjtenex

のように各自のプリンタに合わせて書き換えれば、設定は終了です (VFlib, /etc/printcap の設定は完了しているとします)。

dvipsk は、なぜか $TEXMF/ls-R があると動作しませんでしたので、 私はこのファイルは消去しました。 体感上はほとんどサーチ速度に変化はありませんでした (中野)

5.4 dviprt のインストール

MS-DOS では非常にポピュラーだった dviware です。 Unix 用には 2.43.3c というテスト版があり、 少々の変更で Linux でも動くようになります。 またある意味で VFlib の元になったプログラムであるため、 TrueType フォントの使い方はほとんど同じで、 VFlib のインストール の作業を行っていれば設定ファイルを書くだけで TrueType フォントが利用できるようになります。縦書きにも対応しています。

コンパイル

ソースは ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/dviout/test/t2433csr.tar.gz にあります。これを適当なディレクトリに置いたところから作業を始めます。

  1. ソースを展開します。
    % mkdir dviprt
    % cd dviprt
    % zcat ../t2433csr.tar.gz | tar xf -
    
  2. Makefile を編集します。
  3. make すると、dviprt がカレントディレクトリに出来上がりますので、 これを /usr/local/bin に手動でインストールしてください。

環境設定

環境設定に関しては DOS の dviprt とほとんど同じです。 まずプリンタ用のコンフィグレーションファイルを手に入れる必要があります。 DOS 用のものが Vector Design のライブラリ にありますので、ここから取ってくるのがわかりやすいと思います。 必要なファイルが入っているアーカイブは

です。 それぞれ展開して、 utils/files.utl というファイルを読めば、 目的のプリンタに対応したコンフィグレーションファイルが見付かると思います。 utils/cfg/ というディレクトリにあるはずです。

ちなみに Epson の MJ-700V2C には mj_360.cfg、 HP の LaserJet IIIp には hp_ljp.cfg というファイルを使いました。

これを /usr/local/lib/texmf/ にコピーし、 次いで設定ファイルを二つ作ります。 dviprt.pardviprt.vfn が必要になります。 雛形は上記アーカイブの utils/par/ にあります。 これらを EUC コードに変換し、行末を CRLF → LF にして

にコピーします。

dviprt.par を編集します。上記ファイルには詳細なコメントが入っていますので、 おそらくそれを見ながら設定できると思います。ちなみに私の手元のものを、 コメントを全部とった形でのせておきます。


TEXPK=/usr/share/fonts/pk/pk360/%s.%dpk;/usr/local/lib/texmf/fonts/public/ptex/tfm/%s.tfm
-p=omj_360.cfg
-LM=2.6mm
-TM=8.5mm
-vfn+

それぞれ

TEXPK

欧文 pk フォントと日本語のフォントメトリックファイルの位置を指定

-p

プリンタを指定。標準でサポートされているもの以外は =o(cfgファイル) という文法を用いる。

LM, TM

プリンタ上部、左部の印刷不能領域の設定

-vfn+

TrueType フォントを使う指定

を指定しています。なお、元のファイルにある
-=common.par

の行はコメントアウトしてしまって大丈夫です。

次いで dviprt.vfn を編集します。 これもコメントの通りでほぼ大丈夫だと思います。 同様に私の手元のものをのせます。


%version = 2
%vfont_list
 1,            /usr/share/fonts/TrueType/msmincho,        1000, 1000,   0
 2,            /usr/share/fonts/TrueType/msgothic,        1000, 1000,   0
%jfm_list
 min,      1,  a, a, n40, 100;0;0,      ,     ,     0
 goth,     2,  a, a, n40, 100;0;0,      ,    1,     0
 tmin,     1,  a, a, n40, 100;0;0,      ,     ,     0
 tgoth,    2,  a, a, n40, 100;0;0,      ,    1,     0