レイアウトしよう

レイアウトのパッケージを用いると,ひとつの用紙に何個もの図形を並べたり, 描画領域をそれぞれの出力装置のもつ作画可能な 領域全体に広げたりすることが簡単にできます.

フレームの分割

同じ様な図形を沢山並べたい時, GROPN のあとで SLDIVルーチン を呼ぶと,第1レベルめ(用紙全体)のフレームが分割され,次のレベルのフレー ムが定義されます. 分割されたフレームをあたかも1枚の紙のように扱って, GRFRM の実行により,次のフレームに自動的に移っていきます.

次のプログラム LAY1 では,DO 20 のループの中で,普通に改 ページをしながら描画するのと同じように,GRFRMUSGRPH を 呼んで折れ線グラフを描いています.21行めの SLDIV ルーチンでは 3分割していますから,7番めの図は自動的に次のページに移って います.また,第[here]節の出力結果と比較して,文字の大きさが 分割されたフレームの大きさに応じて小さくなっていることにも注意して下さ い.

layout/lay1.f


lay1.f: page1


lay1.f: page2

描画領域の変更

前章までの例では,用紙の形は長方形なのに,そこに最大内接する正方形の領 域をとって[0,1][0,1]のV-座標系を考え,その中だけに図を描いてき ました.これに対して,紙一杯に図を描く例が次のプログラム LAY2 で す. 物理的な描画範囲一杯に作画したい時は,SGLSET ルーチンを用い てレイアウトに関する論理型内部変数 'LFULL'.TRUE. にし ます.長辺がV-座標系で[0,1]となりますから,ここではビューポートを (0.15,0.95,0.15,0.65) として物理的な作画範囲に納まるようにとって います.この範囲は出力装置によって異なりますので,プログラムによっては 出力する際にエラーを起こす可能性もあります.御注意下さい.

layout/lay2.f


lay2.f: frame1


Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:12:26 EDT 1995