PSTricks を利用した図形描画

2007年7月8日初稿 メールはこのアドレスへお願いします
2007年8月31/21/11/10/6日,7月25/20/12/11日加筆
2013年5月4日加筆

2013年春に佐賀県下一斉学力診断テストを作り直した。自作フォントの使用をやめてヒラギノとMSゴシックを利用した。

kh2511.tex -platex.exe→ kh2511.dvi -dvips.exe→ kh2511.ps -Acrobat Distiller 7.0 → kh2511.pdf

test200.zip (2013年5月4日,419K bytes)

■ PDFサンプル( 128K bytes ) dvips -Ppdf -t jisb5 -u psfonts-kenmoshi.map kh2511.dvi


久しぶりに佐賀県下一斉模擬試験を入手した。以前作ったアーカイブも古くなってしまっていたので作り直してみた。

しかし気になるところが出てきた。以前は epic.sty, eepic.sty を使って図形を描画してきた。しかし現在ではより多くの人が閲覧できるように,作成した TeX DVI ファイルを dvipsk.exe で PS ファイルに変換して,さらに Acrobat Distiller で PDF に変換している。その際に直線や斜線などは拡大してもギザギザにならないように変換してくれるが \bezier コマンドで描画したベジエ曲線だけはうまく変換されず拡大するとギザギザになってしまう。

そこで拡大してもギザギザにならない図形を描画するための方法を研究したが PSTricks パッケージを使うことに落ち着いた(以前 LaTeX グラフィックス コンパニオン TeXとPostScriptによる図解表現テクニック,2000年 が発売されたのは知っていたが値段の高さもあって,チラッと立ち読みしたままで終わってしまっていた)。概要については奥村先生の PSTricks - TeX Wiki を見てほしい。今回参考になったのは PSTricks入門 だ。さらに詳しい使い方は http://www.ring.gr.jp/pub/text/CTAN/graphics/pstricks/base/doc/pstricks-doc.pdf (5.1MB,338ページ) が参考になるだろう。

慣れが必要だが PostScript でできることは何でもできる ことはとても魅力的だ。作成した TeX DVI ファイルを dviout.exe で閲覧することはできないが(たぶんできないと思う)今回の最終目的は PDF ファイルを作ることなのでやむを得ない。閲覧するには Ghostscript などを使う必要がある。

kh1911.tex -platex.exe→ kh1911.dvi -dvipsk.exe→ kh1911.ps -Acrobat Distiller 7.0 → kh1911.pdf

■ ダウンロード / 平成19年度 第1回(佐賀)県下一斉学力診断テスト1年数学

test114.zip (2007年8月21日,82K bytes,PSTricks & xcolor 利用の新しいバージョン)

test100.zip(2007年7月8日,61K bytes,epic.sty eepic.sty 利用の古いバージョン)

b4tate.zip(私が使っている自作の簡単なスタイルファイル)


■ PDFサンプル dvipsk -R0 -Ppdf -t jisb5 kh1911.dvi ( 50K bytes )

■ EPSON レーザープリンタだと文字がかすれる 2007年7月20日追記

ネットワーク接続の EPSON レーザープリンタ(試したのは LP-8300S, LP-9800C, LP-8900)で印刷すると文字がかすれる。ただしかすれるのは文字のみで図形の直線・斜線・曲線は全くかすれない。しかし Canon のレーザープリンタ LBP-870 で印刷すると文字はかすれない。そこで EPSON LP-8300S をパソコンにローカル接続(LPT1ポート)して印刷したがやはり文字がかすれる。EPSON レーザープリンタ側の問題(印刷設定?)ではないか判断して,印刷設定をいろいろ変えて試したが「詳細設定」で「モノクロ」「高品質」グラフィックなし/ハーフトーン/PGI で「なし」を選択,「RIT チェックを外す」で印刷するとかなりきれいに印刷できました。もしかすると私の PDF の作成の仕方が悪いのかもしれません。情報をお持ちの方はご連絡をお願いします。

