*print.txt* For Vim バージョン 8.1. Last change: 2019 May 05 VIMリファレンスマニュアル by Bram Moolenaar
印刷
1. はじめに | |print-intro| |
2. 印刷オプション | |print-options| |
3. PostScript 印刷 | |postscript-printing| |
4. PostScript 印字エンコーディング | |postscript-print-encoding| |
5. PostScript CJK 印刷 | |postscript-cjk-printing| |
6. PostScript 印刷トラブルシューティング | |postscript-print-trouble| |
7. PostScript ユーティリティ | |postscript-print-util| |
8. 改ページ文字 | |printing-formfeed| |
{|+printer| 機能付きでコンパイルした場合のみ利用可能}
MS-Windows では、インストールされてゐるプリンタを使つてテキストを印刷することができます。他のシステムでは PostScript ファイルが生成されます。そのファイルは直接 PostScript プリンタに送ることができます。非 PostScript プリンタを使ふには ghostscript のやうなプログラムが必要です。
Note:
|:hardcopy| による印刷が機能しない場合は、|:TOhtml| で HTML に變換し、それをブラウザーで印刷する方法もあります。
範圍 [range] の行 (省略時はファイル全體) をプリンタへ出力します。
MS-Windows ではプリンタの選擇やページサイズの設定などをするためのダイアログが表示されます。ダイアログを省略するには [!] を付けてください。その場合、’printdevice’ に設定したプリンタが使はれます。未設定の場合はシステム標準のプリンタが使はれます。
MS-Windows 以外のシステムでは、PostScript が一時ファイルに書き込まれ、それを實際に印刷するために ’printexpr’ が實行されます。そのとき、[arguments] は |v:cmdarg| として ’printexpr’ の中で使ふことができます。[arguments] は無視することもできます。用紙サイズや兩面印刷などの指定を ’printoptions’ に設定できます。
Note:
PDF が欲しいなら、PostScript から PDF に變換することができる "ps2pdf" のやうなツールがあります。
上記と同じですが、PostScript を {filename} に保存します。"%" のやうな文字は展開されます |cmdline-special|。
注意:
すでにファイルが存在する場合は、警告なしに上書きされます。
{|+postscript| が有效な場合のみ利用できます}
MS-Windows では、プリンタドライバの "ファイルに保存" の機能を使つてください。
印刷してゐる閒、印刷中のページ番號や進行率などの印刷狀況が表示されます。印刷を中止するには中斷キーを押してください (CTRL-C、MS-Windows では CTRL-Break)。
プリンタの出力は ’printfont’ と ’printoptions’ の設定で制禦できます。ページヘッダーの書式は ’printheader’ に設定します。
ファイルの印刷は常に餘白の設定に影響を受けます。カレントウィンドウの ’wrap’ や ’linebreak’ の設定は影響しません。行の折り返しをしないやうにするには ’printoptions’ の設定で "wrap" をオフにしてください。
印刷には現在の强調表示の色が使はれます。次のやうに處理されます:
1) | 通常テキストの背景色は常に白色で出力されます (つまり白紙)。 |
2) | 通常テキストと同じ前景色の文字や、白色の文字は、それが視認できるやうにするために、黑色で出力されます。 |
3) | ’background’ が "dark" の場合、文字色が明るすぎて、白紙に印刷するとはつきり視認できなくなるため、文字色は暗い色に調整されます。 |
印刷の動作を變更するためのオプションについて說明します。設定についての大まかな說明は |options.txt| を參照してください。
文字列 (初期値は空)
グローバル設定
プリンタの名前を設定します。|:hardcopy| が ! 付きで實行され、プリンタ選擇ダイアログが省略されたときに使はれます。Win32 では、標準印刷ダイアログで表示されるプリンタの名前を正確に指定してください。
このオプションが空のときに ":hardcopy!" が實行されると、システム標準のプリンタが使はれます。
文字列 (初期値は空。あるいは次のとほり:
Windows, OS/2: | cp1252, |
Macintosh: | mac-roman, |
VMS: | dec-mcs, |
HPUX: | hp-roman8, |
EBCDIC: | ebcdic-uk) |
グローバル設定 印刷に使ふ文字エンコーディングを設定します。’runtimepath’ の "print" ディレクトリにある、このオプションに對應した印刷文字エンコーディングファイルが印刷に使はれます。
このオプションには |encoding-names| に列擧されてゐるエンコーディングを設定できます。エンコーディング名は Vim が規定してゐる名前に變換されます。詳しくは ’encoding’ を參照してください。Vim が認識できないエンコーディング名は、すべて小文字に變換され、アンダースコアは ’-’ に置換されます。
’printencoding’ が空、もしくは印刷エンコーディングファイルが見つからなかつた場合は、’encoding’ に對應した印刷エンコーディングファイルを探します (8-bit エンコーディングが設定されてゐる場合のみ)。それでも印刷エンコーディングファイルが見つからなかつた場合は、"latin1" の印刷エンコーディングファイルが使はれます。
’encoding’ にマルチバイトエンコーディングが設定されてゐる場合、印刷のときに、’encoding’ から印刷エンコーディングに文字が變換されます (’printencoding’ が空のときは latin1 に變換されます)。印刷エンコーディングが latin1 以外のときは、|+iconv| が有效になつてゐる必要があります。エンコーディングの變換が利用できないときは、印刷は失敗します。變換できない文字は、逆さクエスチョンマークに置換されます。
Mac、VMS、HPUX、EBCDIC、環境の標準エンコーディングのための、印刷エンコーディングファイルが用意されてゐます。それは初期設定として使はれます。Windows と OS/2 では、コードページ 1252 の印刷エンコーディングファイルが標準で使はれます。
文字列 (初期設定は下記參照)
グローバル設定
|:hardcopy| で PostScript を印刷するためのスクリプトを設定します。印刷する PostScript ファイルは |v:fname_in| に設定されます。":hardcopy
" コマンドの引數は |v:cmdarg| に設定されます。印刷をした後で、スクリプトから PostScript ファイルを削除してください。エラーが起きたときは、スクリプトは 0 以外の値を返す必要があります。エラーがないときは、0 か 空文字列を返してください。
MS-Windows と VMS 以外の環境の初期設定では、單純に "lpr" を使つてファイルを印刷します:
system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error
MS-DOS、MS-Windows、OS/2、での初期設定は、指定されてゐる印刷デバイスにファイルをコピーします:
system('copy' . ' ' . v:fname_in . (&printdevice == '' ? ' LPT1:' : (' \"' . &printdevice . '\"'))) . delete(v:fname_in)
VMS での初期設定は、標準の印刷デバイスか、指定されてゐる印刷デバイスにファイルを送ります:
system('print' . (&printdevice == '' ? '' : ' /queue=' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in)
このオプションを設定するときは、函數を使ふと、スペースをエスケープしなくてもいいので簡單です。例:
:set printexpr=PrintFile(v:fname_in) :function PrintFile(fname) : call system("ghostview " . a:fname) : call delete(a:fname) : return v:shell_error :endfunc
ファイルを讀み込む前に制禦を返す印刷プログラムもあるので注意してください。ファイルをすぐに削除してしまふと、印刷できないかもしれません。ほとんどの場合、そのやうなプログラムには、印刷した後でファイルを削除するオプションが用意されてゐます。 スクリプトを實行できなかつたり、スクリプトが 0 以外の値を返したときは、エラーメッセージが表示されます。その場合は、Vim が PostScript ファイルを削除します。MS-Windows 以外のシステムの初期設定では、"v:shell_error" を足す、といふトリックを使つてゐます。"v:shell_error" には system() の呼び出しでエラーが起きたときに 0 以外の値が入ります。
文字列 (初期設定は "courier")
グローバル設定
|:hardcopy| コマンドの出力で使はれるフォント名を設定します。このオプションは ’guifont’ と同じ書式で指定します。ただし、フォントは 1 つだけ指定可能です。"guifont=*" と同じ特別な指定方法は使へません。
Win32 GUI では、’guifont’ と同じやうに、フォントの屬性を追加指定できます。
他のシステムでは、"h11" といふ指定のみ受け付けます。"11" の所にはフォントのサイズをポイントで指定します。省略時のフォントサイズは 10 です。
文字列 (初期値は "%<%f%h%m%=Page %N")
グローバル設定
|:hardcopy| の出力で使はれるヘッダーの書式を設定します。このオプションは ’statusline’ と同じ書式で指定します。|+statusline| が無效な場合には、このオプションは機能しません。その場合は、初期設定の、ページ番號を表示するだけのシンプルなヘッダーが使はれます。
文字列 (初期設定は "")
グローバル設定
|:hardcopy| で漢字 (CJK文字) を出力するための文字セットを設定します。現在 Vim は、以下で定義されてゐる文字セットを認識します。
設定値 | 說明 | |
Chinese (Simplified) | GB_2312-80 | |
GBT_12345-90 | ||
MAC | Apple Mac Simplified Chinese | |
GBT-90_MAC | GB/T 12345-90 Apple Mac Simplified Chinese | |
GBK | GBK (GB 13000.1-93) | |
ISO10646 | ISO 10646-1:1993 |
Chinese (Traditional) | CNS_1993 | CNS 11643-1993, Planes 1 & 2 |
BIG5 | ||
ETEN | Big5 with ETen extensions | |
ISO10646 | ISO 10646-1:1993 |
Japanese | JIS_C_1978 | |
JIS_X_1983 | ||
JIS_X_1990 | ||
MSWINDOWS | Win3.1/95J (JIS X 1997 + NEC + IBM extensions) | |
KANJITALK6 | Apple Mac KanjiTalk V6.x | |
KANJITALK7 | Apple Mac KanjiTalk V7.x |
Korean | KS_X_1992 | |
MAC | Apple Macintosh Korean | |
MSWINDOWS | KS X 1992 with MS extensions | |
ISO10646 | ISO 10646-1:1993 |
上記の文字セットと ’printencoding’ は、決められた組合せのみ利用可能です。可能な組合せは以下のとほり:
euc-cn | gbk | ucs-2 | utf-8 | ||
Chinese (Simplified) | GB_2312-80 | x | |||
GBT_12345-90 | x | ||||
MAC | x | ||||
GBT-90_MAC | x | ||||
GBK | x | ||||
ISO10646 | x | x |
euc-tw | big5 | ucs-2 | utf-8 | ||
Chinese (Traditional) | CNS_1993 | x | |||
BIG5 | x | ||||
ETEN | x | ||||
ISO10646 | x | x |
euc-jp | sjis | ucs-2 | utf-8 | ||
Japanese | JIS_C_1978 | x | x | ||
JIS_X_1983 | x | x | |||
JIS_X_1990 | x | x | x | ||
MSWINDOWS | x | ||||
KANJITALK6 | x | ||||
KANJITALK7 | x |
euc-kr | cp949 | ucs-2 | utf-8 | ||
Korean | KS_X_1992 | x | |||
MAC | x | ||||
MSWINDOWS | x | ||||
ISO10646 | x | x |
日本語のテキストを印刷するには、次のやうに、適切なエンコーディングと文字セットを設定してください:
:set printencoding=euc-jp :set printmbcharset=JIS_X_1983
’printmbcharset’ が上記のどれでもないときは、獨自のマルチバイト文字セットであると判斷されます。’printencoding’ と互換性があるかどうかはチェックされません。Vim は、’runtimepath’ の "print" ディレクトリから、指定された文字セット用のファイルを探します。
文字列 (初期値は "")
グローバル設定
|:hardcopy| で漢字 (CJK) を出力するために使はれるフォントのリストを設定します。リストはコンマで區切ります。フォント名には、そのフォントがどのスタイルで使はれるかを指示する文字を前置します:
r:{font-name} | 普通文字のフォント |
b:{font-name} | 太字 (bold) のフォント |
i:{font-name} | 斜體文字 (italic) のフォント |
o:{font-name} | 太字斜體文字 (bold-italic) のフォント |
CJK 印刷をするには r: 指定のフォントを必ず設定してください。その他のフォントの指定は省略できます。省略した場合は次のとほりに處理されます:
b: がないときは、r: を使ひます。 | |
i: がないときは、r: を使ひます。 | |
o: がないときは、b: を使ひます。 |
CJK フォントが ASCII 文字を持つてゐない場合があります。また、CJK の ASCII 文字のうちいくつかの文字が、通常の ASCII 文字とは違ふ場合があります。ASCII コードの範圍の文字をどのやうに印刷するかを指定することができます。
c:yes | ASCII 文字を Courier フォントで出力します。 |
c:no | (初期値) |
a:yes | ASCIIコードの範圍を ASCII 文字セットで出力します。 |
a:no | (初期値) |
次の例では、2 つのマルチバイトフォントを指定してゐます。1 つは普通文字と斜體文字、もう 1 つは太字と太字斜體文字の印刷に使はれます。そして、ASCII コードの範圍の文字は、國內標準文字セットを使つて、Courier で印刷されます:
:set printmbfont=r:WadaMin-Regular,b:WadaMin-Bold,c:yes
文字列 (初期値は "")
グローバル設定
|:hardcopy| の出力を制禦するためのオプションのリストを設定します。リストはコンマで區切ります:
left:{spec} | 左餘白 (標準設定: 10pc) |
right:{spec} | 右餘白 (標準設定: 5pc) |
top:{spec} | 上餘白 (標準設定: 5pc) |
bottom:{spec} | 下餘白 (標準設定: 5pc) |
{spec} には數値を指定します。數値には單位を付けてください。インチなら "in"、ポイントなら "pt" (1 ポイントは 1/72 インチ)、ミリメートルなら "mm"、用紙サイズに對する割合なら "pc"、を指定します。
(例示のための) 例:
left:2in,top:30pt,right:16mm,bottom:3pc
上記以外の單位を指定した場合は標準設定が使はれます。エラーは表示されません。
header:{nr} | ヘッダーの印刷に使ふ行數を指定します。實際には最初の行だけに文字が印刷されます。つまり、{nr} に 2 を指定した場合は空行が印刷されます。ヘッダーの書式は ’printheader’ で指定します。 | |||||||||||||||||||||||||||||||||||||||||||||
header:0 | ヘッダーを印刷しません。 | |||||||||||||||||||||||||||||||||||||||||||||
header:2 | (標準設定) ヘッダーの印刷に 2 行使ひます。 | |||||||||||||||||||||||||||||||||||||||||||||
syntax:n | 構文强調を使はない。大きなファイルでも高速に印刷できます。 | |||||||||||||||||||||||||||||||||||||||||||||
syntax:y | 構文强調を使ふ。 | |||||||||||||||||||||||||||||||||||||||||||||
syntax:a | (標準設定) カラー印刷またはグレースケール印刷が可能なプリンタなら構文强調を使ひます。 | |||||||||||||||||||||||||||||||||||||||||||||
number:y | 行番號を印刷する。 | |||||||||||||||||||||||||||||||||||||||||||||
number:n | (標準設定) 行番號を印刷しない。 | |||||||||||||||||||||||||||||||||||||||||||||
wrap:y | (標準設定) 長い行を折り返す。 | |||||||||||||||||||||||||||||||||||||||||||||
wrap:n | 長い行を切り詰める。 | |||||||||||||||||||||||||||||||||||||||||||||
duplex:off | 片面印刷。 | |||||||||||||||||||||||||||||||||||||||||||||
duplex:long | (標準設定) 兩面印刷 (可能なら)。長い邊で閉ぢます。 | |||||||||||||||||||||||||||||||||||||||||||||
duplex:short | 兩面印刷 (可能なら)。短い邊で閉ぢます。 | |||||||||||||||||||||||||||||||||||||||||||||
collate:y | (標準設定) ページを順番にそろへる: 1 2 3, 1 2 3, 1 2 3 | |||||||||||||||||||||||||||||||||||||||||||||
collate:n | そのまま: 1 1 1, 2 2 2, 3 3 3 | |||||||||||||||||||||||||||||||||||||||||||||
jobsplit:n | (標準設定) すべてを一回で印刷する。 | |||||||||||||||||||||||||||||||||||||||||||||
jobsplit:y | 印刷ジョブを部ごとに分ける。N-up 印刷をする場合に便利です。 | |||||||||||||||||||||||||||||||||||||||||||||
portrait:y | (標準設定) 縱置きの用紙に印刷する。 | |||||||||||||||||||||||||||||||||||||||||||||
portrait:n | 橫置きの用紙に印刷する。 | |||||||||||||||||||||||||||||||||||||||||||||
paper:A4 | (標準設定) 用紙サイズ: A4 | |||||||||||||||||||||||||||||||||||||||||||||
paper:{name} | 次の中から用紙サイズを選んでください:
| |||||||||||||||||||||||||||||||||||||||||||||
formfeed:n | (標準設定) 改ページ文字 (0x0c) を普通の文字として處理します。 | |||||||||||||||||||||||||||||||||||||||||||||
formfeed:y | 改ページ文字を處理し、現在の行を新しいページに印刷します。 |
設定を省略した場合は、それぞれの設定項目で (標準設定) となつてゐるものが使はれます。設定ダイアログでプリンタの選擇やオプションを設定したときなど、指定した設定が使はれないこともあります。
例:
:set printoptions=paper:letter,duplex:off
十分なディスクスペースがあれば、問題なく PostScript ファイルを出力できます。ランタイムファイルを正しくインストールする必要もあります (ヘルプを見れるなら正しくインストールされてゐるでせう)。
現在、PostScript 印刷には次の制限があります:
獨自の 8-bit 印字エンコーディングを使つて 8-bit テキストを印刷することができます。それには PostScript フォントエンコーディングベクタを自分で定義する必要があります。フォントエンコーディングベクタの定義方法はこのヘルプの範圍外なので說明しません。詳細は Addison-Wesley から出版されてゐる PostScript リファレンスマニュアル第三版を參照してください。http://www.adobe.com/ には PDF ファイルが用意されてゐます。次に、獨自の印字エンコーディングを使用する方法を說明します。 {譯注: PostScriptリファレンスマニュアル第3版 ASCII電子出版シリーズ Adobe Systems (著), 桑澤 淸志 (飜譯) ISBN: 4756138225}
i. | エンコーディングベクタのためのユニークな名前を決めてください。Vim が使ふ標準エンコーディング名 (|encoding-names| 參照) は使へません。他の人が使はないやうな名前を付けてください。 |
ii. | $VIMRUNTIME/print/latin1.ps をあなたの ’runtimepath’ の print ディレクトリにコピーし、ファイル名を自分のエンコーディング名に變更してください。 |
iii. | 名前を變更した latin1.ps を編輯し、ファイル內に表れる latin1 といふ文字をすべて、あなたのエンコーディング名に置換してください (%%Title: で始まる行も忘れずに)。そして、グリフ名の排列を變更し、新しいエンコーディングベクタを定義してください。排列の長さは 256 でなければいけません。それ以外では印刷できません。 |
iv. | ’printencoding’ に新しい印字エンコーディングを設定し印刷します。あなたの獨自印字エンコーディングを使つて印刷されます。 |
リソースファイルの最初の 3 行の內容や順番が變更されてゐるとエラーが表示されます。%%Title: と %%Version: で始まる行は變更しても構ひません。
PostScript を知つてゐる人への技術的な說明。Vim は印刷に使ふエンコーディングと同じ名前のファイルを探します。そのファイルは /Vim-name といふ名前の新しい PostScript エンコーディングを定義してゐます。name の部分は Vim が使用する印字エンコーディングの名前です。
中國語、日本語、韓國語のファイルを印刷することができます。CJK ファイルを正しく印刷するために、いくつかのオプションを設定する必要があります。
日中韓の國々には標準文字セットとエンコーディングがたくさんあります。印刷するには、その兩方を正しく設定する必要があります。CJK フォントには一般的に、斜體グリフといふ槪念がありません。また、强調して印刷するために、字閒や文字の太さが違ふフォントを使ひます。適切なフォントで印刷するためには適切な設定が必要です。
エンコーディングと文字セットはオプションの ’printencoding’ と ’printmbcharset’ で指定します。’printencoding’ を設定しなかつた場合は、’encoding’ が使はれます。’printencoding’ を設定した場合は、印刷する文字が、指定したエンコーディングに變換されます。エンコーディングには、ファイルを印刷するための文字セットと互換性のあるエンコーディングを設定してください。あるいは、互換性のない文字が印刷されないやうなエンコーディングを設定してください。
CJK 印刷に使ふフォントは ’printmbfont’ に設定します。このオプションでは、構文强調の、普通の文字、斜體文字、太字、斜體太字、に對して別々のフォントを指定できます。
CJK フォントは Vim に附屬してゐません。韓國語、日本語、繁體中國語、の無料で使へるフォントが次の場所にあります:
http://examples.oreilly.com/cjkvinfo/adobe/samples/
フォントについての說明は readme ファイルを讀んでください:
http://examples.oreilly.de/english_examples/cjkvinfo/adobe/00README
フォントのインストール方法については、プリンタの說明書を讀んでください。
CJK フォントにはたくさんのグリフが含まれてゐますが、國內標準文字セットだけを持つてゐるフォントも珍しくありません。ASCII 文字を含んでゐないこともよくあります。もし、半角英數が印刷されないときは、’printmbfont’ を設定し、Courier フォントを使つて、半角 ASCII 文字を印刷するやうにしてください。他にも印刷されない文字がある場合は、別のフォントを探す必要があるでせう。
ASCII 文字についてもう 1 つ。國內標準文字セットによつては、ASCII 文字の範圍に ASCII 文字とは別の文字を定義してゐる場合があります。そのため、國內標準文字セットを使つて ASCII テキストを印刷すると、豫期しない文字が印刷されるかもしれません。ASCII コードの範圍が ASCII 文字として印刷されるやうにするには、’printmbfont’ を設定してください。
獨自のマルチバイト文字セットを定義することができまが、それは簡單ではありません。その方法についてはこのヘルプの範圍を越えるので說明しません。CMap (character map) ファイルについての詳細は、’Adobe CMap and CIDFont Files Specification, Version 1.0’ を參照してください。http://www.adobe.com に PDF ファイルがあります。
ほとんどの場合、印刷されない、といふことだけが、PostScript 印刷で問題が起きてゐる合圖です。運が良ければ、どの PostScript 命令がエラーを起こしたのかが印刷されるかもしれません。
印刷が失敗する原因として考へられるものをいくつか上げます:
用紙サイズ。對應してゐない用紙サイズを指定すると、印刷を中斷する PostScript プリンタがあります。標準設定では、A4 用紙が使はれます。プリンタが對應してゐる用紙サイズを確認して ’printoptions’ を設定してください。用紙サイズの名前が分からない場合は、使用する紙の寸法を計り、’printoptions’ の說明にある用紙サイズと見比べて、一番近いものを選擇してください。
Note:
實際の用紙サイズは、一覽されてゐるものとわづかに違ふことがあります。十分に近い用紙サイズがない場合は、下記で說明してゐる PSUtils の psresize を試してください。
Note:
PSUtils を使つて手動で兩面印刷することもできます。下記參照。
安全な printoptions の設定は次のやうなものです:
:set printoptions=paper:A4,duplex:off,collate:n,syntax:n
"A4" の部分を適切な用紙サイズに變更してください。
Ghostscript は PostScript と PDF のインタープリターです。PostScript と PDF ファイルを表示したり、非 PostScript プリンタで印刷することができます。PostScript から PDF ファイルを生成することもできます。
Ghostscript はさまざまな環境で動作します。
次の 3 つのバージョンが利用可能です:
http://www.cs.wisc.edu/~ghost/
GNU Ghostscript。GNU General Public License に從つて利用可能。次の場所から入手できます:
標準の配布物には、たくさんの非 PostScript プリンタのサポートが含まれてゐます。あなたのプリンタがサポートされてゐない場合は、Ghostscript のサイトを確認してみてください。
Ghostscript の操作方法はとても原始的なので、たくさんの GUI フロントエンドが作成されました。PostScript ファイルを選擇したり、いろんな大きさで表示したり、印刷したりすることが簡單にできます。詳細は附屬の說明書を參照してください。
http://wwwthep.physik.uni-mainz.de/~plass/gv/
(最新版ではないかもしれませんが) 次の場所からも入手できます:
ftp://ftp.pg.gda.pl/pub/TeX/support/ps_view/
ftp://ftp.dante.de/tex-archive/support/ps_view/
ftp://sunsite.unc.edu/pub/Linux/apps/graphics/viewers/svga/bmv-1.2.tgz
PSUtils は、PostScript ドキュメントを處理するための便利なプログラム集です。たくさんのプラットフォーム向けのバイナリが配布されてゐます。ソースも公開されてゐます。PSUtils は次の場所にあります:
http://knackered.org/angus/psutils
次のものは特に便利です:
これらのプログラムの出力は、他のプログラムに入力にできるので、複雜な印刷物も作成できます。
{譯注: 複數のページを一ページにまとめて印刷。}
Vim が生成した PostScript ファイルを psnum で處理し、n-up 版の PostScript を作成できます。2-up 印刷をするには、まづ、次のやうに PostScript を作成します:
:hardcopy > test.ps
そして、シェルのコマンドラインで次のコマンドを實行します:
psnup -n 2 test.ps final.ps
Note:
psnum が生成したファイルを Ghostscript プレビューアで表示すると警告が表示されることがありますが、無視して問題ないでせう。
そして、環境に合はせた方法で、final.ps を PostScript プリンタで印刷します。(印刷後、必要なら 2 つの PostScript ファイルを自分で削除してください)。’printexpr’ を設定し、印刷前にこの特別な處理をするやうに設定できます。
PSUtils の psselect を使つて、兩面印刷を安價に實現できます。このユーティリティの引數に -e と -o を指定して、偶數ページと奇數ページを別々のファイルに出力できます。
まづ、’hardcopy’ コマンドで PostScript ファイルを生成します。そして、そのファイルを偶數ページと奇數ページに分けます:
psselect -o test.ps odd.ps psselect -e test.ps even.ps
次に、環境に合はせた方法で odd.ps を印刷します。そして、できあがつた印刷物をひつくり返し、再びプリンタの給紙トレーにセットし、even.ps を印刷します。これで、偶數ページが奇數ページの裏面に印刷されます。
次のことを氣に留めておいてください:
Note:
元の PostScript ファイルのページ數が奇數の場合は、偶數ページを逆順に印刷するよりも、奇數ページを逆順に印刷したはうがいいでせう。
標準設定では、Vim は |formfeed| 制禦文字 (改ページ文字) の特別な處理を一切しません。’printoptions’ の formfeed を設定すると、Vim は改ページ文字を認識するやうになります。改ページ文字を含む行は新しいページの一行目に印刷されます。改ページ文字を使つて原始的な印刷制禦ができますが、いくつか氣をつけることがあります。
たとへ行頭の文字が改ページ文字であつても、その行は常に通常の位置から (設定によつては行番號をともなつて) 印刷されます。そのため、そのやうな行が (たまたま) ページの一行目だつた場合、空白のページが印刷されます。
行番號は、改ページ文字を含む行の印刷が開始したところに印刷されるので、その行の (改ページ文字以降の) 殘りの部分が新しいページに印刷されるときには、行番號は印刷されません (’printoptions’ の wrap がオンのときに、長い行が折り返して印刷される場合も同じです)。
改ページ文字が行の最後の文字だつた場合、次の行は、新しいページの二行目に印刷されます。これは、Vim が改ページ文字を處理した後で改行を處理し、カーソルを下へ移動して、次の行を印刷するからです。
上記の理由により、改ページ文字を使用する場合には、行番號印刷をオフにして、改ページ文字を行末に置かないことが望ましいです。その場合でも、豫期しない空白ページが印刷されないやうに、行數を變更して改ページ文字の位置を調整する必要があるかもしれません。
{譯注: 例:
1: aaa<0c>bbb (<0c> == <C-L> == formfeed) 2: <0c>ccc<0c> 3: ddd は次のやうに印刷されます。 1: aaa - new page - bbb 2: - new page - ccc - new page - 3: ddd
}