[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:01673] Install log of pLaTeX209



中田@青山学院大学です。

最近pLaEeX209を使う必要がでてきたので(pLaTeX2eの互換モードでは使用でき
ないスタイルファイルを使うため)、pTeX-2.1.4を使用してpLaTeX209を作成し
ましたのでそのレポートを添付します。
環境はDebian-1.3(bo)です。

sgmlで書いていますので見にくかったらlinuxdoc-sgmlでTeX等ソースに変換し
てから見てください。

----------------------------------------------------------------------

<!doctype linuxdoc system>

<article>

<title>pTeX-2.1.4でpLaTeX209を使う方法
<author> 中田 寿穂 (nakata@xxxxxxxxxxxxxxxxxxxxx)
<date> v0.1 alpha 28 August 1998
<abstract>
旧日本語TeX1.7のLaTeX(以下pLaTeX209)に強く依存したスタイルファイルの中
には、pLaTeX2eのpLaTeX209の互換モードでは動作しないものがいくつか存在し
ます。 
そこで、pTeX-2.1.4とpLaTeX209のスタイルファイルを用いてフォー
マットファイルを作ってpLaTeX209コマンド(以下<tt>jlatex</tt>)
を作成してみます。
</abstract>

<sect><tt>jlatex</tt>コマンドの作成。
<p>

pTeX-2.1.4はすでにインストールされているものとします。その他に、
旧ASCII日本語TeX1.7付属のpLaTeX209が必要となります。JEのパッケージ
からjtex1.7.tar.zをとってきてください。<p>

作業手順は以下の通りになります。

<enum>
<item>まず、<tt>/usr/local/lib/texmf/tex/</tt>の下に<tt>"jlatex"</tt>
というディレクトリを作成します。
<code>
# mkdir /usr/local/lib/texmf/tex/jlatex
# mkdir /usr/local/lib/texmf/tex
</code>
<item>適当なディレクトリ(<tt>/usr/local/src/jtex-1.7</tt>など)で

<tt>jtex-1.7.tar.z</tt>を解凍し、<tt>EUCsetup</tt>を実行します。 
<code>
# mkdir jtex-1.7
# tar zxf jtex-1.7.tar.z -Cjtex-1.7
# cd jtex-1.7
# ./EUCsetup
</code>
<item><tt>/usr/local/lib/texmf/tex/jlatex</tt>に<tt>jtex-1.7/macros,
jtex-1.7/jjmacros</tt>ディレクトリ以下のファイルをコピーします。
<code>
# cp -Rp jtex-1.7/macros/* /usr/local/lib/texmf/tex/jlatex
# cp -Rp jtex-1.7/jmacros/* /usr/local/lib/texmf/tex/jlatex
</code>
<item>環境変数<tt>TEXINPUTS</tt>に、今コピーしたディレクトリを指定して
から、pTeX-2.1.4の<tt>iniptex</tt>を起動して、フォーマットファイルを作
成します。
<code>
bashの場合
# TEXINPUTS=/usr/local/lib/texmf/tex/jlatex//;export TEXINPUTS
# cd /usr/local/lib/texmf/tex/jlatex
# iniptex jlplain.tex \\dump

cshの場合
# setenv TEXINPUTS=/usr/local/lib/texmf/jlatex//
# cd /usr/local/lib/texmf/tex/jlatex
# iniptex jlplain.tex \\dump
</code>
<item><tt>iniptex</tt>でできたフォーマットファイル<tt>jlplain.fmt</tt>
を<tt>/usr/lib/texmf/web2c/jlatex.fmt</tt>にシンボリックリンクをはります。
<code>
# ln -s /usr/local/lib/texmf/tex/jlatex/jlplain.fmt /usr/lib/texmf/web2c/jlatex.fmt
</code>
<item><tt>jlatex</tt>コマンドの作成
<p>
以前は、フォーマットを読み込んだ状態のvirtexのメモリ・イメージを作成し
て実行可能なプログラムに変換し、変換されたプログラムにtex、latexという
名前を付けて使用する方法が行われました。この方法では、<tt>undump</tt>
と呼ばれるメモリー・イメージから実行形式に変換するためのUNIXシステムの
機種やバージョンに依存する特殊なプログラムが必要になってしまいます。
<p>
しかし、最近は<tt>tex、latex</tt>などを起動する際に毎回virtexにフォー
マットファイルを読み込ませることが多くなってきました。この方法では、
texの起動のたびにフォーマットの読み込み動作のためにCPUが消費されてしま
うという欠点がありますが、<tt>undump</tt>のような特殊なプログラムがな
くてもあらゆるUNIXシステムで利用可能で、ディスク領域の節約できるという
特長があります。最近のUNIXマシンは充分に速度が早くなり、フォーマットの
読み込みに消費されるCPU時間が無視できるようになったので、今回はこの方
法で<tt>jlatex</tt>コマンドを作成します。<p>
<tt>virtex</tt>は、<tt>virtex</tt>以外の名前で起動され、`&amp;' による
フォーマットファイルの明示的な指定がない場合、自分自身の名前をフォーマッ
トファイル名として採用します。例えば、<tt>virtex</tt>を<tt>jlatex</tt>
と言う名前に変得ておくと、`<tt>jlatex.fmt</tt>'と言うフォーマットファ
イルをロードするのです。<p>
したがって<tt>jlatex</tt>コマンドは、<tt>virptex</tt>へのシンボリック
リンクを張るだけです。
<code>
# ln -s /usr/bin/virptex /usr/local/bin/jlatex
</code>
</enum>

