#1. はじめに
この記事はEmacsでスペルチェックを行うための機能の拡張を行う手順を整理した備忘録です.
##1.1 環境
作業環境は以下の通りです.
- MacOS: Catalia 10.15.5
- Emacs: emacsport (Emacs26.3)
- Homebrew: 2.3.0
##1.2 関連記事
- macOSへのTeX-Emacs環境の構築全体の流れについてはこちらの記事.
#2. Aspell
ここではスペルチェッカーIspellの後継であるAspellのインストールと初期設定を行います.Live TeXやEmacsのパッケージではなく,ターミナルから呼び出すことのできるプログラムです.これをEmacsの英作文で利用するというのが私の利用目的です.
##2.1 参考資料
インストール方法や使い方についてはTeX Wikiを参考にしました.
##2.2 インストールの手順
Step 1: ターミナルを起動し,以下を入力して実行する.
$ brew install aspell
Step 2: Emacsを起動し,初期化ファイル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 参考資料
設定にあたっては次の資料を参考にしました.
- keisanbutsuriya氏のブログ記事「Emacsでスペルチェック」(2019年12月29日追記部分)
##3.2 設定の手順
Step 1: Emacsで初期化ファイルinit.el
を開き,以下をYaTeX呼び出し部分より後に追加する.
(use-package flyspell
:hook (yatex-mode . flyspell-mode))
Step 2: 変更を保存し(C-x C-s
),Emacsを閉じる(C-x C-c
).