TeXの記憶(20) — pstricksと\definecolorでエラー

つい最近のことですが、依頼されて作ったマクロを送ったところ
エラーが出るというのでログを送ってもらいました。
自分の環境では当然エラーは表示されません。

見てみるとColorの定義がされてないと言っています。

PSTricks error.  See User's Guide for further information.
                 Type  H <return>  for immediate help.
! Color `sumi3' not defined.

sumi3というのはグレー30%するための以下の定義です。

\definecolor{sumi3}{cmyk}{0,0,0,0.3}

なんでこんなところでエラーになるのか。何となく過去にもあったような気がして…
思い出しました。PSTricksのバージョンが古のかもしれない。

ログを調べてみるとPSTricks関係のものはのきなみ1990年代です。2000年は一つもありませんでした。

… pstricks/pstricks.sty
Package: pstricks 1997/03/25 package wrapper for PSTricks pstricks.tex

私は以前のマクロのメンテナンスのために古いバージョンも動くようにしているので、試しに自分の古い環境で実行すると同じエラーが再現されました。

解決法は、クラスファイルで読み込んでいるpstricksの前に、「古い」pstcolを読み込ませることです。

\RequirePackage{pstcol}
\RequirePackage{pstricks}

これでエラーが\definecolorの定義も認識されエラーがなくなりました。

ちなみに新しい(といってもtetex3後だからぜんぜん新しくない)TeXでpstcolを読み込むと
以下のワーニングが出てきますが、動作はするようです。

Package pstricks Warning: *************************************************
(pstricks)                * The installed version of `pstricks.sty' doesn't
(pstricks)                * need `pstcol' any more. You should write only:
(pstricks)                *     \usepackage{pstricks}
(pstricks)      

TeXといってもいろいろな環境で仕事が行われているのでしょうが、15年も前のバージョンでも仕事できちゃうんですね。そういえば組版自体は15年前も今もあまり変化はないかもしれません。要求される技術も変わらないような気がします。もしかしたら、自分の周りだけの話なのかもしれませんが。

コメント