     [file version.texi not included]

BookView: Tcl/Tk で書かれた NDTP クライアント、笠原 基之

Copyright © 1997, 1998, 1999, 2000  Motoyuki Kasahara

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by Free Software Foundation, Inc.

この文書は第 EDITION 版 (BookView バージョン VERSION に対応) です。

BookView とは
***********

BookView は Tcl/Tk で書かれた NDTP (Network Dictionary Transfer Protocol) クライアントです。動作させるには Tcl/Tk 8.3 かそれ以降、もしくは 8.0jp (`jp' は日本語対応バージョンを意味します) のいずれかが必要です。

BookView はフリーソフトウェアです。あなたは、Free Software Foundation が公表した GNU General Public License (GNU 一般公有使用許諾) バージョン 2 或いはそれ以降の各バージョンの中からいずれかを選択し、そのバージョンが定める条項に従って本プログラムを再頒布または変更することができます。

BookView は有用とは思いますが、頒布にあたっては、市場性及び特定目的適合性についての暗黙の保証を含めて、いかなる保証も行ないません。詳細については GNU General Public License をお読みください。

この文書は第 EDITION 版です。BookView バージョン VERSION に対応しています。

BookView の起動
************

コマンド行からの起動
==========

UNIX 系システム上でコマンドラインから BookView を起動するには、次のようにします。

     	/usr/local/bin/bookview

(BookView を /usr/local 以下にインストールしたと仮定しています。)

環境変数 BOOKVIEW_LANG は BookView が表示するメッセージの言語を決定します。デフォルトでは、日本語が選択されます。変数を en に設定すると、英語のメッセージを表示するようになります。現在のところ、メッセージは日本語と英語が利用できます。

wish のオプション一覧
=============

以下のオプションは wish によって解釈されます。

-colormap new
     メインウィンドウのカラーマップを指定します。

-display DISPLAY
     使用するディスプレイを指定します。

-geometry GEOMETRY
     ウィンドウの初期位置とサイズを指定します。

-name NAME
     使用するアプリケーションの名前を指定します。

-sync
     ディスプレイサーバに対して同期モードを使用します。

-visual
     メインウィンドウに対するビジュアルを指定します。

--
     残りのすべての引数をスクリプトに渡します。

bookview のオプション一覧
=================

以下のオプションは bookview 自身によって解釈されます。

-bg COLOR
-background COLOR
     前景色を指定します。

-fg COLOR
-foreground COLOR
     背景色を指定します。

-fn FONT
-font FONT
     フォントを指定します。

-fk FONT
-kanjifont FONT
     漢字フォントを指定します。

-iconic
     ウィンドウをアイコン化した状態で起動します。

-title TITLE
     ウィンドウのタイトルを指定します。

-version
     バージョン番号を出力して、終了します。

セットアップ
======

ファイル メニューの中の 設定... を選んでください。セットアップ用のサブウィンドウが現れます。サブウィンドウにはサーバの枠が 3 つありますので、最大 3 台までサーバを指定することができます。

ホスト名のエントリには、ホスト名 (例: localhost) もしくはアドレス (例: 127.0.0.1) を指定することができます。

ポートのエントリには、サービス名 (例: ndtp) もしくはポート番号 (例: 2010) を指定することができます。ポートのエントリにはデフォルトでサービス名 ndtp が指定されていますが、あなたのシステムが ndtp をサービス名として認識しないと使えません。 UNIX でも Windows でも、システムの設定ファイルを編集することで、サービス名 ndtp を登録することができます (see services ファイル)。ファイルを編集できないか、したくない場合は、ndtp の代わりにポート番号を指定して下さい。

各サーバエントリには、さらに オプション というエントリがあります。このエントリの中では高度な設定パラメタを設定するが可能です。あなたがまだ BookView に慣れていないのであれば、このエントリはそのままにしておきましょう。エントリの中のオプションパラメタはセミコロンで区切らなくてはなりません。現在のところ、以下のオプションが指定可能です。

group=グループ-ID,題名,書籍-ID[,書籍-ID...]
     書籍グループ を定義します。書籍グループは仮想の書籍で、実際の書籍一冊以上ないし複数冊 (書籍-ID,... として書き並べられたもの) から構成されます。 BookView に対して書籍グループを検索するように命令すると、書籍グループに属するすべての書籍を検索しにいきます。 BookView はサーバ上のすべての書籍から構成される all という書籍グループを自動的に定義します。

     グループ名には 等号 (=)、コンマ (,)、アットマーク (@)、空白およびタブは使えません。

start=書籍-ID
start=@グループ-ID
     BookView がそのサーバに接続したときは、常に書籍 (書籍-ID) が自動的に選択されます。アットマーク (@) を先頭に付けることで、書籍グループ-ID を指定することもできます (例: @all)。

demand-load=書籍-ID[,書籍-ID...]
     書籍を初めて選択したときに、通常、BookView はその書籍が独自に定義した文字のビットマップデータをすべて読み込みます。このオプションは、この振る舞いを抑制します。 BookView は、指定された書籍の独自文字のデータを、表示する直前に読み込みます。 (このオプションの指定にかかわらず、接続が切れると読み込まれたビットマップデータは削除されますので、留意して下さい。)

     アットマーク (@) を先頭に付けることで、書籍グループ-ID を指定することもできます。

以下は、オプション列の例です。

     start=super2000/chujiten; demand-load=super2000/kojien,izumi/file1

セットアップが終わったら、サブウィンドウの中の 了解 ボタンをクリックしてください。サブウィンドウが閉じられます。設定内容はファイル (see 設定ファイル) に記録されます。このファイルは BookView 起動時に自動的に読み込まれますので、BookView を次回起動したときに再度セットアップを行う必要はありません。

中止 ボタンをクリックすると、サブウィンドウが閉じられ、サブウィンドウ内で行われた編集内容はすべて破棄されます。

services ファイル
=============

OS にサービス名 ndtp を認識させたければ、システムの設定ファイルを編集してください (see セットアップ)。編集できないか、したくないのであれば、代わりにポート番号を使用してください。

Windows では設定ファイルは、\WINDOWS\SERVICES になります。 UNIX 系 OS では通常このファイルは /etc/services になりますが、もしあなたのホストが NIS クライアントならば、代わりに NIS サーバ上にある NIS のマップを修正しなくてはなりません。ファイルの形式は、Windows でも UNIX でも同じです。

サービス名 ndtp を登録するには、ファイルに次の行が無ければ足します。

     ndtp          tcp/2010

次のように、システムの services ファイルにはすでに別のサービス名で tcp/2010 というエントリが入っているかも知れません。

     search        tcp/2010

この場合は、ndtp というサービス名を別名としてその行に追加して下さい。

     search        tcp/2010        ndtp

(詳しくは、あなたのシステムのマニュアルをご覧下さい。)

設定ファイル
======

Bookview が終了したときと、あなたがセットアップウィンドウの 了解ボタンを押したときに、その時点での設定がファイルに記録されます。 UNIX では、この設定ファイルは ~/.bookview になります。 Windows では、BookView を C:\\Program Files\\BookView にインストールした場合は、C:\\Program Files\\BookView\\setup になります。設定ファイルは、BookView のスタート時に自動的に読み込まれます。

UNIX 系 OS では、システム共有のセットアップファイルを用意することもできます。あなたのシステムにユーザが複数いるなら、ユーザが自分でセットアップする必要がなくなるので、このファイルの存在は便利でしょう。

共有の設定ファイルは、/usr/local/etc/bookview.conf になります。 (BookView を /usr/local 以下にインストールしたと仮定しています。) 個人の設定ファイル (~/.bookview) と共有の設定ファイルの形式は同じです。共有の設定ファイルを用意するには、誰かが BookView を起動し、セットアップウィンドウで設定を行い、~/.bookview を /usr/local/etc/bookview.conf にコピーして下さい。

設定ファイルを読み込む際、BookView は個人の設定ファイルが開けるかどうか試し、次に共有のファイルを試します。 BookView が読み込むのはどちらか一方であり、両方ではありませんので、ご注意ください。

BookView の基本的な使い方
*****************

この章では、BookView の基本的な使い方を説明します。

NDTP サーバの選択
===========

サーバ メニューをクリックしてください。セットアップのところで指定したサーバがここに並べられます。その中からサーバを一つ選ぶと、BookView はそのサーバに接続します。

このサーバに対して start book ID を設定していれば、BookView はその書籍を選択します。設定していなければ、サーバが提供している書籍の一覧が表示されます。

書籍の選択
=====

選択しているサーバの持っている、利用可能な書籍および書籍グループ (see セットアップ) の一覧が 書籍:メニューに並べられます。一覧の中の書籍もしくは書籍グループを一つ選んでください。

検索方式の選択
=======

BookView は以下のような 検索方式 に対応しています。

完全一致検索 (Exact-Word Search)
     入力した単語に完全に一致するエントリを探します。

前方一致検索 (Word Search)
     入力された単語に対してエントリの先頭部分が一致するものを探します。

後方一致検索 (End-Word Search)
     入力された単語に対してエントリの後方部分が一致するものを探します。

条件検索 (Keyword Search)
     入力された複数の単語を含むエントリを探します。

これら検索方式の名前は 方式: メニューにも並んでいます。検索はこのメニューの中で選択されている方式に応じて行われます。無効になっている検索方式は、現在選択している書籍がその検索方式に対応していないことを意味します。選択している書籍が書籍グループの場合、BookView はすべての検索方式を有効にしますので注意してください。たとえ、書籍グループの中の書籍がいずれもある検索方式に対応していなかったとしても、すべての検索方式を有効にします。

検索
==

検索したいパターンを 単語: エントリに入力して、Return を叩くか 検索 ボタンをクリックしてください。条件検索を行う場合は、次のようにキーワード同士をセミコロン (;) で区切って書き並べて下さい。

     have; to; do

キーワードは最大 5 個まで指定できます。

BookView は、選択している検索方式に応じた検索要求を接続中のサーバに対して送り、サーバから返事を受け取ります。入力した単語にマッチした候補は一番目のテキスト領域 (ヒット 領域) に並べられます。各候補の末尾には (->本文) が付いています。そこをクリックすると、対応する本文が二番目のテキスト領域 (本文 領域) に表示されます。

利便性を考慮して、特殊文字がパターン内にあると選択中の検索方式よりも優先されるようになっています。

  * パターンの中にセミコロン (;) があると、条件検索が行われます。

  * パターンがアスタリスク (*) で始まっていると、パターンの残りの部分に対して後方一致検索が行われます。

  * パターンがアスタリスク (*) で終わっていると、パターンの残りの部分に対して前方一致検索が行われます。

クリア ボタンは 単語: エントリの内容を消去します。

メニュー
====

選択した書籍が メニュー検索 に対応していた場合、ツールバーの メニューボタンと 表示 メニューの メニュー コマンドが使用できるようになります。メニュー検索モードにするには、ボタンをクリックするかコマンドを選択して下さい。

著作権表示
=====

選択した書籍が 著作権表示 を持っていた場合、RIGHT ボタンとツールバーの 表示 メニューの 著作権 コマンドが押せるようになります。著作権表示を見るには、ボタンをクリックするかコマンドを選択して下さい。

参照先へ
====

本文領域に表示された本文が参照先を持っていると、青色かつ下線付きで (->参照) と表示されます。そこをクリックすると、参照先の本文が表示されます。

履歴の操作
=====

BookView は 本文領域に表示した本文の履歴を記録しています。履歴はメニューバーの ジャンプ メニューの中に並べられます。その中の一つを選択すると、BookView は対応する本文を本文領域に表示します。

左矢印ボタンをクリックするか、ジャンプ メニューの 一つ前へコマンドを選択するか、Alt+Left を叩くと、履歴リストを一つ進みます。右矢印ボタンをクリックするか、ジャンプ メニューの 一つ後へコマンドを選択するか、Alt+Right を叩くと、履歴リストを一つ進みます。

前後の項目への移動
=========

BookView が本文領域に表示している本文の一つ次の項目を見るには、 Alt+J を叩くか、ウィンドウ底部の下向き矢印ボタンをクリックするか、ジャンプ メニューの 一つ後の項へ を選択します。

一つ前の項目を見るには、Alt+J を叩くか、ウィンドウ底部の上向き矢印ボタンをクリックするか、ジャンプ メニューの一つ前の項へ を選択します。

ヘルプ
===

ヘルプ メニューの中にある ドキュメント... を選択して下さい。サブウィンドウが現れ、このドキュメントが表示されます。

終了
==

ファイル メニューの中にある 終了 コマンドを選択すると、 BookView が終了します。

BookView の高度な使い方
****************

この章では、エキスパートユーザ向けの BookView の機能を説明します。

セレクションの検索
=========

検索 ボタンと クリア ボタンの間に 選択検索 ボタンがあります。選択検索 は セレクションの検索 (Query Selection) を行うショートカットボタンです。単語: エントリの内容を消去し、セレクションをエントリに貼り付け、その単語を検索します。

表示 メニューの 選択から検索 コマンド、Alt+Return も同じ動作をします。

テキスト中のパターンの検索
=============

表示 メニューの 本文から探索... コマンドとツールバーのルーペボタンは同じ働きをします。これらは、本文領域内の単語を探すときに用います。このコマンドを選択すると、本文の単語を探索 サブウィンドウが現れます。探索: エントリに探したいパターンを入力し、Return を叩くか、探索 ボタンをクリックすると、BookView は本文領域からパターンを探し出します。

書籍の一覧
=====

表示 メニューの 書籍一覧 コマンドを選択すると、BookView は現在のサーバが提供している書籍の一覧を表示します。サーバとの接続が確立したとき、そのサーバに対して start book ID を設定していなければ、Bookview はこの一覧を自動的に表示します。

ビットマップ表示の切り替え
=============

表示 メニューの中の ビットマップの表示 チェックボタンでテキスト中のビットマップの表示、非表示を切り替えることができます。デフォルトでは、ビットマップを表示します。

ただし、この選択順序の中のどのサイズのビットマップも CD-ROM 書籍が持っていなかった場合は、このボタンの設定に関係なく、ビットマップは表示されません。

ツールバー表示の切り替え
============

表示 メニューの中の ツールバーの表示 チェックボタンでツールバーの表示、非表示を切り替えることができます。デフォルトでは、ツールバーを表示します。

テキストの空白量
========

表示 メニューの テキストの行間隔 コマンドは、カスケードメニューを持っています。そしてそのメニューは、0, 2, 4, 6, 8 ピクセル という 5 つの要素を持っています。これらは本文領域の行間の空白量を指定するために使用します。デフォルトの値は 0 ピクセル です。

キーボードでの操作
*********

BookView の機能はすべて、キーボードから呼び出すことができます。この章では、キーボードで BookView を操作する方法について説明します。

フォーカスの操作
========

次に挙げたキー操作は、ウィジェットのフォーカスを移動させます。これらの操作は、BookView のメインウィンドウ上のどこからでも検知されます。

Alt+F
     ファイル メニューをプルダウンして、グラブします。

Alt+V
     表示 メニューをプルダウンして、グラブします。

Alt+S
     サーバ メニューをプルダウンして、グラブします。

Alt+G
     ジャンプ メニューをプルダウンして、グラブします。

Alt+H
     ヘルプ メニューをプルダウンして、グラブします。

Alt+B
     書籍: メニューをプルダウンして、グラブします。

Alt+M
     方式: メニューをプルダウンして、グラブします。

Alt+W
     フォーカスを 単語: エントリに移します。

Tab
     フォーカスを 単語: エントリ、ヒット領域、本文領域の順番で移動させます。

メニューでの操作
========

グラブされたメニュー内では、次の操作が可能です。

Up
Control+P
     強調されたエントリを一つ上に移動します。

Down
Control+N
     強調されたエントリを一つ下に移動します。

Return
     強調されたエントリを選択します。

Esc
     メニューによる選択を中止します。

その他にもいくつかの操作が Tk 自身によって定義されています。詳しくは menu(n) のマニュアルページをご覧下さい。

単語 エントリでの操作
===========

単語: エントリ内では、次の操作が可能です。

Left
Control+B
     カーソルを一文字分戻します。

Right
Control+F
     カーソルを一文字分進めます。

Home
Control+A
     カーソルをエントリの先頭に移動させます。

End
Control+E
     カーソルをエントリの末尾に移動させます。

Backspace
Control+H
     カーソルの左側の一文字を削除します。

Delete
Control+D
     カーソルの右側の一文字を削除します。

Control+K
     カーソルの右側のすべての文字を削除します。

Control+Y
     セレクションを挿入カーソルの位置に挿入します。

その他にもいくつかの操作が Tk 自身によって定義されています。詳しくは entry(n) のマニュアルページをご覧下さい。

ヒット領域での操作
=========

ヒット領域内では、次の操作が可能です。

Up
Control+P
     カーソルを一行上に移動させます。

Down
Control+N
     カーソルを一行下に移動させます。

Prior (Page Up)
M+V
Control+U
     カーソルを一ページ分上に移動させます。

Next (Page Down)
Control+V
     カーソルを一ページ分下に移動させます。

Return
     カーソル位置のヒットエントリを選択します。そのヒットエントリのテキストがテキスト領域に表示されます。

その他にもいくつかの操作が Tk 自身によって定義されています。詳しくは text(n) のマニュアルページをご覧下さい。

本文領域での操作
========

本文領域内では、次の操作が可能です。

Left
Control+B
     カーソルを一文字分戻します。

Right
Control+F
     カーソルを一文字分進めます。

Down
Control+N
     カーソルを一行上に移動させます。

Up
Control+P
     カーソルを一行下に移動させます。

Prior (Page Up)
M+V
Control+U
     カーソルを一ページ分上に移動させます。

Next (Page Down)
Control+V
     カーソルを一ページ分下に移動させます。

space
     カーソルを、後方の下線部分 ((->参照)) に移動させます。

BackSpace
     カーソルを、前方の下線部分 ((->参照)) に移動させます。

Return
     カーソルが下線部分にあった場合、その参照先に飛びます。

その他にもいくつかの操作が Tk 自身によって定義されています。詳しくは text(n) のマニュアルページをご覧下さい。

その他のいろいろな操作
===========

これらの操作は、BookView のメインウィンドウ上のどこからでも検知されます。

Alt+Q
     終了。このキー操作は ファイル メニューの 終了 コマンドと同じです。

Alt+Return
     セレクションの検索。このキー操作は 表示 メニューの 選択から検索 コマンドと同じです。

Alt+Left
Alt+P
     履歴リストを一つ戻す。このキー操作は ジャンプ メニューの 一つ前へ コマンドと同じです。

Alt+Right
Alt+N
     履歴リストを一つ進める。このキー操作は ジャンプ メニューの 一つ後へ コマンドと同じです。

Alt+/
     本文の単語を探索 サブウィンドウを出現させて、グラブします。このキー操作は 表示 メニューの 本文の探索... コマンドと同じです。

よく訊かれる質問集
*********

質問 1 (日本語の入力方法)
===============

質問
     BookView のウィンドウ上で日本語を入力するにはどうしたら良いですか?

答え
     kinput2 か XIM 対応の入力フロントエンドを使用してください。

質問 2 (日本語が入力できない)
=================

質問
     kinput2 を使っていますが、BookView のウィンドウ上で日本語が入力できません。

答え
     Tk8.0jp インタプリタと kinput2 の間は、どのプロトコルを使用していますか? あなたの kinput2 はそのプロトコルを受け入れることができるようになっていますか?

     環境変数 TK_KCPROTO が設定されていない限り、プロトコルは次の要領で選択されます。環境変数 XMODIFIERS を設定していてその値が空でなければ、Tk8.0jp インタプリタは XIM プロトコルで kinput2 と通信しようとします。それ以外の場合は、kinput プロトコルが使用されます。

     気を付けておきたいのは、kinput プロトコルを使おうとして XMODIFIERS を @im=none に設定した場合も、XIM が選択されてしまうことです。この場合は、XIMODIFIERS を未設定にするか、TK_KCPROTO を kinput に設定して下さい。

     TK_KCPROTO を設定するには、次のようにします。

          (csh, tcsh のような C 互換シェルの場合)
          % setenv TK_KCPROTO kinput

          (sh, ksh, bash, zsh のような Bourne 互換シェルの場合)
          $ export TK_KCPROTO; TK_KCPROTO=kinput

質問 3 (kipnut2 開始キーの変更)
======================

質問
     BookView ウィンドウ上での kinput2 の開始キーを変更するにはどうしたら良いですか?

答え
     次のように、X のリソースを設定して下さい。

          bookview*tkKinputStartKeys: <Shift-space> <Control-backslash>