英和辞書等について

Mule で文書を編集している際に、英単語の意味が分らないとか、単語の綴り を忘れてしまったとかいうことがあります。こういった時に便利と思われるも のを紹介しておきます。


Edict

何をするものか

簡単な日本語<-->英語辞書です。言葉の説明とか用例は載っていませんが、日本語とそれに対する英語のペアが記述されている辞書を使って、片方から他方を検索することが出来ます。

使い方

必要なものは、辞書の本体である edict と、それを扱うための edict.elです。 neumann を使ってる場合は、どちらも既に /usr/local/lib/mule/site-lisp の下にあります。 他の環境でインストールしたい場合は、例えば ftp://ftp.u-aizu.ac.jp/pub/SciEng/nihongo/ftp.cc.monash.edu.au/ あたりから edict を手に入れて、適当なディレクトリに置きます。また、 edict.elload-path に置き、 バイトコンパイルしておきます。

その後、.emacs

(autoload 'edict-search-english "edict"
          "Search for a translation of an English word")
(autoload 'edict-search-kanji "edict"
          "Search for a translation of a Kanji sequence")
(global-set-key "\e*" 'edict-search-english)
(global-set-key "\e_" 'edict-search-kanji)
(setq *edict-files*
      '("/usr/local/lib/mule/site-lisp/edict"))

と書いておけば OK. (ただし neumann 以外では、最後の *edict-files* の値は edict のファイルの場所 を指定して下さい) これで次回から英単語の上で ESC-* とタイプするか、また日本語の単語をリー ジョンで囲んで ESC-_ とタイプすれば、それら の言葉を含んだ辞書の行が表示されます。

辞書を追加するには、

(setq *edict-files*
      '("/usr/local/lib/mule/site-lisp/edict" "~/lib/mydic"))

のように複数の辞書を指定するだけで OK です。辞書の形式は簡単なので、自 分で追加して利用することもできます。(便利そうな辞書が出来たら教えて下 さい。)


ispell

何をするものか?

UNIX には ispell という多言語対応の有名なスペルチェッカがあって、TeX での命令語を無視してスペルチェックしてくれるので便利です。 以前は GNU が配布しているものと、そうでないものの二通りあって、GNU の配布ではなかった方がお薦めでした。 (GNU の方が version が新しかったりして混乱した時期もあった。)

ところが、最近の GNU の配布には、お薦めの ispell-3.1 の方が含まれているようです。こうなった経緯は現在の ispell-3.1 の中の Contributors というファイルに書かれてます。何はともあれ、誤解や混同がなくなって喜ばしい限り。

ただし、(もはや net からは消えつつある) ispell-4.0 の中には正規表現が使える look が含まれていて、これはこれで便利なような気がするので、そういうのを使いたい場合は、ispell-4.0 を見つけてきて残しとくのもいいかも。

で、これを Mule のバッファで実行するための ispell.el があります。これは ispell のパッケージ に附属しています。 (Mule にも附属してますが、多分古いために使えない。)

使うには

まずは ispell をインストールする必要があります。これは桜井さんに頼んで 入れてもらうのが正しいのだと思いますが、ひょっとすると /u/s/matsu/bin あたりを、パスの最後に含めておくと使えるかもしれません。(そんなの危険 すぎるって。(^^;) /usr/local/bin にも、最近、西崎さんが入れてくれたも のがあるようですが、これは GNU のですね。

次に ispell.el ですが、取り敢えずは /usr/local/lib/mule/site-lisp に置 くのは止めておきます。元の mule 附属のものとぶつかって悩む人がひょっと したら居るかもしれないので。ですので、使いたい人はこの ispell.el を取っていって下さい。これを bytecompile して load-path 上に置いておきます。 これだけで使えるようになるはずです。

使い方

Calcをインストールしていない状態なら多分 M-#ispell-buffer かなんかが起動すると思いま す。そうでない場合は真面目に M-x ispell-buffer としてコマンドを打込みましょう。

他には、ispell-word とか ispell-region とかいうコマンドもあります。 頻繁に使う場合は、どっかにキーに割当てておくと便利。


look

何をするものか?

英語で文章を書いていて、ちょっと綴りが曖昧だなという場合があります。 UNIX には look というコマンドがあり、例えばコマンドラインで

    % look dict    

と入力すると、

    dicta
    dictate
    dictatorial    
    diction
    dictionary
    dictum

のように補完出来る単語を表示してくれます。(neumann でも使えます。) こ れを利用して、Mule のバッファで単語を補完したい場合に使えるのが、この look.el です。

インストール

まずは look.el を取ってきて、例によって、 load-path に置き、バイトコンパイルしておきます。 (この作業は neumann では必要ありません。)

で、.emacs に

(load "look")
(global-set-key "\M-L" 'look-here)

などと書いておきます。

良く使う場合は

(global-set-key "\M-L" 'look-here)
と書いておきます。\M-L のところは好きなキーを指定して下さい。

使い方

普通に文章を打っていて congratulate の綴を忘れた場合、cong と打ってそ の直後にカーソルがある状態で M-x look-here な いしは上で割り当てたキーをタイプします。すると、エコーラインに

    A: congenially  S: congested  D: congestion  F: congratulate    4/22    

のように表示されます。ここで f とタイプすれば congratulate と補完されるはずです。もしこの中に目的の単語が無ければ SPC を押すことで次の候補を表示、 xDEL で前候補を 表示してくれます。また、qESC で抜けられます。

正規表現

GNU の look なら正規表現による補完も可能で、例えば misc.*ous の次で look を起動すれば、misc から始まって途中に ous を挟む単語を補完できます。 因みに、私が使っている Linux のパッケージの Slackware-3.4 では look は BSD 系のが入ってるみたいなので、GNU のに入れ変えました。

で、ちょっと試してみたところ、私の環境 (Linux + bash + Emacs-19.34) で は call-process のところでクォートがうま く行ってないみたいで失敗するので、look.el の 102,103 行目を

(call-process "look" nil t nil "-r" incomp)))

で置き換えています。対処療法ですが。

また `、' や `。' に続く単語を補完しようとしても、これらの文字まで単語 に含めてしまうためにうまく行きません。これが気になる場合は、79行目辺り の look-skip-chars を定義している部分を書き換えると良いでしょ う。私は、

     "^ \t\n`\"(" --> "^ \t\n`\"(。、"    

のように変更して使っています。


[Mule のページに戻る]