Japanese only. Character encoding is ISO-2022-JP (JIS). Lynx is recomended.
Last modified: Sat Feb 19 01:19:10 JST 2000

ASCII pTeX 2.1.8のインストール


前書き

略語は以下のとおりです。
srcdir=ソースを置く場所
prefix=/usr/local/tex
texmf=$prefix/share/texmf

LaTeXの様々なパッケージはCTANから持ってきます.国内ではRingServer Projectによって多数mirrorされているので,一番近い場所に行ってください.

ここではFreeBSD 3.4-RELEASEにインストールしています.

backup | TeX | pTeX | LaTeX2e | pLaTeX2e | LaTeX209 | dvipsk | xdvik | package | font | dvi2ps | misc


Backup

前のtexmfがあると何かとトラブルの元になるため移動しておきましょう.

csh# mv /usr/local/tex/share/texmf{,.old}


TeX

それではptex218.tar.gzのptex218/README.eucを見ながら作っていきましょう.まず,何となくtexmflibは最新を使います.CTAN/systems/web2cから最新(これを書いているときはtexmflib-7.5.tar.gz)を持ってきて展開.

# mkdir /usr/local/tex
# mkdir /usr/local/tex/share
# tar xzf texmflib-7.5.tar.gz -C $prefix/share
% tar xzf web-7.2.tar.gz -C $srcdir
% tar xzf web2c-7.2.tar.gz -C $srcdir
% cd $srcdir/web2c-7.2
% env LDFLAGS="-R$prefix/lib" ./configure --prefix=$prefix --enable-shared
% make

エラーで止りましたね?

! LaTeX source files more than 1 year old!.
l.573 ...LaTeX source files more than 1 year old!}

?
! Emergency stop.
l.573 ...LaTeX source files more than 1 year old!}

なるほど,ではLaTeXを最新にしましょう.$texmf/tex/latexにCTAN/macros/latex/base/を持ってきます.これをunpackするにはtexがインストールされていなければいけません.でもまだコンパイルが終わっていません.ニワトリと卵問題が発生.回避方法はいくつかありますが,今回は真っ向勝負.

# cd $texmf/tex/latex/base
# ln -s $srcdir/web2c-7.2/web2c/tex.pool .
# $srcdir/web2c-7.2/web2c/tex -ini unpack.ins
# rm tex.pool

では続きを

% cd $srcdir/web2c-7.2
% make
# make install

GNU fileutilsをインストールしていてそっちのlsを使うようにパスが設定されていると,mktexlsrでできあがるls-Rファイルが変になって次から

warning: kpathsea: No usable entries in /usr/local/tex/share/texmf/ls-R.
warning: kpathsea: See the manual for how to generate ls-R.
と言われるようになります.なので$prefix/bin/mktexlsrで\lsを/bin/lsに変更してしまいました.

pTeX

# tar xzf plib-1.4-euc.tar.gz -C $prefix/share
% tar xzf ptex218.tar.gz -C $srcdir/web2c-7.2/web2c
% cd $srcdir/web2c-7.2/web2c/ptex218
% ./configure EUC
% make

あ,またエラーで止りました.

You seem to be missing input files necessary to make the
basic formats (some or all of: platex.ltx).

platexも一緒にインストールするなんて聞いてないよ.まあいいや.これも最新を取ってきて先ほどと同様に入れましょう.

# mkdir $texmf/tex/platex
# cd !$
# tar xzf ~/ftp/tex/ascii-ptex/platex/1999-08-09/pl19990809e.tar.gz
# mv 19990809 base
# cd base
# ln -s $srcdir/web2c-7.2/web2c/ptex218/ptex.pool .
# $srcdir/web2c-7.2/web2c/ptex218/ptex -ini plcore.ins
# rm ptex.pool

では続きを

% make
# make install


LaTeX2e

既にTeXのインストールで最新が入っていますが,LaTeX2eの新バージョンが出たときの参考にしてください.

CTAN/macros/latex/base/を$texmf/tex/latexに持ってきて,次のようにします.

# cd $texmf/tex/latex/base
# tex -ini unpack.ins
# tex -ini latex.ltx
# mv -f latex.fmt $texmf/web2c

では動作チェックをしましょう.このときAMSTeX用のfontが必要になります.後述のフォントの設定を見て$texmf/fonts/tfm/amsfontsを用意します.

% cd /tmp
% latex ltxcheck


pLaTeX2e

既にpTeXのインストールで最新が入っていますが,pLaTeX2eの新バージョンが出たときの参考にしてください.

# mkdir $texmf/tex/platex
# cd !$
# tar xzf pl19990809e.tar.gz
# mv 19990809 base
# cd base
# ptex -ini plcore.ins
# ptex -ini platex.ltx
# mv -f platex.fmt $texmf/web2c


