竹の 01/18 2001 --------------- lips3dvi-2.09a のいくつかの機能拡張 patch lips3dvi-ext1 (version 1.2) を公開します。 1. lips3dvi-ext1 patch ---------------------- 1.1. lips3dvi-ext1 patch について --------------------------------- lips3dvi-2.09a (+ lipspsfig patch) にいくつかの機能を追加した patch です。追加される機能は以下の通りです (カッコ内は config.h での変数名)。 1) フォント検索の幅を広げる (USE_SEARCH_WIDTH) 例えばフォント cmcsc10.432pk が見つからない場合に cmcsc10.431pk, cmcsc10.433pk などを探すようにする機能です。範囲は lips3dvi.cnf で設定できます。 2) 給紙制御 (USE_FEED_CONTROL) カセット、トレイの給紙をオプションで指定できるようにします。 3) 不足フォントの自動生成 (USE_MAKETEXPK) MakeTeXPK などのスクリプトを起動して、不足フォントを自動生成する ようにします。これを利用するためには、そのようなスクリプトが必要 です。私は xdvi-17jp 付属の MakeTeXPK を利用していますが、dvi2ps 付属の MakePK も多分使えると思います。 4) 必要なフォントの一覧を表示 (USE_PUTOUTFONTLIST) dvi ファイルが必要とするフォント名の一覧を出力します。 5) lips3dvi.cnf の若干の拡張 lips3dvi.cnf の、フォントパスなどの長い行を数行に分けて書くことが できます。 なお、lips3dvi は ESC/Page 用ドライバ escpdvi も含んでいますし、 動作環境 SUNIX だけでなく MS-DOS 上でも使うことができますが、この patch は escpdvi、および MS-DOS 環境ではテストしてはいません。 1.2. インストール ----------------- まず、lips3dvi-ext1-1.2.tar.gz を取得してください。ここには次の 3 つのファイルが含まれます。 lips3dvi-ext1-with-psfig.patch : psfig patch を使う場合の patch ファイル lips3dvi-ext1-without-psfig.patch : psfig patch を使わない場合の patch ファイル readme.ext1 : このドキュメントファイル インストール方法は lipspsfig patch を使うか使わないかで 2 通りに 分かれます。それぞれに分けて説明します。 lipspsfig patch は lips3dvi.2.09a で EPSF を張り込んだ dvi ファイ ルを印刷するための patch で、長島さん、後藤さん、影沢さんが作成し た物です。これには GhostScript 用の patch も含まれていて、それを 使って GhostScript も作り直す必要があります。ただし、新しい GhostScript (GhostScript 3.X 以降) には対応していません。 # 私はこれのために GhostScript 2.6.2 を使用しています (^^; なお、インストールに際しては、オリジナルドキュメント readme.txt、 lipspsfig patch を使う場合はそれに付属のドキュメントも参照してく ださい。 1.2.1. lipspsfig patch も当てる場合 ----------------------------------- lipspsfig patch は以下の 3 つを使用します。 lipspsfig.tar.gz : 長島さんによる patch (1992/08/20) lipspsfig-p1.tar.gz : 長島さんと後藤さんによる patch (1993/03/19) lipspsfig-p2.gz : 影沢さんによる patch (1993/10/08) PSfig 対応の GhostScript の作成については、lipspsfig patch 付属の ドキュメントを参照してください。 [a] ソースの展開と patch 当て まず、lips3dvi-2.09a を展開して、そのディレクトリで lipspsfig patch (3 つ) を当てます。 % mkdir lips3dvi % cd lips3dvi % gunzip -c ../lips3dvi2.09a.tar.gz | tar xf - % gunzip -c ../lipspsfig.tar.gz | tar xf - % mv Makefile.unx makefile.unx (patch の方のファイル名が makefile.unx になっているため) % patch -p0 < lipspsfig.diff % mv makefile.unx Makefile.unx % gunzip -c ../lipspsfig-p1.tar.gz | tar xf - % patch -p0 < lipspsfig-p1.diff % gunzip -c ../lipspsfig-p2.gz | patch -p0 その後でこの patch を当てます。 % gunzip -c ../lips3dvi-ext1-1.2.tar.gz | tar xf - % patch -p1 < lips3dvi-ext1-1.2-with-psfig.patch [b] config.h, lips3dvi.cnf, Makefile.unx の編集 config.h は、1.1. で説明した変数などが定義されています。デフォル トではそれらは 1 と定義されていますが、それらの機能を使用しない場 合は 0 と定義しておいて下さい。他の変数については readme.txt、お よび lipspsfig patch 付属のドキュメント readme.psf を参照してくだ さい。 lips3dvi.cnf にも、これらの機能に対する変数が追加されます。それら の項目に関しても修正を行ってください。詳しくは 1.3. をご覧くださ い。 Makefile.unx は、BINDIR, LIBDIR, PSFIG_LIB, TEX_INPUTS を適当に修 正して、必要ならば CC, CFLAGS も修正してください。 [c] コンパイル & インストール psfig-epsf.c を使う場合は % mv psfig-epsf.c psfig.c としてください。後は % ln -s Makefile.unx Makefile % make lips # make install で OK です。 1.2.2. lipspsfig patch は使用しない場合 --------------------------------------- [a] ソースの展開と patch 当て まず、lips3dvi-2.09a を展開します。 % mkdir lips3dvi % cd lips3dvi % gunzip -c ../lips3dvi2.09a.tar.gz | tar xf - その後でこの patch を当てます。 % gunzip -c ../lips3dvi-ext1-1.2.tar.gz | tar xf - % patch -p1 < lips3dvi-ext1-1.2-without-psfig.patch [b] config.h, lips3dvi.cnf, Makefile.unx の編集 config.h は、1.1. で説明した変数などが定義されています。デフォル トではそれらは 1 と定義されていますが、それらの機能を使用しない場 合は 0 と定義しておいて下さい。他の変数については readme.txt を参 照してください。 lips3dvi.cnf にも、これらの機能に対する変数が追加されます。それら の項目に関しても修正を行ってください。詳しくは 1.3. をご覧くださ い。 Makefile.unx は、BINDIR, LIBDIR を適当に修正して、必要ならば CC, CFLAGS も修正してください。 [c] コンパイル & インストール % ln -s Makefile.unx Makefile % make lips # make install で OK です。 1.3. 拡張機能と lips3dvi.cnf の変数 ----------------------------------- 1.1. で説明した 1) ~ 5) の拡張機能と、lips3dvi.cnf の設定について 説明します。 1.3.1. 1) USE_SEARCH_WIDTH を 1 とした場合 ------------------------------------------ pxlsearchwidth = pxl フォントファイルの検索幅 (0 以上の整数) pksearchwidth = pk フォントファイルの検索幅 (0 以上の整数) jxlsearchwidth = jxl フォントファイルの検索幅 (0 以上の整数) デフォルトはいずれも 1 で、±1 の解像度まで検索します。 1.3.2. 2) USE_FEED_CONTROL を 1 とした場合 ------------------------------------------ feedway = 給紙方法の指定 (n,t,c,cl,ch,c1,c2,...) デフォルトは n, つまり無指定です。この場合はプリンタの設定 が使用されます。他のオプションは次の通りです。 t: トレイ, c: カセット, cl: カセット下, ch: カセット上, c1: カセット1, c2: カセット 2, ... プリンタによってカセットが上下に分かれているもの、カセット 1,2,.. と分かれているものなどが異なります。その辺はプリンタマニュアルを 参照してみてください。 また、この給紙方法は lips3dvi のコマンドラインオプションでも指定 できます。 -q [feedway] (feedway=n,t,c,cl,ch,c1,c2,...) です。 1.3.3. 3) USE_MAKETEXPK を 1 とした場合 --------------------------------------- makepkcmd = 不足フォント生成スクリプトのパス デフォルトは /usr/local/bin/MakeTeXPK です。xdvi-17jp 付属の MakeTeXPK が使用できます。これにより作成されるフォントの置場所が lips3dvi.cnf の fontdir に含まれるようにして下さい。 makeanymag = 任意の拡大率のフォントを生成を認めるか (yes,no) デフォルトは no です。これは、300 DPI のプリンタ用なのに、dvi フ ァイルが cmr10.180pk のようなフォントを要求しているが、それも生成 するか、ということを意味しています。no とすると、通常の拡大率であ る 1 倍, 0.8 倍, 0.9 倍, magstep x (x=0.5,1,2,3,4,5) 以外のものの生成は行いません。これは lips3dvi のコマンドラインオ プションでも指定できます。 -M をつけると makeanymag = yes と同じことになります。 1.3.4. 4) USE_PUTOUTFONTLIST を 1 とした場合 -------------------------------------------- bdpi = 基準のプリンタ解像度 デフォルトは 300 です。これが働くのは、lips3dvi のコマンドライン から -P オプションが指定された時のみです。このとき、lips3dvi は LIPS3 コードではなく、必要なフォントの一覧表を、標準出力に出力し ます。dvi ファイルが必要としているフォントを知りたい場合などに利 用して下さい。 bdpi を変更すると、それに合わせてフォントの解像度も変化します。 bdpi は lips3dvi のコマンドラインオプションからも指定できます。 -B [bdpi] です。 1.3.5. 5) lips3dvi.cnf の拡張 ----------------------------- これには追加される変数はありませんが、lips3dvi.cnf で fontdir や tfmdir などに複数のパスを指定する場合に、長くなる行を複数行に分け て書くことができます。すなわち、 「行末の \ はそれに続く改行、及びその次の行の行頭に含まれる複数の スペースやタブとともに無視される」 という規則を入れました。よって fontdir /usr/local/lib/tex/pkfonts;\ /usr/local/lib/tex/jxlfonts のような書き方が可能になります。 2. その他 --------- 2.1 バグリポート --------------- この patch はいずれも無保証です。しかし色々な不具合は、対応できる ものは行う予定ですので、不具合の報告、意見などは歓迎します。報告 等は下記メールアドレスへお願い致します。 また、この patch に関する情報、最新版等は以下の WWW page で公開し ますのでご覧ください。 Email address: shige@iee.niit.ac.jp WWW page URL : http://takeno.iee.niit.ac.jp/~shige/TeX/dviware/dviware.html 2.2 更新履歴 ------------ 10/23 1998 1) patch (version 1.0) を公開 01/08 2000 2) ドキュメントの修正 (install 部分を変更) 3) patch を 2 通り用意 4) フォントの自動生成と解像度に関する不具合の fix +=================================================+ 竹野茂治 〒945-1195 新潟工科大学 情報電子工学科 shige@iee.niit.ac.jp TEL(&FAX): 0257-22-8161 +=================================================+