gnuplotで作ったepsとincludegraphicsのclip

gnuplotで作ったepsとincludegraphicsのclip

- skasai の投稿
返信数: 2
お世話になります.

wgnuplot4.3-p0
platex 3.1415926-p3.1.10 (sjis)
dviout
dvipsk
dvipdfmx
を使用しています.

epsは添付したファイルです.
下のソースでdviを作ってdvioutで表示させると,clipの有無にかかわらず Y=256 の位置でグラフの上部が切れます.
dvipsk, dvipdfmxで作るpsやpdfでは,clipしたときには同様ですがclipしない場合には,グラフの上部は切れません.

いずれもclipの使い方(引数?)が間違っているのでしょうか?
また,gnuplotでepsを作る時の設定を工夫する必要があるのでしょうか?

includegraphicsのclipの使い方をちゃんと理解していないことが原因と思います.ピントはずれな点もあると思いますが,ご教授をお願いいたします.



%
\documentclass{jsarticle}
\usepackage[dvips, dvipdfm]{graphicx}
%
\begin{document}
%
%
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm, clip]{wave.eps}
\caption{includegraphics[width=10cm, clip]}
\end{center}
\end{figure}
%
%
\begin{figure}[htbp]
\begin{center}
\includegraphics[width=10cm]{wave.eps}
\caption{includegraphics[width=10cm]}
\end{center}
\end{figure}
%
%
\end{document}

skasai への返信

Re: gnuplotで作ったepsとincludegraphicsのclip

- Z. R. の投稿

端的にいうと、EPS の BoundingBox 指定が正しくないのが画像が切れる原因です。恐らくは、ソフトウェアの不具合なのでしょう。

wave.eps の先頭に

%%BoundingBox: 50 50 301 226

とあり、これはその EPS の用意する平面の中で実際に図があるのが、(50,50)-(301,226) の範囲にあることを宣言していますが、実際の図はこの範囲をはみ出しています。226を250とかに変えると、clip 指定でも図が切れなくなります。

\includegraphics 命令の clip オプションは、この BoundingBox からはみ出た部分を消してしまう指定です。clip がないとはみ出た部分も描画されますが、それは LaTeX が用意した図の領域から出ることになり、外にある字と重なる可能性があります。また、dviout では、処理の都合上 clip がなくてもあるのと同じ動作になると思われます。

「TeX Q&A」のサイト内検索で BoundingBox について調べるとより多くの情報が得られるはずです。

Z. R. への返信

Re: gnuplotで作ったepsとincludegraphicsのclip

- skasai の投稿
とても明確なアドバイスをありがとうございました.


これを解決するには,たとえば,次の二つの方法がありますね.

1. wave.eps の宣言 %%BoundingBox: 50 50 301 226 を修正する.
2. \includegraphics[width=10cm, bb=50 50 301 250, clip]{wave.eps} として,bbを再設定する.

wgnuplot の仕様を調査していませんが,そもそも wave.eps の宣言に不都合があるので 1. の方法が順当でしょうか.

これですっきりしました.感謝申し上げます.