LoginSignup
1
6

More than 3 years have passed since last update.

[備忘録]Emacsでスペルチェック

Last updated at Posted at 2020-06-18

1. はじめに

この記事はEmacsでスペルチェックを行うための機能の拡張を行う手順を整理した備忘録です.

1.1 環境

作業環境は以下の通りです.

  • MacOS: Catalia 10.15.5
  • Emacs: emacsport (Emacs26.3)
  • Homebrew: 2.3.0

1.2 関連記事

2. Aspell

ここではスペルチェッカーIspellの後継であるAspellのインストールと初期設定を行います.Live TeXやEmacsのパッケージではなく,ターミナルから呼び出すことのできるプログラムです.これをEmacsの英作文で利用するというのが私の利用目的です.

2.1 参考資料

インストール方法や使い方についてはTeX Wikiを参考にしました.

2.2 インストールの手順

Step 1: ターミナルを起動し,以下を入力して実行する.

$ brew install aspell

Step 2: Emacsを起動し,初期化ファイルinit.elを開いて,以下を追加する.

~/.emacs.d/init.el
(setq-default ispell-program-name "aspell")
(with-eval-after-load "ispell"
  (setq ispell-local-dictionary "en_US")
  (add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))

Step 3: 初期化ファイルinit.elへの変更を保存し(C-x C-s),Emacsを閉じる(C-x C-c).

コメント

  • Step 1では,Homebrewを使ってAspellをインストールします.
    • Aspell @ TeX Wikiにあるようにbrew install aspell --lang=enとオプションで言語を指定するように書いています.これはhgshrs氏の記事の問題を回避するためだと思われます.しかし,このオプションを付けてインストールしようとしたら,Error: invalid option: --lang=enというエラーが出てインストールできませんでした.
    • こちらのGitHub上のHomebrewのフォーラムから,そのようなオプションを付けなくても良いっぽいので,とりあえず--lang=enオプションを付けずにインストールして,無事スペルチェックできるかを確認します.
  • Step 2では,一行目でEmacsに組み込まれているIspell用のキーバインドを利用する際にAspellを呼び出すようにしています.3行目では,言語を英語にするように設定しています(StackExchangeへの投稿を参考にしました).
    • ターミナルで$ aspell -c -t hoge.texのように言語指定のオプション--lang=enを付けない場合,Error: No word lists can be found for the language "ja_JP".というエラーが返ってきます.これはkeisanbutsuriya氏の記事にあるように,日本語の辞書を探してしまっているんだと思います.
    • 上記のkeisanbutsuriya氏の記事では~/.aspell.confというファイルに言語の設定を書くようにしていますが,私の場合,基本的にEmacs上でしか使わないこともあって,無駄に設定ファイルを増やしたくない(できるだけinit.elで終わらす)ために3行目(setq ispell-local-dictionary "en_US")を書いています.4行目は日本語混じりのTeX文書をチェックするためで,これは日本語の部分をスキップするように指定していると思われます.
  • Step 3後にEmacsを再起動した段階からAspellを利用できるようになります.

2.3 Emacs上での使い方

自分の場合,単純にM-x ispellと入力して使っています.もっと細かな使い方についてはググりましょう.

3. Flyspellの設定

Flyspellは文章作成時,誤った単語を入力した場合にリアルタイムでスペルミスを教えてくれる機能です(Microsoft Wordのようにスペルミスの単語に印が付きます).

これはEmacsにデフォルトで同梱されているモードで,特別インストールは必要ありません.私の場合,.texファイルをYaTeXモードで開いた際に自動でFlyspellの機能を有効にする形で使います.

3.1 参考資料

設定にあたっては次の資料を参考にしました.

3.2 設定の手順

Step 1: Emacsで初期化ファイルinit.elを開き,以下をYaTeX呼び出し部分より後に追加する.

~/.emacs.d/init.el
(use-package flyspell
  :hook (yatex-mode . flyspell-mode))

Step 2: 変更を保存し(C-x C-s),Emacsを閉じる(C-x C-c).

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6