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. はじめに 最近では 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 に関しても o 文書作成とコンパイルは Linux。 o プレビューは Win95 版 dviout。ファイルは samba を通して Win95 から も見えるようになっている。 o 印刷は Linux 上の dviprt。 という変則的な使い方をしております。従って xdvi や dvi2ps-j もインス トールはしましたが、横書き文書をプレビューできることしか確認していませ ん。またフォントの自動生成などに関してもいろいろ問題があるかとは思いま すが、 pLaTeX2e 環境の構築に関するまとまった情報はまだ少ないので、とり あえず何かの役には立つかと思い、文書としてまとめることにしました。 1.1. インストール環境 インストール前の環境は以下のようなものです。 o カーネル 2.0.29 o libc 5.3.12 o X11R6 + Accerelated X 1.3 o GCC 2.7.2.1 また印刷に用いたプリンタは以下の 2 台です。 o Epson MJ-700V2C (dviout、 dvipsk、 dvi2ps-j + GS 5.03) o HP LaserJet IIIp (dviout、 dvipsk、 dvi2ps-j + GS 5.03) 1.2. 参考にした情報 この文書を書くにあたって参考にした URL です。 o ASCII の pTeX ページ o 松阪大学の奥村先生のページ o 東京大学大島研究室のページ o 広島大学角川先生のページ o 千葉大学山賀さんのページ o 筑波大学中右さんの unix 管理録のページ 京都大学の土屋さんには dvipsk や makeindex, LaTeX2e 関連パッケージなど のインストールに関する大変有益な情報を送っていただきました。これらを追 加することが 0.3 の改版における主要な動機となりました。ただし本文中に 誤りがあったとしても、それは全て筆者の責任です。 また京都大学の石井さんには、 Microsoft 社の Truetype のライセンスに関 するご指摘をいただきました。 1.3. この文書について この文書中での作業にあたり、% は一般ユーザでの、 # はルート権限での作 業をそれぞれ示しています。ルートでの作業が結構多くなってしまいますの で、くれぐれも注意して行ってください。この文書によって生じた障害、損失 については筆者は一切の責任を取れません。ご自分の責任の下で利用してくだ さい。 2. pTeX のインストール まず TeX コンパイラ本体を作ります。ソースが大きくなってしまうので取っ てくるのが大変ですが、手元での作業は比較的簡単です。 2.1. pTeX のソース ASCII 版 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/Makefile の CFLAGS から始 まる行に、-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 のミラーサイトは o o o などがあるようです。私は 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.ins、 ec.ins を initex で処理します。 # 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 フォントを自動生成する仕組みになっています が、それでも良く使うものは一気に作ってしまっておく方が良いでしょう。 実際に私が作業するにあたり、非常に重宝したパッケージが です。以 下、これを使うものとして話を進めます。 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 にも入っていたはずで すが、とりあえず以下のようにしても作れます。 一次配布元は です。ミラー されているところも多いと思います。 o VFlib-2.22.tar.gz o VFlib-2.22-PATCH-1 o VFlib-2.22-PATCH-2 o VFlib-2.22-PATCH-3 o VFlib-2.22-PATCH-4.updated を入手します。 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 を編集します。このあたりは好みの別れるところですが... 私は以下の二点を変更しました。 o vfontcap ファイルの置き場所を変更 ________________________________________________________________ VFCAP = -DDEFAULT_VFCAP=\"/etc/vfontcap\" ________________________________________________________________ o ユーティリティプログラムの置き場所を変更 ________________________________________________________________ INSTALL_BINDIR=/usr/local/bin ________________________________________________________________ 3. src ディレクトリに入って以下の作業を行います。 % make % su # make install 4. ここで Win95 の TrueType フォントを Linux から見える位置に移動しま す。 Win95 の c:\windows\fonts\ ディレクトリ (hidden 属性になってい るので注意) にある msmincho.ttc と msgothic.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 フォントを用意するためには以下が必要です。 o japaneseAFM.tar.gz o vftool-1.2.tar.gz 前者は漢字 PostScript フォントの AFM ファイルで、フォントメトリックの 情報が記述されているものです。アスキー pTeX と一緒に配布されています。 ``pTeX のソース'' の節をご覧ください。 後者は前者を用いて virtual フォントを作成するツールです。一次配布元は です。各所でミラーされているよう ですので 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 を編集します。 o JFM エントリを /usr/local/lib/texmf/fonts/public/ptex/tfm に変 更。 o AFM エントリを、先ほど日本語 AFM ファイルを展開したディレクトリ に変更 o bkfonts エントリに ${t3} ${t4} を追加 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 ですが、千葉大の山賀さんがパッチの取りまとめを行ってくださったお かげで、最近では非常に簡単になりました。 5.1.1. xdvik18f-j1.1 のインストール まず xdvik-18f の本体 xdvik-18f.tar.gz を入手します。この文書の通りに これまで実行してきた方はすでに手元にあるでしょう。これは通常の pTeX と 一緒に配布されており、 ``pTeX のソース'' の節で示したところにありま す。 山賀さんがまとめてくださっている日本語パッチは が一次配布元になっています。 97/03/19 現在は xdvik18f-j1.1p5.patch.gz が最新版のようでした。 make の手順は付属の文書に非常に丁寧に記述されています。ここでは概略の み示します。 1. まず xdvik-18f.tar.gz と xdvik18f-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.cnf の PKFONTS.xdvi セクション に、先ほど PK フォントを置いたディレクトリを追加します。私の場合は ______________________________________________________________________ PKFONTS.xdvi = .:/usr/share/fonts/pk//:$pkdir/$MAKETEX_MODE: ______________________________________________________________________ という具合にしています。 5.1.2. Dviselect のインストール 本節は土屋@京大さんよりいただいた情報に基づいています。 xdvi は、「最後にマークしたページのみ印刷」、「マークした全てのページ の印刷」など多彩な印刷指定を行なうことが出来ます。このためには、 dviselect というコマンドをインストールしなければなりません。 dviselect をインストールするには次のファイルを用意して下さい。 SeeTeX-2.19.tar.gz SeeTeX-2.19-2.19J.gz これらのファイルは、 や ``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 プリンタ側に日本語フォントが必要なくなります。 5.2.1. 必要なソース dvi2ps-j 本体のソースは にありま す。ファイル名は dvi2ps-2.0j-gamma.tar.gzです。 5.2.2. 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 を編集します。私が変えた点は以下のようなものです。 o PAGEREVERSE をプリンタにあわせて TRUE に変更 o RESOLUTION を プリンタにあわせて 360 に変更 o VFlib 関係は 2) の設定を有効にした o CC=gcc に変更 o CFLAGS=-O -DPOSIX に変更 3. make して、スーパーユーザになってインストール % make % su # make install 5.2.3. 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 フォントが利用できるようになりま す。縦書きにも対応しています。 5.4.1. コンパイル ソースは にあります。これを適 当なディレクトリに置いたところから作業を始めます。 1. ソースを展開します。 % mkdir dviprt % cd dviprt % zcat ../t2433csr.tar.gz | tar xf - 2. Makefile を編集します。 o CFLAGS に -DBSD -I/usr/include/bsd を追加。 o 51 行目を ________________________________________________________________ $(CC) -o dviprt $(OBJS) -lm -lbsd ________________________________________________________________ のように変更。 3. make すると、dviprt がカレントディレクトリに出来上がりますので、こ れを /usr/local/bin に手動でインストールしてください。 5.4.2. 環境設定 環境設定に関しては DOS の dviprt とほとんど同じです。まずプリンタ用の コンフィグレーションファイルを手に入れる必要があります。 DOS 用のもの が Vector Design のライブラリ に ありますので、ここから取ってくるのがわかりやすいと思います。必要なファ イルが入っているアーカイブは o tex243ut.lzh o t2432ut.lzh です。それぞれ展開して、 utils/files.utl というファイルを読めば、目 的のプリンタに対応したコンフィグレーションファイルが見付かると思い ます。 utils/cfg/ というディレクトリにあるはずです。 ちなみに Epson の MJ-700V2C には mj_360.cfg、 HP の LaserJet IIIp には hp_ljp.cfg というファイルを使いました。 これを /usr/local/lib/texmf/ にコピーし、次いで設定ファイルを二つ作り ます。 dviprt.par と dviprt.vfn が必要になります。雛形は上記アーカイブ の utils/par/ にあります。これらを EUC コードに変換し、行末を CRLF → LF にして o /usr/local/lib/texmf/dviprt.par o /usr/local/lib/texmf/dviprt.vfn にコピーします。 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 ______________________________________________________________________