PSファイルをページ単位で分割するにはpsselectコマンドを実行する.分割に際してはどのページが必要であるかをPSファイルのプレビューで確認しておく必要がある.
psselectコマンドの基本的な使い方を次に示す.
% psselect [オプション] [ページ番号] [分割元PSファイル] [分割先PSファイル]<RET>
-e | 分割元のPSファイルの偶数ページのみを切り出す対象にする. |
-o | 分割元のPSファイルの奇数ページのみを切り出す対象にする. |
-r
| 分割したページの並びを逆にする. |
-p[ページ番号] | 上記のオプションを1つ以上指定する場合はページの指定にこのオプションを用いなければならない.ページの指定方法は次に示す方法と同じである. |
psselectコマンドの実行例を次に示す.ここでは分割元PSファイルのfilename.psから,3ページ目,5ページ目,そして8ページ目から11ページ目までを切り出して,separate.psというPSファイルに書き出している.
% psselect 3,5,8-11 filename.ps separate.ps<RET>
[3] [5] [8] [9] [10] [11] Wrote 6 pages, 755358 bytes
% _
% psselect -r -p3,5,8-11 filename.ps separate.ps<RET>
[11] [10] [9] [8] [5] [3] Wrote 6 pages, 755358 bytes
% _
印刷するページ数が膨大な場合,複数ページを1枚の印刷用紙に印刷することによって大幅な紙資源の節約が可能となる.またページ数が膨大でなくても同種類の図や表を単一ページに印刷すればそれらの比較検討が容易になる.ここではこのような目的に利用されるPSファイルの縮小印刷の方法を説明する.
CNSではPSファイルを縮小するためのコマンドをいくつか用意しているが,代表的なものはnupコマンドとpsmultiコマンドの2つである.これらは縮小印刷したいPSファイルがどのようにして生成されたかによって使いわける必要がある.これを表1.1に示す.
nupコマンドはdvi2psコマンドによって生成されたPSファイルを縮小する場合のみに利用できる. nupコマンドによる縮小印刷の例を図1.6に示す.
nupコマンドへの入出力は標準入力および標準出力のみなので,dvi2psコマンドの出力をパイプでつないで入力するか,dvi2psコマンドで生成されたPSファイルをリダイレクションを用いて入力する必要がある.
% nup -[縮小度] [オプション] < [縮小元PSファイル] > [縮小先PSファイル]<RET>
どちらの場合においても[縮小度]に1枚の印刷用紙に何ページ分を印刷するかを指定する.指定できるのは2, 4, 8のいずれかである.
-l | ページの周囲を枠で囲む. |
-n | 印刷用紙の縦横にあわせてページが回転するのを防ぐ. |
nupコマンドの実行例を次に示す.ここではdvi2ps コマンドの出力の2ページ分を1枚の印刷用紙に印刷できるように縮小している.
% dvi2ps filename.dvi | nup -2 > scaledown.ps}{<RET>
% nup -8 -l < filename.ps > scaledown.ps}{<RET>
このようにして縮小された文書を印刷できる.
dvi2psコマンドで生成されたもの以外で,jdvi2kps コマンドで生成されたPSファイルを含む,一般のPSファイルを縮小印刷するにはpsmultiコマンドを実行する.psmultiコマンドによる縮小印刷の例を図1.7に示す.
psmultiコマンドを縮小印刷に利用する方法を次に示す.引数-pagesの後の[縮小度]に1枚の印刷用紙に何ページ分を印刷するかを整数で指定する.通常は2, 4,
8などを指定する.
% psmulti [オプション] -pages [縮小度] [PSファイル] > [縮小先PSファイル]<RET>
-border [枠] | ページの周囲を囲む枠を指定する. [枠]には次のものが指定できる.
| ||||||
-nodecor | ページの周囲を囲む枠をなくす. | ||||||
-o [ファイル名] | リダイレクションを使わずにファイルに保存する場合に出力先のファイル名を指定する. | ||||||
-l | 用紙を横長(landscape)にする. | ||||||
-p | 用紙を縦長(portrait)にする. | ||||||
-select [ページ数] | psselectコマンドと同じように必要なファイルのみを切り出せる. [ページ数]には切り出したいページのページ番号をカンマで区切って指定する.切り出したいページが連続している場合には,コロン(: )を用いてページ入力を省略できる. | ||||||
-reverse | 印刷するページを逆順にする. |
psmultiコマンドの実行例を次に示す.ここでは文書の2ページ分を印刷用紙1枚に収まるように縮小している.
% psmulti -pages 2 filename.ps > scaledown.ps<RET>
また同様に,文書の8ページ分を印刷用紙1枚に収まるように縮小し,ページ周囲に枠をつけない実行例を次に示す.
% psmulti -nodecor -pages 8 filename.ps > scaledown.ps<RET>
こうして生成されたPSファイルを印刷することで縮小印刷をすることが可能となる.またパイプやリダイレクションを用いることによって,縮小後のPSファイルを生成することなく,直接必要なページだけを印刷できる.