UNIX 上の dvi driver について
- お断り
- はじめに
- 比較する dvi driver
- 日本語 TeX への対応
- tpic special のサポート
- kpathseach, MakeTeXPK のサポート
- EPS file の取り込み (作成中)
- 各種 style file (作成中)
- EPS file の取り込みコマンド (作成中)
- その他 (作成中)
- 修正差分
- lips3dvi patch
(03/03 2010 更新)
- dvipr-tpic.patch
- dvipr-funcdef.patch
- バグレポート
- 参考文献
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 とそのバージョンは以下の通りです。
必ずしも最新の物であるとは限らないと思います。
また、こちらの環境のために、やや特殊な driver も含まれています。
- dvi file を PostScript file へ変換する dvi driver
- dvipsk-566: dvipsk-5.66a + dvipsk-jpatch-p1.3a
- dvi2ps-20j: dvi2ps-2.0j
- jdvi2kps40: jdvi2kps 4.0
- X の画面への previewer
- xdvi-17-jp: xdvi-17 + 960209jp patch + mtpp *1)
- xdvik-20jp: xdvik-20a + xdvik20a-j1.1p10.patch
- dviout-239: dviout/dviprt 2.39.01 for FreeBSD
- CANON Laser Printer (LIPS 3) printer への driver
- lips3dvi-2: lips3dvi 2.09a + lipspsfig patch *2)
- dvipr-1214: dvipr-1.2.14 + tpic patch *3)
- dviprt-239: dviout/dviprt 2.39.01 for FreeBSD
- dviprt-243: dviprt 2.43.3 for UNIX
*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 (NTT 版 jTeX, ASCII 版日本語 TeX 1.7, ASCII 版 pTeX)
への対応状況です。特に pTeX については縦書きの対応を見ています。
- dvipsk-566: NTT ? ; ASCII ◎ ; pTeX ◎
- dvi2ps-20j: NTT ◎ ; ASCII ◎ ; pTeX ○?
- jdvi2kps40: NTT ? ; ASCII ◎ ; pTeX ◎
- xdvi-17-jp: NTT ◎ ; ASCII ◎ ; pTeX ◎
- xdvik-20jp: NTT ◎ ; ASCII ◎ ; pTeX ◎
- dviout-239: NTT ○?; ASCII ◎ ; pTeX ◎
- lips3dvi-2: NTT ◎ ; ASCII ◎ ; pTeX ◎
- dvipr-1214: NTT ◎ ; ASCII ◎ ; pTeX ◎
- dviprt-239: NTT ○?; ASCII ◎ ; pTeX ◎
- dviprt-243: NTT ○?; ASCII ◎ ; pTeX ◎
NTT: NTT-jTeX, ASCII: ASCII-jTeX 1.7, pTeX: ASCII-pTeX (縦書)
?: 不明 (未確認), ◎: 対応, ×: 未対応
目次へ
tpic special については次の項目を check しました。
- [a] tpic special を support しているか
- [b] tpic special の sh 命令 (閉領域の塗りつぶし) *1) を support
しているか
- [c] sh 命令の塗りつぶし level *2)
- [d] sh 0 での消去 *1)
- [e] sh x (0 < x < 1) での重ね書き *1)
- [f] da, dt (破線、点線の折れ線) の shading *3)
- [g] sp (Spline 曲線) の shading *3)
*1) tpic special の sh 命令は次のように規定されています。
- "sh x" は次の描画命令で閉曲線が書かれた場合に shading を行う
- 引数 x は 0 から 1 までの実数で、x=0 が白、x=1 が黒、
その間の値は灰色で shading することを意味する
- x=0 のときはその閉領域の下にあったものはすべて消去する
- x > 0 のときは下の図形を消去せず、重ね書きする
- x は省略することもできるがそのときは x=0.5 と見なされる
- sh は閉領域のときのみ働き、図形の内部のみを shading し、
図形の境界線には影響を与えない
- sh 命令を support しない場合は、
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 しています。
- dvipsk-566: [a] ○ [b] ○ [c] ◎ [d] ◎ [e] △ [f] ○ [g] ×
- dvi2ps-20j: [a] ○ [b] ○ [c] ◎ [d] ◎ [e] △ [f] ○ [g] ○
- jdvi2kps40: [a] × [b] × [c] × [d] × [e] × [f] × [g] ×
- xdvi-17-jp: [a] ○ [b] ○ [c] △ [d] ◎ [e] △ [f] × [g] ×
- xdvik-20jp: [a] ○ [b] × [c] × [d] × [e] × [f] × [g] ×
- dviout-239: [a] ◎ [b] ◎ [c] ◎ [d] ◎ [e] ◎ [f] ◎ [g] ◎
- lips3dvi-2: [a] × [b] × [c] × [d] × [e] × [f] × [g] ×
- dvipr-1214: [a] ○ [b] ◎ [c] ○ [d] ◎ [e] ◎ [f] ◎ [g] ◎
- dviprt-239: [a] ◎ [b] ◎ [c] ◎ [d] ◎ [e] ◎ [f] ◎ [g] ◎
- dviprt-243: [a] ◎ [b] ○ [c] ◎ [d] △ [e] ◎ [f] ◎ [g] ◎
その他 tpic special support に関して
- dvipsk-566:
- sp で sh を使うと Spline 曲線の弧が灰色になってしまう
- 引数無しで sh を使うと、0.5 ではなく、
直前の sh 命令の引数の値が使用される
- sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
- dvi2ps-20j:
- sh 命令がないとき ip, ia は境界線を書いてしまう
- sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
- jdvi2kps40:
- tpic special は support していない (実行時大量の
error が出力されるが ps file は作成され、tpic special は無視される)
- xdvi-17-jp:
- da, dt, sp の shading は support していない
- shading の中間色は 3 段階くらい
- 点線や破線の Spline 曲線を書くとその点線描画が後の図形にまで引続き、
その後実線の Spline 曲線を描画するまで復帰しない
- da, dt は最初の一辺しか描画しない
- sh x (0 < x < 1) でも下の図形を上書きして塗りつぶしてしまう
- 起動時の描画と、shrink を変えた後の描画が異なることがある
(弧の点線描画、sh の既定値など)
- xdvik-20jp:
- tpic は support しているが sh は support しておらず、完全
に無視する
- da, dt は最初の一辺しか描画しない
- dviout-239:
- sp, da, dt の sh も support している
- lips3dvi-2:
- tpic special は support しておらず、それらは無視される
- dvipr-1214:
(詳しくは dvipr-tpic.patch)
- dvipr-tpic.patch を当てた後の物は da, dt, sp の shading も
support している
- sh の階調は LIPS 3 の grey scale 命令を使わない物は灰色 5 段、
grey scale 命令を使う物は全体にやや色は暗い感じ
- grey scale 命令を使う物は Spline 曲線の shading では弧が描画されない
- Spline 曲線の描画に問題があり、作成される曲線が他の driver のものと異なる
- dviprt-239:
- 特に問題なし
- dviprt-243:
- sp は Spline 曲線と Bezier 曲線の 2 種類が書ける
- sh 0 による消去があまりうまくいかない
目次へ
kpathsea-3.0 への対応、および自動フォント生成スクリプト
MakeTeXPK に相当するものを実行できるかどうかを見ます。
- dvipsk-566: kpathsea-3.0 対応
- dvi2ps-20j: kpathsea 未対応、MakeTeXPK 相当のスクリプト付属
- jdvi2kps40: kpathsea 未対応
- xdvi-17-jp: kpathsea 未対応、MakeTeXPK 相当のスクリプト付属
- xdvik-20jp: kpathsea-3.0 対応
- dviout-239: kpathsea 未対応
- lips3dvi-2: kpathsea 未対応 *1) *2)
- dvipr-1214: kpathsea-3.0 対応
- dviprt-239: kpathsea 未対応
- dviprt-243: kpathsea 未対応
*1) xdvi-17 同様に MakeTeXPK 相当のスクリプトを内部で起動させる
ためのパッチがあります。
詳しくはこちらへ。
*2) lips3dvi の kpathsea (2.X, 3.X) 対応パッチを作成しました。
詳しくはこちらへ。
目次へ
- lips3dvi-ext2
lips3dvi を kpathsea (2.X, 3.X) 対応させるためのパッチです。
後藤和茂さん (goto@statabo.rim.or.jp) が過去に linux-alpha-jp ML
に投稿したものを元にしています (どうもありがとうございました)。
なお、lips3dvi psfig パッチには対応していません。
詳しくはドキュメントをご覧下さい。
lips3dvi ext2 patch (version 1.1) を公開します。
このバージョンでは LIPS IV の 300DPI 以上の解像度にも対応しました。
詳しくはドキュメントをご覧下さい
なお、例えば 600DPI を使用する場合、lips3dvi.cnf の
porth_base, portv_base, landh_base, landv_base の値は倍の数値を
指定して下さい
(本来は DPI に依存しない単位にすべきなのでしょうが...)。
(09/27 2002)
lips3dvi ext2 patch (version 1.2) を公開します。
最近の C コンパイラに対するコンパイルエラーへの対応と、
ラスタイメージの重ね書きに対する LIPS IV への対応を行っています。
LIPS III と LIPS IV のラスタイメージの重ね書きのデフォルトが違っているために、
LIPS IV のプリンタで LIPS III のモードでフォントを重ね書きすると、
下の文字が非透過で塗り潰されてしまうことがあります。
その際はこのパッチで LIPS IV モードで使用してください。
(11/23 2009)
lips3dvi.cnf の downloadsize は、付属ドキュメントでは 8000 にしている、
と書いてありますが、これより小さいフォントファイルは
ダウンロードされてしまってサイズがおかしくなってしまうことがあるようです
(lasy10 とか)。その場合は、downloadsize を 0 にするといいようです。
(03/03 2010)
- lips3dvi-ext2 patch (version 1.2) (11/23 2009 更新)
- lips3dvi-ext2 patch (version 1.1) (09/27 2002 更新)
- lips3dvi-ext2 patch (version 1.0) (01/13 2002 更新)
- lips3dvi-ext1
lips3dvi で不足フォントを MakeTeXPK などを起動して自動生成する
機能などの拡張機能を付け加えるための patch lips3dvi-ext1 です。
- lips3dvi-ext1 patch (version 1.2) (01/08 2001 更新)
- lips3dvi-ext1 patch (version 1.0) (10/23 1998 更新)
- original source
目次へ
dvipr-1.2.14 の tpic special の shading 命令に関する不具合の修正パッチ
dvipr-tpic.patch と gnuplot-3.5 (-3.6) の tpic terminal の修正パッチ
gnuplot-tpic.patch を含みます。
(更新日 09/04 1998)
目次へ
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 しつくしたわけではなく、また、よくわからないもの、
誤植など、いろいろな誤りが含まれている可能性があります。
おかしい点に気がつきましたら是非御連絡ください。
また、上で取り上げたソフトの新しい版での情報や
上記以外のソフトにについての情報なども歓迎します。
報告はメールでお願い致します。
目次へ
- " Inside DVI -> PS ", 高山健三, Unix MAGAGINE,
1993,12 ~ 1996,9.
- Tpic manual, Tim Morgan,
(
Tpic Manual (Vector Design) )
- 各コマンドの manual
- style file の manual
目次へ
TeX のページへ戻る
作成日: 09/02 2015
竹野茂治@新潟工科大学
(shige@iee.niit.ac.jp)