旧LaTeX(LaTeX209)の用意

LaTeX2eにはLaTeX209互換モードがありますが,完全に同じではないので,まだ旧LaTeXを常用する人はいれておいた方がいいでしょう.コマンド名は旧LaTeXはlatex209,旧platexはplatex209,旧jlatexはそのままjlatexにしています. $texmf/tex/platex209/base/は旧/usr/local/tex/lib/macrosです.

下準備
# mkdir $texmf/tex/platex209
# cd !$
# tar xzf platex209.tar.gz
# mv platex209 base
# cd ..
# ln -s platex209 latex209
# cd platex209/base
latex209を作る
# tex -ini lplain.tex \\dump
# mv lplain.fmt $texmf/web2c/latex209.fmt
# ln -s tex $prefix/bin/latex209
platex209を作る
# ptex -ini plplain.tex \\dump
# mv plplain.fmt $texmf/web2c/platex209.fmt
# ln -s ptex $prefix/bin/platex209
jlatexを作る
# ptex -ini jlplain.tex \\dump
# mv jlplain.fmt $texmf/web2c/jlatex.fmt
# ln -s ptex $prefix/bin/jlatex
$texmf/web2c/texmf.cnfに
TEXINPUTS.jlatex = $platex209_inputs
を追加

旧LaTeX用のマクロは$texmf/tex/platex209/local/などに置けばファイルの検索順序でLaTeX2eとの混乱が発生しません.


dvipsk

TeXを作ったディレクトリをそのまま利用します.アーカイブはdvipsk-5.78.tar.gzとdvipsk-5.78a.tar.gzが発見されると思いますが,*a.tar.gzの方はkpathseaなどが含まれています.

% cd $srcdir/web2c-7.2
% tar xzf dvipsk-5.78.tar.gz
% tar xzf dvipsk-jpatch-p1.4d.tar.gz
% patch < dvipsk.patch
% cd dvipsk
% env LDFLAGS="-R$prefix/lib" ./configure --prefix=$prefix --enable-shared --cache-file=../config.cache
% make
# make install

PostScriptフォントを使う場合はフォントの設定のところを見て,$texmf/dvips/base/psfonts.mapを編集します.


xdvik

% tar xzf xdvik-22.15.tar.gz -C $srcdir
% cd $srcdir/xdvik-22.15
% zcat xdvik-22.15-j1.03.patch.gz | patch -p1 -s
% patch -d texk/xdvik < xdvik-22.15-j1.03-patch

texk/xdvik/README.xdvik-jpを良く読む.そのあとconfigureなんですが,僕の環境は研究室の歴史的事情によりディレクトリ構成が複雑なためこうなります.

% env LDFLAGS='-R/usr/local/X11R6.3/lib:/usr/local/misc/lib:/usr/local/tex/lib -L/usr/local/misc/lib' ./configure --prefix=$prefix --enable-shared

texk/xdvik/xdvi-config.hを編集します.
#define DEFAULT_FONTMAP
#define FILTOPTTBLFILE
は自分の$prefixを参考に変更します.さらに,余計なテンポラリファイルを作らないためにPRINTCMDとPRCMD*をdvipsに特化してしてしまうといいでしょう.

% make
# cd texk/xdvik
# make install


パッケージ

graphicパッケージ

CTAN/macros/latex/required/graphicsを$texmf/tex/latex/psnfssに持ってきて,latex graphics.insを実行してunpackするだけ.

PostScriptフォント

CTAN/macros/latex/required/psnfssを$texmf/tex/latex/psnfssに持ってきて,makeを実行してunpackするだけ.同ディレクトリのドキュメントを読みましょう.実際にフォントを使うにはフォントの設定をさらにします.


フォント

KEIOロゴ

$texmf/fonts/source/local/kiis10.mf
$texmf/fonts/tfm/local/kiis10.tfm

普通は印字用フォントはpkフォントと呼ばれるプリンタのdpiにあわせたbitmapフォントが用いられます.しかし,PostScript Type1フォントなどベクタフォントを用いることにより,プリント時にdpi非依存の綺麗な印刷が得られるのと同時に,pkフォントが減ってハードディスクの節約になります.そこでここではcmフォントとamsフォントをdvipskで使えるように設定します.要するに$texmf/fonts以下にpfbを置いて,dvips/base/psfonts.mapにフォントリストを追加するだけです.{cmpsfont,ampsfnt}/mapfiles/psfonts.{am,cm}xがpfa用,psfonts.{am,cm}zがpfb用.

Computer Modern PostScript font (Type1)

% cd $texmf/fonts/type1
% ln -s '../../psfonts/cmpsfont/pfb' cm
% cat cmpsfont/mapfiles/psfonts.cmz >> $texmf/dvips/base/psfonts.map

