UNIX 上の dvi driver について


目次

  1. お断り
  2. はじめに
  3. 比較する dvi driver
  4. 日本語 TeX への対応
  5. tpic special のサポート
  6. kpathseach, MakeTeXPK のサポート
  7. EPS file の取り込み (作成中)
    1. 各種 style file (作成中)
    2. EPS file の取り込みコマンド (作成中)
    3. その他 (作成中)
  8. 修正差分
    1. lips3dvi patch (03/03 2010 更新) [Update]
    2. dvipr-tpic.patch
    3. dvipr-funcdef.patch
  9. バグレポート
  10. 参考文献
TeX のページへ戻る

お断り

このページの内容は、以前 LaTeX version 2.09 を使用していた ときの情報です。

よって、現在の LaTeX2e の環境、特に graphics 環境には対応しておらず、 その点は参考にならない可能性がありますのでご注意下さい。

また、現在当方では、LaTeX2e を使っていますので、目次に作成中、 とある項目の更新は行われないかも知れません。 LaTeX2e 用にこの page を書き直すことも、現在のところ考えていません。

目次へ

はじめに

UNIX 上の dvi driver は、画面出力用の物 (xdvi), プリントアウト用の物 (lips3dvi など), ps file への変換 (dvips など) と色々ありますが、 LaTeX (version 209) では eps file を張り込むといった場合には driver に依存した書き方をしなければいけません。 そこで、この driver を使う場合にはどう書いたら良いのか といったことなどをまとめておこうと思います。

なお、完全には確認していない事柄も多くあります。 例えば NTT-jTeX に関しては、 インストールしていないため動作確認はしていません。 そういう場合はソフトに付属の document などから判断しています。 よって間違いなどもあると思いますが、 そういったものについては御報告頂ければ幸いです。

目次へ

比較する dvi driver

取り上げる dvi driver とそのバージョンは以下の通りです。 必ずしも最新の物であるとは限らないと思います。 また、こちらの環境のために、やや特殊な driver も含まれています。

*1) mtpp: xdvi-pl17+markpage+toc+printdvi+paper.patch
*2) lipspsfig patch: lipspsfig + lipspsfig-p1 + lipspsfig-p2 からなる psfig, epsbox, (ecl)epsf 対応 patch
*3) tpic patch: dvipr-1.2.14 の tpic special の不具合を修正する patch

目次へ

日本語 TeX への対応

日本語 TeX (NTT 版 jTeX, ASCII 版日本語 TeX 1.7, ASCII 版 pTeX) への対応状況です。特に pTeX については縦書きの対応を見ています。

  1. dvipsk-566: NTT ? ; ASCII ◎ ; pTeX ◎
  2. dvi2ps-20j: NTT ◎ ; ASCII ◎ ; pTeX ○?
  3. jdvi2kps40: NTT ? ; ASCII ◎ ; pTeX ◎
  4. xdvi-17-jp: NTT ◎ ; ASCII ◎ ; pTeX ◎
  5. xdvik-20jp: NTT ◎ ; ASCII ◎ ; pTeX ◎
  6. dviout-239: NTT ○?; ASCII ◎ ; pTeX ◎
  7. lips3dvi-2: NTT ◎ ; ASCII ◎ ; pTeX ◎
  8. dvipr-1214: NTT ◎ ; ASCII ◎ ; pTeX ◎
  9. dviprt-239: NTT ○?; ASCII ◎ ; pTeX ◎
  10. dviprt-243: NTT ○?; ASCII ◎ ; pTeX ◎

NTT: NTT-jTeX, ASCII: ASCII-jTeX 1.7, pTeX: ASCII-pTeX (縦書)
?: 不明 (未確認), ◎: 対応, ×: 未対応

目次へ

tpic special のサポート

tpic special については次の項目を check しました。

*1) tpic special の sh 命令は次のように規定されています。

*2) sh x (0 < x < 1) の命令では灰色に塗られ、 その level については特に規定はありませんが、 各 driver では白から黒へ滑らかに変化していくように 数段階の階調を実装しているようです。
*3) sh 命令は tpic のマニュアルでは fp (実線の折れ線), ip (境界線のない折れ線), ar (楕円), ia (境界線のない楕円) に働く、 と規定されていて、da, dt, sp の sh については記述がありません。 しかしいくつかの driver は da, dt, sp の shading も support しています。

  1. dvipsk-566: [a] ○ [b] ○ [c] ◎ [d] ◎ [e] △ [f] ○ [g] ×
  2. dvi2ps-20j: [a] ○ [b] ○ [c] ◎ [d] ◎ [e] △ [f] ○ [g] ○
  3. jdvi2kps40: [a] × [b] × [c] × [d] × [e] × [f] × [g] ×
  4. xdvi-17-jp: [a] ○ [b] ○ [c] △ [d] ◎ [e] △ [f] × [g] ×
  5. xdvik-20jp: [a] ○ [b] × [c] × [d] × [e] × [f] × [g] ×
  6. dviout-239: [a] ◎ [b] ◎ [c] ◎ [d] ◎ [e] ◎ [f] ◎ [g] ◎
  7. lips3dvi-2: [a] × [b] × [c] × [d] × [e] × [f] × [g] ×
  8. dvipr-1214: [a] ○ [b] ◎ [c] ○ [d] ◎ [e] ◎ [f] ◎ [g] ◎
  9. dviprt-239: [a] ◎ [b] ◎ [c] ◎ [d] ◎ [e] ◎ [f] ◎ [g] ◎
  10. dviprt-243: [a] ◎ [b] ○ [c] ◎ [d] △ [e] ◎ [f] ◎ [g] ◎

