next up previous contents index
Next: 2. モノクロプリンタ Up: 1. 印刷できるファイル Previous: 1.3 PostScriptファイルのプレビュー


1.4 PostScriptファイルの操作

    
PSファイルの分割

 

PSファイルをページ単位で分割するにはpsselectコマンドを用いる. 分割に際してはどのページが必要であるかをあ らかじめPSファイルのプレビュー() で確認しておく必要がある.

psselectでのページ指定には,文書に書かれている具体的なページ番号ではなく, 文書の始めから何ページ目を切り出すかを指定しなければならない.
psselectコマンドの基本的な使い方を次に示す.

% psselect [オプション] [ページ番号] [分割元PSファイル] [分割先PSファイル]<RET>

   
オプション

-e分割元のPSファイルの偶数ページのみを切り出す対象にする.
-o分割元のPSファイルの奇数ページのみを切り出す対象にする.
-r
分割したページの並びを逆にする.
-p[ページ番号]上記のオプションを1つ以上指定する場合は ページの指定にこのオプションを用いなければならない.ページ の指定方法は次に示す方法と同じである.

オプションを指定していない場合は[ページ番号]に分割元のPSファイル から切り出したいページのページ番号をカンマ(,)で区切って指定する. 切り出したいページが連なっている場合は ハイフン(-)を用いて省略できる.


\begin{middlelevel}ページを切り出すといっても,
分割元のPSファイルから該当のペー...
...イルを生成するので,分割元のPSファイルには何ら影響を与えない.
\end{middlelevel}

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
% _
また-rオプションを用いてページを指定する例を次に示す. この場合ページ数の指定には-pオプションを用いなければならない.

% psselect -r -p3,5,8-11 filename.ps separate.ps<RET>
[11] [10] [9] [8] [5] [3] Wrote 6 pages, 755358 bytes
% _
こうして生成されたPSファイルを印刷することで 必要なページだけを印刷できる.

PSファイルのファイルサイズがあまりにも大きいと, プリンタから印刷されないことがある. そのような場合でもpsselectコマンドを用いて 適度な大きさのPSファイルに分割すれば印刷できる.

    
1.4.1 文書を縮小する

印刷するページ数が膨大な場合, 複数ページを1枚の印刷用紙に印刷することによって 大幅な用紙削減が可能である. またページ数が膨大でなくても同種類の図や表を単一 ページに印刷すればそれらの比較検討が容易になる. ここではこのような目的に用られ るPSファイルの縮小印刷の方法を説明する.

CNSではPSファイルを縮小するためのコマンドをいくつか用意しているが, 代表的なものはnupコマンドとpsmultiコマンドの2つである. これらは縮小印刷したいPSファイルがどのようにして生成されたかによって 使い分ける必要がある. これを表に示す.    


 
表: nupコマンドと psmultiコマンドの使い分け
 
コマンド 使用条件
nup dvi2psコマンド()に よって生成されたPSファイルの縮小印刷に用いる.
psmulti 一般のPSファイルの縮小印刷などに用いる. jdvi2kpsコマン ド()によって生成されたPSファイ ルの縮小印刷にも利用できる.

   
nupコマンド

     

nupコマンドはdvi2psコマンド ()によって生成されたPSファイルを 縮小する場合のみに用いることができる. nupコマンドによる縮小印刷の例を図に示す.


  
図: nupコマンドによる縮小印刷の例









$\Rightarrow$





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>
また同様にdvi2psコマンドによって生成された PSファイルの8ページ分を1枚の印刷用紙に印刷できるように縮小し, さらに各ページの周囲を枠で囲んだ例を示す.

% nup -8 -l < filename.ps > scaledown.ps<RET>
このようにして生成されたPSファイルを印刷 と縮小された文書が印刷できる.

   
psmultiコマンド

 

dvi2psコマンドで生成されたもの以外で, jdvi2kpsコマンドで生成されたPSファイルを含む, 一般のPSファイルを縮小印刷するにはpsmultiコマンドを用いる. psmultiコマンドによる縮小印刷の例を図に示す.


  
図: psmultiコマンドによる縮小印刷の例









[tex2html_wrap_inline24126]





psmultiコマンドを縮小印刷に用いる際の基本的な使い方を次に示す.

% psmulti [オプション] -pages [縮小度] [PSファイル] > [縮小先PSファイル]<RET>
引数-pagesの後の[縮小度]に 1枚の印刷用紙に何ページ分を印刷するかを整数で指定する. 一般に2, 4, 8などを指定すればよい.

   
オプション

-border [枠]ページの周囲を囲む枠を指定する. [枠]には 次のものが指定できる.
pborder iborder 2border shadow frame psmulti

-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ファイルを生成することなく, 直接必要なページだけを印刷できる.

psmultiコマンドは一般のPSファイルの縮小印刷に用いるだけでなく,PSファ イルに関するさまざまな変更を可能にする有用なコマンドであり,指定できる オプション引数が数多くある.詳しくはオンラインマニュアルを参考すること.