<sect>ライブラリ検索パスの設定
<p>
以上の手順により、<tt>jlatex</tt>コマンドを作成することはできましたが、
<tt>jlatex</tt>コマンドを実行しても、
<code>
# jlatex pLaTeX_install-HOWTO.tex
This is pTeX, Version 3.1415 p2.1.4 (EUC) (C version 6.1)
I can't find the default format file! 
</code>
と表示され、jlatexが実行できません。これは、<tt>TEXFORMATSや
TEXINPUTS</tt>などが設定されていないからです。
<p>
pTeX -2.0以降では、フォントファイルやマクロファイルを探しにいくときに、
<tt>kpathserch</tt>ライブラリを用いてディスク内を検索します。
<tt>kpathsearch</tt>ライブラリの設定ファイルは、<tt>texmf.cnf</tt>とい
うファイルです。通常Debianの場合<tt>/etc/texmf</tt>ディレクトリに納め
られています。環境変数<tt>TEXFCNF</tt>に、<tt>texmf.cnf</tt>のあるディ
レクトリを指定すれば、マルチユーザ環境の場合などで、個人毎にに設定を変
更することも可能です。
<p>
<tt>texmf.cnf</tt>ファイルに以下の行を追加します。
<code>
%Now, we ste upthe Kpathsea related search paths:の項目

    JLATEXINPUTS=/usr/local/lib/texmf/tex/jlatex//
    TEXSTYLES=/usr/local/lib/texmf/tex/styles//

% The first "match" does "win". So, put the special case first:の項目

    TEXINPUTS.jlatex = $KPSE_DOT:$JLATEXINPUTS:$TEXSTYLES
</code>
上記の設定について簡単に説明します。
<p>
<tt>%Now, we ste upthe Kpathsea related search paths:</tt>では環境変数
<tt>JLATEXINPUTS, TEXSTYLES</tt>の設定をおこなっています。ここでは、
<tt>JLATEXINPUTS</tt>で指定されたディレクトリにはpLaTeX209に付属してい
るスタイルファイルを、<tt>TEXSTYLES</tt>には非付属のスタイルファイルを
入れるものとします。
<p>
<tt>% The first "match" does "win". So, put the special case
first:</tt>では各コマンドの環境変数<tt>TEXINPUS</tt>の設定を行っていま
す。上記の例では、<tt>jlatex</tt>というコマンドの環境変数を行っていま
す。このように、<tt>kpathsearch</tt>では、「それぞれのコマンドの環境変
数」のような指定が可能になっています。

肝心の検索パスの設定ですが、先程の例では、
<enum>
<item><tt>&dollar;KPSE_DOT</tt>
<item><tt>&dollar;JLATEXINPUTS</tt>
<item><tt>&dollar;TEXSTYLES</tt>
</enum>
のような順序で探しにいきます。2重スラッシュ「//」という表記は
サブディレクトリも検索せよ」という表記です。
2重スラッシュ「//」を付けないと、サブディレクトリ内のファイルを探しに
いきません。 
<p>
以下は<tt>/etc/texmf/texmf.cnf</tt>ファイルの見本です。

<code>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The modified Kpathsea used in the teTeX distribution set the variables
% SELFAUTODIR and SELFAUTOPARENT relative to the location of the binary.
%
% Since version 0.4 of teTeX, brace expansion was added to Kpathsea.
% In all path expansions, the characters { } have a special meaning.
% Example: abc{X,Y,}fg is equivalent to: abcXfg:abcYfg:abcfg.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% As for TETEXDIR, there are three common choices:
%   an absolute directory name, $SELFAUTOPARENT, $SELFAUTODIR
% If you want to use auto-detection, then try the command
%   kpsetool -v '$SELFAUTOPARENT $SELFAUTODIR'
% to find out which of the two is "correct" for your installation.
% The TETEXDIR normally holds this texmf.cnf file.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TETEXDIR           = /usr

% The name of the main texmf directory. ls-R is searched there.
TEXMF		= /usr/lib/texmf