その他 tpic special support に関して

  1. dvipsk-566:
    1. sp で sh を使うと Spline 曲線の弧が灰色になってしまう
    2. 引数無しで sh を使うと、0.5 ではなく、 直前の sh 命令の引数の値が使用される
    3. sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
  2. dvi2ps-20j:
    1. sh 命令がないとき ip, ia は境界線を書いてしまう
    2. sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
  3. jdvi2kps40:
    1. tpic special は support していない (実行時大量の error が出力されるが ps file は作成され、tpic special は無視される)
  4. xdvi-17-jp:
    1. da, dt, sp の shading は support していない
    2. shading の中間色は 3 段階くらい
    3. 点線や破線の Spline 曲線を書くとその点線描画が後の図形にまで引続き、 その後実線の Spline 曲線を描画するまで復帰しない
    4. da, dt は最初の一辺しか描画しない
    5. sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
    6. 起動時の描画と、shrink を変えた後の描画が異なることがある (弧の点線描画、sh の既定値など)
  5. xdvik-20jp:
    1. tpic は support しているが sh は support しておらず、完全 に無視する
    2. da, dt は最初の一辺しか描画しない
  6. dviout-239:
    1. sp, da, dt の sh も support している
  7. lips3dvi-2:
    1. tpic special は support しておらず、それらは無視される
  8. dvipr-1214: (詳しくは dvipr-tpic.patch)
    1. dvipr-tpic.patch を当てた後の物は da, dt, sp の shading も support している
    2. sh の階調は LIPS 3 の grey scale 命令を使わない物は灰色 5 段、 grey scale 命令を使う物は全体にやや色は暗い感じ
    3. grey scale 命令を使う物は Spline 曲線の shading では弧が描画されない
    4. Spline 曲線の描画に問題があり、作成される曲線が他の driver のものと異なる
  9. dviprt-239:
    1. 特に問題なし
  10. dviprt-243:
    1. sp は Spline 曲線と Bezier 曲線の 2 種類が書ける
    2. sh 0 による消去があまりうまくいかない
目次へ

kpathsea, MakeTeXPK のサポート

kpathsea-3.0 への対応、および自動フォント生成スクリプト MakeTeXPK に相当するものを実行できるかどうかを見ます。

  1. dvipsk-566: kpathsea-3.0 対応
  2. dvi2ps-20j: kpathsea 未対応、MakeTeXPK 相当のスクリプト付属
  3. jdvi2kps40: kpathsea 未対応
  4. xdvi-17-jp: kpathsea 未対応、MakeTeXPK 相当のスクリプト付属
  5. xdvik-20jp: kpathsea-3.0 対応
  6. dviout-239: kpathsea 未対応
  7. lips3dvi-2: kpathsea 未対応 *1) *2)
  8. dvipr-1214: kpathsea-3.0 対応
  9. dviprt-239: kpathsea 未対応
  10. dviprt-243: kpathsea 未対応

*1) xdvi-17 同様に MakeTeXPK 相当のスクリプトを内部で起動させる ためのパッチがあります。 詳しくはこちらへ。
*2) lips3dvi の kpathsea (2.X, 3.X) 対応パッチを作成しました。 詳しくはこちらへ。

目次へ

修正差分


lips3dvi patch について


目次へ

dvipr-tpic.patch について

dvipr-1.2.14 の tpic special の shading 命令に関する不具合の修正パッチ dvipr-tpic.patch と gnuplot-3.5 (-3.6) の tpic terminal の修正パッチ gnuplot-tpic.patch を含みます。

(更新日 09/04 1998)
目次へ

dvipr-funcdef.patch について

HP-UX 9.05, Solaris 2.5.1 で dvipr-1.2.14 をコンパイルすると setenv() がないといわれます。そのようなエラーが出たときは このパッチを当てて下さい。

以前、ここに置いていたパッチ dvipr-funcdef.patch は、 単に setenv() のコンパイルエラーを回避するだけの物で、 実際にはそれは HP-UX 9.05, Solaris 2.5.1 ではうまくは働かず、 kpathsea によってフォントを作ろうとするとエラーになっていました。 その不具合に対処するようにしたパッチ dvipr-funcdef-2.patch を 作成しましたので、以前のパッチ dvipr-funcdef.patch ではなく、 こちらを使って下さい。

パッチファイルを dvipr を展開したディレクトリにコピーしてその中で

patch -p1 < dvipr-funcdef-2.patch
として下さい。HP-UX, Solaris でない場合は #if defined .. の所を適当に書き換えて下さい。

(更新日 10/16 1998)
目次へ

バグレポート

完全に全部を check しつくしたわけではなく、また、よくわからないもの、 誤植など、いろいろな誤りが含まれている可能性があります。 おかしい点に気がつきましたら是非御連絡ください。 また、上で取り上げたソフトの新しい版での情報や 上記以外のソフトにについての情報なども歓迎します。 報告はメールでお願い致します。

目次へ

参考文献

  1. " Inside DVI -> PS ", 高山健三, Unix MAGAGINE, 1993,12 ~ 1996,9.
  2. Tpic manual, Tim Morgan, ( Tpic Manual (Vector Design) )
  3. 各コマンドの manual
  4. style file の manual

目次へ
TeX のページへ戻る
作成日: 09/02 2015
竹野茂治@新潟工科大学 (shige@iee.niit.ac.jp)