simple.zip (2007年8月6日公開,問題検証用)

 2007年8月6日追記 エプソンに問題のPDFを送って調べてもらいました。私の手元の Canon プリンタではうまく印刷できましたが,Canon プリンタでも問題が起こるプリンタもあるようです。Acrobat Distiller の設定でカラーマネジメントポリシーで「カラー変更なし」にするとうまくいくという回答をもらいました(しかし私の手元にある LP-8300S ではカラーマネジメントポリシーで「カラー変更なし」でも文字がかすれて印刷されてしまいます。なぜ?)。文字のRGBブラックがCMYKブラック(墨ベタ)に変換されないことが原因のようです。http://www.acrobat-print.com が参考になります。

 2007年8月10日追記 Adobe にも問い合わせてみました。回答は「カラー情報が変更されている可能性が考えられるので,ジョブオプションを『高品質印刷』にして変換してください」というものでした(「高品質印刷」では「カラー変更なし」に設定されています)。残念ながら「高品質印刷」にしてもLP-8300Sでは正しく印刷されないことを確認していたので再度質問したかったのですが「Acrobat 7.0 については無償サポートの提供を終了させていただいております。本フォームよりお問い合わせいただく場合には,予め有償サポートをご契約いただく必要がございます。」の一文が…。Acrobat 7.0 を購入して以来一度もサポートを利用したことはなかったのでまだ2回分のサポートが残っていると思っていたら,とっととサポートは打ち切られていたのですね。サービス悪!。

 2007年8月11日追記 問題を回避するために画像を EPS ファイルとして書き出しておいて \includegraphics で読み込む方法に変えました。

 2007年8月17日追記 Adobe Reader で印刷するとき「自動回転と中央位置(R)」にチェックを入れると,「- 1 -」となるべきページ番号が印刷したとき「1 -」となってしまうようです(LP-8300S, LP-9800Cで確認)。「自動回転と中央位置(R)」のチェックは外して下さい。

 2007年8月21日追記 試行錯誤の結果新しい PSTricks パッケージ pstricks.sty Package: pstricks 2007/02/18 v0.33 LaTeX wrapper for `PSTricks' (RN,HV)xcolorパッケージ xcolor.sty Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) にすることで正しく印刷できるようになりました。

 2007年8月31日追記 Adobe Acrobat 8 Professional 30日間体験版 を利用する手があることに気付いて試してみました。
やはり問題が起こる PDF は CMYK 純ブラック(K=100)になっておらずシアン・マゼンタ・イエローが混じっています。(でも simple.zip 内の pst_jarticle.pdf は CMYK 純ブラックになっているのに EPSON LP-8300S で印刷すると文字がかすれてしまいます。やっぱりプリンタ側の問題?)

CMYK 純ブラック(K=100)を「墨ベタ(スミベタ)」というようです。ところが製版技術として K=100 にさらに CMY 加えた「リッチブラック(またはジェットブラック)」なるものが使われます。RGBブラック(RGB=000)と CMYKブラックの変換には注意が必要なようです。スミベタと4色ベタとリッチブラック が参考になります。

※補記 墨ベタは CMYK=0,0,0,100 /4色ベタは CMYK=100,100,100,100 /リッチブラックは例えば CMYK=60,40,40,100 となります。

test112.zip 内の kh1911.pdf
シアン  69%,
マゼンタ 67%,
イエロー 64%,
ブラック 74% になっている
test114.zip 内の kh1911.pdf
シアン  0%,
マゼンタ 0%,
イエロー 0%,
ブラック100% になっている


CMYK 純ブラックかリッチブラックかを見分けるためには Acrobat Professional の「アドバンスト」「出力プレビュー」で「カラー警告」の「リッチブラック」にチェックを付けるとその部分が水色に表示されます。


■ おまけ

TeX utfパッケージを使った出力困難漢字の出力例

ソースファイル

 UNIQUE LABORATORY に戻る