レイアウトのパッケージを用いると, ひとつの用紙に何個もの図形を並べたり, 描画領域をそれぞれの出力 装置のもつ作画可能な領域全体に広げたりすることが簡単にできます.
6.1 フレームの分割
同じ様な図形を沢山並べたい時, GROPN のあとで SLDIV ルーチンを呼ぶと, 第1 レベルめ(用紙全体) のフ レームが分割され, 次のレベルのフレームが定義されます. 分割されたフレームをあたかも1 枚の紙のよう に扱って, GRFRM の実行により, 次のフレームに自動的に移っていきます.
このプログラムLAY1 では, DO 20 のループの中で, 普通に改ページをしながら描画するのと同じように, GRFRM とUSGRPH を呼んで折れ線グラフを描いています. 21 行めの SLDIV ルーチンでは3 2 = 6 分割し ていますから, 7 番めの図は自動的に次のページに移っています. また, 第4.2節の出力結果と比較して, 文 字の大きさが分割されたフレームの大きさに応じて小さくなっていることにも注意して下さい.
6.2 描画領域の変更
前章までの例では, 用紙の形は長方形なのに, そこに最大内接する正方形の領域をとって[0; 1] [0; 1] の V-座標系を考え, その中だけに図を描いてきました. これに対して, 紙一杯に図を描く例がこのプログラム LAY2 です. 物理的な描画範囲一杯に作画したい時は, SGLSET ルーチンを用いてレイアウトに関する論理型 内部変数'LFULL' を.TRUE. にします. 長辺がV-座標系で[0; 1] となりますから, ここではビューポート を(0.15,0.95,0.15,0.65) として物理的な作画範囲に納まるようにとっています. この範囲は出力装置 によって異なりますので, プログラムによっては出力する際にエラーを起こす可能性もあります. 御注意下 さい.