AMS PostScript font (Type1)

# cd $texmf/fonts/type1
# ln -s '../../psfonts/amspsfont/pfb' amsfonts
# cd $texmf/fonts/tfm
# ln -s '../../psfonts/amspsfont/tfm' amsfonts
# cat amspsfont/mapfiles/psfonts.amz >> $texmf/dvips/base/psfonts.map

日本語Virtual Font (printerのbuild in fonts)

$texmf/fonts/vf/ptex に {min,goth}*.vf を置く
$texmf/fonts/tfm/jfm に {gbm,rml}.tfm を置く

PostScriptフォント (LaTeX2e psnfss)

スタイルファイルはパッケージを参照.

CTAN/fonts/psfonts/adobeからcourier,helvetic,times,utopiaなど必要なフォントを持ってきます.そしてtfm,vfを$texmf/fonts以下の所定の場所に,fdを前述のpsnfssに置きます.リンクでもいいです.また,dvips/config.*かdvips/ptm.mapを$texmf/dvips/base/psfonts.mapに加えます.標準的なのは既に書かれています.

$texmf/fonts/vf/adobe/times -> $texmf/psfonts/adobe/times/vf
$texmf/fonts/tfm/adobe/times -> $texmf/psfonts/adobe/times/tfm
$texmf/fonts/tex/latex/psfonts/*.fd -> $texmf/psfonts/adobe/times/tex/*

PostScriptフォント (LaTeX209 times.sty)

dvipskのソースのcontrib/latex209/を$texmf/platex209/dvips/にコピーします.これでtimes.styが使えるようになります.

mktexlsrを忘れずに


dvi2ps

% tar xzf dvi2ps-3.0j-alpha.tar.gz -C $srcdir
% cd $srcdir/dvi2ps-3.0j-alpha
% zcat dvi2ps-3.0j-alpha-patch1.gz | patch

doc/install.docを良く読んでMakefileを変更します.

PREFIX=/usr/local/tex
DVI2LIB=${PREFIX}/lib/dvi2ps-3.0j
VFLIB = -R/usr/local/misc/lib -L/usr/local/misc/lib -lVFlib2 -lttf
VFLIBINC = -I/usr/local/misc/include
KPSELIB = -R${PREFIX}/lib -L${PREFIX}/lib -lkpathsea
KPSEINC = -I${PREFIX}/include -DKPATHSEA
CCFLAGS = -O3 -DPOSIX # NetBSD FreeBSD (gcc 2.X), Linux

% make
% make newlib

make newlibしたらdoc/lib.docを読んでlib以下を編集します.ここではLaserWriter16/600PS-JをベースにOKI MICROLINE 600PSIIを設定しています.canonexをljfourにしているのはすでにljfourで600dpiのフォントをたっぷり持っていたからです.フォントに関しては,cm,amsはPostScript type1フォントを,日本語PSプリンタの標準的フォントはプリンタ内蔵フォントを使いたいので,フォント選択にbikanjiでなくallbifontにして,ペンマークなど特殊なフォント用にfonts-bitmapを加えています.

--- LW16-600J	Sat Jun 13 03:52:05 1998
+++ ML600PS2	Wed Feb 16 15:31:07 2000
@@ -1,7 +1,7 @@
-# dvi2ps font description file for LaserWriter16/600PS-J
+# dvi2ps font description file for OKI MICROLINE 600PSII
 #
 # printer spec
-fontdesc	printer/LW16
+fontdesc	printer/ML600PS2
 # font selection
-fontdesc	bikanji
+fontdesc	allbifont
+fontdesc	fonts$kpse/fonts-bitmap
 fontdesc	fonts$kpse/generate
--- printer/LW16	Thu Oct 10 14:45:22 1996
+++ printer/ML600PS2	Wed Feb 16 15:19:27 2000
@@ -1,5 +1,5 @@
-# LaserWriter16
+# OKI MICROLINE 600PSII
 #
 resolution	600
-define	mode	canonex
+define	mode	ljfour
 define	bk	mor2
あとはconfigkfontsk/asc-bikanjifontsk/bikan-mor2を編集してファイルの場所を自分の環境に合わせます.

# make install
# make install-lib
# cd $prefix/lib/dvi2ps-3.0j
# ln -s ML600PS2 fontdesc

インストールが終わったら動作確認.-dオプションをつけるとフォントの検索結果を全部出力してくれます.

% dvi2ps -d main.dvi > /dev/null


その他

gsftopk
xdvikでPostScriptフォントを展開するのに必要
dviselect
xdvikでページ印刷するために必要
mendex
日本語インデックス

井上 敬介 / keisuke@am.ics.keio.ac.jp