% Set this to the name of your local tree. You can have none, one or
% even more local texmf trees. Just make sure to list them in the TEXMFS
% variable.
TEXMFL		= $TEXMF/local

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% List all your texmf trees in TEXMFS. So far, only TEXMF can be protected
% by !!, since ls-R only supports one texmf tree so far.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% No local tree:
%TEXMFS		= !!$TEXMF
% Search local tree *after* the standard tree:
%TEXMFS		= {!!$TEXMF,$TEXMFL}
% Search local tree *before* the standard tree:
TEXMFS		= {!!$TEXMFL,!!$TEXMF}

% Only used, if the varfonts feature is enabled by MT_FEATURES.
% Set this option with the texconfig utility if you need.
VARFONTS  = /var/spool/texmf

% Where dmp looks for troff font tables:
TRFONTS		= /usr/lib/font/devpost

% The MakeTeX* scripts rely on KPSE_DOT. Do not change it.
KPSE_DOT	= .

% Now, we set up the Kpathsea related search paths:
TEXFORMATS	= $KPSE_DOT:$TEXMFS/web2c
MFBASES		= $KPSE_DOT:$TEXMFS/web2c
MPMEMS		= $KPSE_DOT:$TEXMFS/web2c
TEXPOOL		= $KPSE_DOT:$TEXMFS/web2c
MFPOOL		= $KPSE_DOT:$TEXMFS/web2c
MPPOOL		= $KPSE_DOT:$TEXMFS/web2c
JLATEXINPUTS=/usr/local/lib/texmf/tex/jlatex//
TEXSTYLES=/usr/local/lib/texmf/tex/styles//

% The first "match" does "win". So, put the special case first:
TEXINPUTS.jlatex 	= $KPSE_DOT:$JLATEXINPUTS:$TEXSTYLES
TEXINPUTS.platex	= $KPSE_DOT:$TEXMFS/tex/{platex2e,generic}//
TEXINPUTS.platex2e	= $KPSE_DOT:$TEXMFS/tex/{platex2e,generic}//
TEXINPUTS.ptex	= $KPSE_DOT:$TEXMFS/tex/{ptex,plain,generic}//
TEXINPUTS.amstex	= $KPSE_DOT:$TEXMFS/tex/{amstex,plain,generic}//
				:
TEXINPUTS.eplain	= $KPSE_DOT:$TEXMFS/tex/{eplain,plain,generic}//
TEXINPUTS.fontinst	= $KPSE_DOT:$TEXMFS/{tex,fonts/afm}//
TEXINPUTS.ftex		= $KPSE_DOT:$TEXMFS/tex/{formate,plain,generic}//
TEXINPUTS.latex		= $KPSE_DOT:$TEXMFS/tex/{latex,latex209,generic}//
TEXINPUTS.latex209	= $KPSE_DOT:$TEXMFS/tex/{latex209,latex,generic}//
TEXINPUTS.mft		= $KPSE_DOT:$TEXMFS/{mft,tex}//
TEXINPUTS.ps2pk		= $KPSE_DOT:$TEXMFS/{tex,fonts/afm,dvips}//
TEXINPUTS.tex		= $KPSE_DOT:$TEXMFS/tex{/plain,/generic,}//
TEXINPUTS.texinfo	= $KPSE_DOT:$TEXMFS/tex/{texinfo,plain,generic}//
TEXINPUTS		= $KPSE_DOT:$TEXMFS/tex//
MFINPUTS	= $KPSE_DOT:$TEXMFS/{metafont,fonts/source}//:$VARFONTS/source//
MPINPUTS	= $KPSE_DOT:$TEXMFS/metapost//
MPSUPPORT	= $KPSE_DOT:$TEXMFS/metapost/support
VFFONTS		= $TEXMFS/fonts/vf//:$KPSE_DOT
TFMFONTS	= {$TEXMFS/fonts,$VARFONTS}/tfm//:$KPSE_DOT
PKFONTS		= {$TEXMFS/fonts,$VARFONTS}/pk/{$MAKETEX_MODE,gsftopk,ps2pk}//:$KPSE_DOT
GFFONTS		= $KPSE_DOT
GLYPHFONTS	= $KPSE_DOT:$TEXMFS/fontname
BIBINPUTS	= $KPSE_DOT:$TEXMFS/bibtex/bib//
BSTINPUTS	= $KPSE_DOT:$TEXMFS/bibtex/bst//
TEXCONFIG	= $KPSE_DOT:~:$TEXMFS/{dvips//,web2c}
DVIPSHEADERS	= $KPSE_DOT:$TEXMFS/{dvips,fonts/type1}//
INDEXSTYLE	= $KPSE_DOT:$TEXMFS/makeindex//
				:
				:
</code>

<tt>kpathsearch</tt>ライブラリは、便利なのですがディレクトリ構造が深く
なっていくにつれ、ファイルを見つけ出すまでの時間がかかります。
そこで<tt>ls-R</tt>をいう名前のファイルを作成します。
<tscreen>
ls -R / > /usr/lib/texmf/ls-R 
</tscreen>
以上で設定はすべて終りです。

</article>