xdvi で色が出ない

xdvi で色が出ない

- T T の投稿
返信数: 7
Latex で color package を使って、

\documentclass[12pt]{article}
\usepackage[dvipdfmx,xdvi,dvips]{color}
\begin{document}
\textcolor{red}{赤} \textcolor{blue}青

\end{document}

のようなものを作って xdvi で見ても色が付きません(黒い字で出ます)。dvipdfmx で pdf にして見ると赤、青の色が付いているのですが。使っているのは

OS: ubuntu Linux (10.04)
xdvik: version 22.84.13 j1.34

です。ファイルブラウザーから直接ファイルを開いて xdvi を起動しても、コマンド "xdvi (ファイル名)" で起動しても同じです。また、ネットで検索すると "-usecolor" というオプションをつける、という方法もあったそうですが、バージョンが違うのか「Unrecognized option `-usecolor'」というエラーが出ます。

原因をご教示頂ければ幸いです。
T T への返信

Re: xdvi で色が出ない

- 匿 名 の投稿
とりあえず
> \usepackage[dvipdfmx,xdvi,dvips]{color}
と、いくつも「無駄に」あるいは「誤って」指定しているオプションを

\usepackage[dvips]{color}

と1つにしてみてはいかがでしょうか。
# なんで3つ書くとダメかはわかりますよね?
匿 名 への返信

Re: xdvi で色が出ない

- T T の投稿
ありがとうございました。
3つ書くとダメになる理由は「そういう仕様」という事でしょうか?(つまり、二つ以上の表示ソフトに対するコードは書いてくれない、という理解でよろしいでしょうか?)

xdvi が目的だったので、[xdvi] とだけ書いたもの (その他、無駄な訳ですが知らなかったので、いろいろ組み合わせ) は試していたのですが、「ありえない」と思って試していなかったオプション [dvips] で xdvi によるカラー表示ができました。

なぜ [xdvi] では xdvi での表示が出来ず [dvips] を使わねばならないのか、という疑問が残るのですが…。
T T への返信

Re: xdvi で色が出ない

- 匿 名 の投稿

% 上の人とは別の匿名です, 一応.
% あまり明るくありませんので, 誤りが含まれる可能性が少なくないことをあらかじめお断りしておきます.

> なぜ [xdvi] では xdvi での表示が出来ず [dvips] を使わねばならないのか、という疑問が残るのですが…。

ubuntu をお使いだということなので ubuntu のパッケージを検索してみましたが, xdvi.def は存在しないように見受けられ, そもそも \usepackage[xdvi]{color} という指定自体が意味を持っていない可能性が高いのではないかと思います.

オプションによるドライバ指定を「表示ソフトに対する」コードを書くものと誤解されているように見受けられるのですが, 実際には「目的の DVIware が解釈可能」な special 命令を書き出すような *.def ファイル (たいてい, $TEXMF/tex/latex/graphics/ 以下にあるのだと思いますが) の名前を指定します. 歴史的な経緯もあり, 多くの表示ソフトは dvips で解釈可能な special については解釈できるので, とりあえずの指定としては \usepacjage[dvips]{color} が無難であるといえます.

T T への返信

Re: xdvi で色が出ない

- 奥村 晴彦 の投稿
graphicsパッケージでは

\DeclareOption{xdvi}{\ExecuteOptions{dvips}}

となっているのに,colorパッケージでは

\DeclareOption{xdvi}{\ExecuteOptions{dvips,monochrome}}

となっていて,モノクロを仮定されているみたいですね。
これはバグなんでしょう。

いずれにしてもxdviはほぼdvips互換ということでdvipsを指定すればよさそうですね。
T T への返信

Re: xdvi で色が出ない

- T T の投稿
匿名様、奥村先生、詳しい解説と調査をありがとうございました。(20年前に初めて TeX を使った頃はもうちょっと頑張って中身まで調べたものですが、今は気力と時間が無くて他力本願になっています。すみません。)

・匿名様の解説で仕組みがやっと分かりました。DVIware によって [option] の部分を書き換えて別の dvi ファイルを吐かせないといけないのは、なんとなく "device independent" じゃないなぁ、という気がするんですが、仕方ないわけですね。

・匿名様と奥村先生が調べて下さった事で [xdvi] が効かない理由も分かりました。バグの可能性がある、という事は、将来的には治る ([xdvi] でも色が出る) 可能性もある、という事でしょうか。もっとも、「とりあえず [dvips] を指定」という解決策を教えていただいたので、今後はこれでやってみます。

ありがとうございました。
T T への返信

Re: xdvi で色が出ない

- 本田 知亮 の投稿
>"device independent" じゃないなぁ、という気がするんですが、仕方ないわけですね。

そもそもカラーというもの自体が
device dependentだということを理解しましょう.

「ある・なし」だけなら間違いなく依存しませんが
カラーだったら,RGBもあるしCMYKもあるし
HSVだってあるわけで,
表示する対象に依存するしかありません.

ほとんど同じ理由で「図」も
device dependentです.
T T への返信

Re: xdvi で色が出ない

- Z. R. の投稿

これは誤解している人がかなり多いのですが。

Device-independent という時の「デバイス」とは出力に用いるハードウェア(タイプセッター、プリンタ、スクリーン)のことです。決して、DVI を処理するソフトウェア(DVI ウェア、dvips や xdvi 等)のことではありません。当初から、DVI の仕様は DVI ウェア毎の拡張機能を許す設計になっています。(ただし標準機能と拡張機能を「分離する」形になっているのですが。)端的にいうと、

拡張機能を使う限り、DVI はそれを扱うソフトウェアに依存します。
(DVIウェア毎に異なるDVIを作成する必要がある。)

そして、graphicx や hyperref の「ドライバ指定」というのは、結局、このドライバ毎のDVIレベル(または TeX レベル)での差異を、LaTeX レベルで吸収して共通の命令で記述できるようにする仕組みです。このように考えれば、「複数のドライバ指定」が無意味なことが解るでしょう。

実際、この「ドライバを複数指定してしまう」というのは、LaTeX の参考書の「盲点」の一つだと思います。書く側にとっては、複数指定できないのは「当たり前」なので、つい「オプション引数にはあなたが使用するドライバの名前を書いてください」とだけ書いてしまうのですね…。