• ベストアンサー

pLaTeX の EPSファイル読み込みについて 教えて下さい。

Linux の GNUPLOT で作成した グラフ(EPS画像)をWINDOWS版 LaTeXである pLaTeX 内で読み込もうとしているのですが、読み込んでみると 何故か反時計方向に90度回転して出力されるので大変困っています。 正しい向きで出力させる方法、その他対処法を教えて下さい。 ちなみに pLaTeX の環境では Ghostscript Ver.6.5 、GSview Ver.3.6 を使用しています。 Linux 版 GNUPLOT は Ver.3.7のようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • oodaiko
  • ベストアンサー率67% (126/186)
回答No.1

まず考えられる原因としては画像が最初から landscape で正しい向きになるように 記録されていることです。(横長の画像だとそうなります) latexの画像の取り込みは普通 portrait 方向で行なうので この場合は取り込まれた画像は当然回転してしまいます。 画像の取り込みコマンドは何を使っているのでしょうか。 Linux上のplatex2eで \includegraphics を縦書き環境で使うと そうなるようです。原因は分かりませんが私もそれで苦労しました。 しかし横書き環境でもそうなるのなら最初に述べたように画像そのものが 原因だと思います。 そこで対策としては (1)最初から portrait で正しい向きになるようにeps画像を作り直す。 gvのコマンドでも画像を回転させることは出来ると思いますがやったことがありませんので マニュアルを見て下さい。imagemagicでも修正は出来ると思います。 私のお勧めはtgifを使うことです。gnuplot は tgif のobj 形式で出力が 出来るのでそれを使って一旦tgifに図を出します。そしてtgif上でportrait 方向に なるように左上のpage style chege のボタンをクリックしてやればよいのです。 ただし画像が枠からはみ出してしまう可能性があるので、そういう時は 全体をグループ化してから枠に収まるように縮小してやります。 あとはeps 形式で印刷(tgifではファイルに出力することも印刷と呼びます)して やるだけです。 gnuplot は縦横比を正しく出力しないので円を書かせても楕円になってしまうような ことがありますがtgifを使えばそのような不具合も簡単に修正できます。またグラフの 座標軸だけを消したり日本語を入れたりといった加工をするにも便利です。 (2)画像の作り直しが出来ない場合 この場合はlatexのほうで取り込んだ画像を回転させる必要があります。 回転させるコマンドは \rotatebox を使います。具体的には \rotatebox{-90}{\includegraphics{graph.eps}} とします。 ただしこのようにしてもdviが対応していない場合には画面でdviを確認しても 回転していないように見えることがあります。(Windowsならdvioutでしょうから まず大丈夫だと思いますが) このときはdvipsなどのコマンドでpsファイルに変換してみて下さい。 出来た psファイルをgv などで見て正しく出力されていれば印刷しても正しく出力されるはずです。

lam
質問者

お礼

親切なアドバイスありがとうございました。 原因から対処法まで細かく説明していただいて。 実験レポートの〆切が押し迫っている中でのトラブルだったので、大変焦っていたんですが 大変助かりました。早速実行してみます。

lam
質問者

補足

理由が大方判明しましたのでとりあえず報告しておきます。 ファイル出力のモード設定で set terminal postscript と入力すると、EPSファイルのヘッダーに Landscape と記され、 set terminal postscript eps と入力すると、EPSファイルのヘッダーに Portrait と記されることがわかりました。 んで、実際にグラフを作成しpLaTeXに張り付けると、epsオプションをつけた場合(後者) は正しい方向で張り付けられました。一方前者の場合、90度回転して表示されました。 要するに入力ミスだったということです。oodaikoさんのアドバイスは正しかったです。 ありがとうございました。 by lam

その他の回答 (1)

  • bob
  • ベストアンサー率50% (52/103)
回答No.2

今手元にGNUPlotを使える環境が無いので具体的な方法は覚えてないのですが、確かGNUPlotはsetかなんかでPortrait/Landscapeの切り替えができたと思うのですが、helpとかで調べてみてはいかがでしょう。その他、縦横比とかも含めて結構いろいろなことが制御できたと思います。

lam
質問者

お礼

Portrait/Landscape の切替えは直接操作できなかったですけど set terminsl の後の epsオプションの有無 で結果的に切り替わるようです。bobさんの回答が解決の良いヒントになりました。回答していただき、 ありがとうございました。