Stargazer の日本語化

rm(list=ls())
library(knitr)
opts_chunk$set(warning=FALSE, message =FALSE)

stargazer は簡単に作表するパッケージである. 基本的にこのチートシート をみれば大体どのようにカスタマイズすればよいかわかるだろう. 日本語での紹介は以下が参考になる.

実際に stargazer を用いれば簡単に基本統計量を表示することができる.

library(stargazer)
stargazer(cars,type="html")
Statistic N Mean St. Dev. Min Max
speed 50 15.400 5.288 4 25
dist 50 42.980 25.769 2 120

また複数の回帰分析の比較表も簡単である.

data(cars)
fm0<-lm(dist~speed, data=cars) 
fm1<-lm(dist~speed + I(speed^2), data=cars) 
stargazer(fm0,fm1,type="html")
Dependent variable:
dist
(1) (2)
speed 3.932*** 0.913
(0.416) (2.034)
I(speed2) 0.100
(0.066)
Constant -17.579** 2.470
(6.758) (14.817)
Observations 50 50
R2 0.651 0.667
Adjusted R2 0.644 0.653
Residual Std. Error 15.380 (df = 48) 15.176 (df = 47)
F Statistic 89.567*** (df = 1; 48) 47.141*** (df = 2; 47)
Note: p<0.1; p<0.05; p<0.01

日本語にするために, 変数名は可能であっても, 統計量の名前の変更方法を私は知らない. さらに出力オプションが latex か html なので, docx 形式の出力はできない. マークダウン形式での出力が望ましいが  stargazer では不可能である.

ここでは基本統計表とモデルの比較表を日本語化してマークダウン形式で出力する方法を示す.

基本統計表

まず tidyverse の助けを借りて, 次のようにデータフレームを作成する.

library(tidyverse)
tab <- gather(cars,key=variables, values) %>% 
  group_by(variables) %>%
  summarize(観測数=n(),平均=mean(values),標準偏差=sd(values),
               最小値=min(values),最大値=max(values)) %>% 
  dplyr::rename(変数=variables)

その上で pander を用いて作成する.

library(pander)
pander(tab)
変数 観測数 平均 標準偏差 最小値 最大値
dist 50 42.98 25.77 2 120
speed 50 15.4 5.288 4 25

モデル比較表

モデルの比較にはパッケージ memiscmtable を使う.

library(memisc)
mtab <- mtable("Model 1"=fm0,"Model 2"=fm1, 
                summary.stats=c("sigma","R-squared","N")) %>%
  relabel("(Intercept)"="定数項","speed"="速度","I(speed^2)"="速度自乗",
              "sigma"="標準誤差","R-squared"="決定係数","N"="観測数")
pander(mtab)
Model 1 Model 2
定数項 -17.579*

(6.758)

2.470

(14.817)

速度 3.932***

(0.416)

0.913

(2.034)

速度自乗 0.100

(0.066)

標準誤差 15.4 15.2
決定係数 0.7 0.7
観測数 50 50

.

 

 

docker で RStudio Server を起動し, bookdown で日本語 pdf を作成する.

以前 bookdown で日本語 PDF を出力する方法を前のブログ または qiita で紹介しました. ここでは表題のように docker で RStudio Server を起動し, bookdown で日本語 pdf を表示する方法を紹介します.

docker で RStudio Server を起動するやり方は知られていて, kazutan さんにより

http://qiita.com/kazutan/items/76c4b478293a5d81296b

および

http://qiita.com/kazutan/items/f1447cbabed8d4dd50b8

で紹介されてます. 基本は

https://github.com/rocker-org/hadleyverse

および

https://github.com/tokyor/rstudio

を参考に作成しています. ただこれだけだと, bookdown で 日本語 PDF は出力できません. 最大の困難は Debian がインストールする texlive が 2014 のため色々必要なのものが導入されていないことです. 個別に導入してもよいかもしれませんが, わたしは

https://github.com/rchurchley/docker-texlive/

を参考に, texlive 2016 を一括に導入する Dockerfile を作成することにしました. その Dockerfile は以下にあります.

https://hub.docker.com/r/kenjimyzk/rstudio-latex/~/dockerfile/

使い方

まず Docker を導入する. そしてターミナル上で以下のコマンドを実行する.

docker pull kenjimyzk/rstudio-latex

つぎに RStudio Server の作業ディレクトリ, 例えば ~/work を作成する. そしてターミナル上で以下のコマンドを実行する.

docker run -d -p 8787:8787 -v ~/work:/home/rstudio/work kenjimyzk/rstudio-latex

そしてブラウザ上のアドレスで

localhost:8787

とする. ログイン時にユーザー名とパスワードを聞かれるのでともに rstudio とする.

RStudio Server が立ち上がるので, [tools] => [shell] としてシェルを立ち上げる. そこで

git clone https://github.com/kenjimyzk/bookdown_ja_template

とする. そうするとテンプレートがクローンできる.

RStudio Server の Files ペイン で, 先程クローンしたフォルダを開き, bookdown_ja_template をクリックして, プロジェクトを立ち上げる.

RStudio Server の Build ペイン で, Build book をクリック. 最初, いくつかのパッケージを導入するために名前空間がおかしくなって上手くコンパイルしない場合があるかもしれないけれど, 少なくとも二度目で上手くいくようです.

なお, 最後のクローンや私がよく使うライブラリを事前に導入した dockerfile が以下にあります. https://hub.docker.com/r/kenjimyzk/myrstudio/~/dockerfile/

まとめ

以上, Docker で booddown をつかって日本語 pdf を作成するやり方を紹介しました. xelatex や cairopdf ではフォントが機種依存になってしまうので, Docker を導入することでそれらが回避できます.

ただ現状 Docker コンテナが 6G というありえない大きさになっています.
今後は

https://raw.githubusercontent.com/kenjimyzk/rstudio-latex/master/installation.profile
を編集し, 導入パッケージの取捨選択し, サイズを小さくしたいと考えています.

投稿者: kenjimyzk カテゴリー: computer

bookdown_ja_template

bookdown で日本語の PDF ファイルを出力できるテンプレートを作成しました.

https://github.com/kenjimyzk/bookdown_ja_template/

基本的には

https://github.com/kazutan/bookdown_ja_template/

をフォークしたものです. kazutan さんは主に html ファイルにおいていろいろ貢献しています.
わたしの貢献は日本語 PDF を作るための設定です.

主な違いは以下です:

  • lualatex でなく (宗教的理由で) xelatex にしている.
  • IPA font でなく IPAex font にしている
  • pdf で bxjsbook を使用していている
  • 日本語付きの図表の例を示している.
  • 日本語の索引と参考文献の例を示している.

使い方は全く同じで, 先のサイトや index.Rmd にかかれています.
ここでは色々補足をします.

bxjsbook

PDF のためのスタイルファイルで bxjsbook を使いました. これについて

http://qiita.com/naqtn/items/7469a07ea797df5e2ecc

が参考になりました. ただ, このままだとなぜかコードの内の日本語が明朝体になってしまいます.
原因不明なので, 冗長ですが preamble.tex

\usepackage[ipa]{zxjafont}

をつけています.

また bxjsbook だと上手く章立てできないので,

pandoc_args: --chapters

を pandoc の引数にしております. ただこれは最新の pandoc だと機能が古いと怒られ

pandoc_args: --top-level-division=chapter

とするようにいわれますが, 現在の windows の RStudio に同封の pandoc ではバージョンが古いため後者は設定できません.

texlive 2016

texlive 2016 が導入されているのが前提になっています. 現在の最新版 2016 でないとスタイルファイル bxjsbook やユニコードに対応した索引作成ソフト upmendex が使えません. Ubuntu で apt-get install でインストールした場合だと上手く動きません. これを機にこちらでインストールすることをオススメします:

https://github.com/scottkosty/install-tl-ubuntu

jeconunicode.bst

bibtex のスタイルファイルは

http://shirotakeda.org/ja/tex-ja/jecon-ja.html

にある jcon.bst のユニコード版 jecon_unicode.bst を使います. 最近第7版が出版された有名な「LaTeX2 ε美文書作成入門」技術評論社で bibtex の章の最後の文章で natbib に対応した日本語パッケージがないといっていますが, それは間違いです. この武田さんの jcon.bst でバッチリ natbib に対応して 著者 (年) という社会科学で標準的に使われる表記で参考文献が作れます. なお現在 texlive 2016 での upbibtex にバグがあるために一部機能がうまくいかないのですが, バグが直り, texlive 2017 で反映されるようです.

http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2006

あと YAML がうまく jecon_unicode.bst を読み込んでくれないので jeconunicode.bst にファイル名を変更してフォルダにおいています. さらにこのファイルは自分用に少しだけ修正しております (Pull Request 中).

ipaex

日本語のフォントを R で表記するために IPAex フォントを使用しています. 古い IPA フォントとの違いは欧米フォントがプロポーシャルになってることです. 以下からダウンロードしてください。

http://ipafont.ipa.go.jp/

作図の際, 日本語フォントを含めた各種のフォントを作図に用いると警告が出る場合があります. 警告無しで使用するために extrafont というパッケージを用います. まず最初に

install.packages("extrafont")
extrafont::font_import(prompt=FALSE)

として読み込みます. 実際に使えるフォントは

extrafont::fonts()

で確認できます. その上でセッションごとに

extrafont::loadfonts(quiet=TRUE)

と実行するとよいでしょう.

R での日本語付きの作図について, いろいろ情報が錯綜し, 私自身いろいろ試行錯誤しました. 現時点の結論として, html 出力では png をデバイスとし, pdf 出力では cairo_pdf をデバイスとし, grDevices の設定を直接いじるのでなく, グラフィクパッケージごとにフォントファミリーを指定するのがよい考えております. そのために IPA フォントは事前にインストールするのが不可欠ですが…

まとめ

以上 bookdown で日本語の pdf を作成するための紹介をしました. この bookdown が広まれば, 編集者にチェックをまかせていた参考文献や索引づくりが自分でできるようになり, ますます出版の敷居が下がってくるのではないでしょうか.

共立出版のホームページをみると

http://www.kyoritsu-pub.co.jp/series/205/

をみると, 「RStudio による Reproducible Research」高橋康介著が予定されています. きっと「ドキュメント・プレゼンテーション生成」の続編で, bookdown が言及されていると思いますので楽しみです.

現在 OS や環境依存を避けるための Docker 環境を構築することを模索しています. それが上手くいけばまた報告させていただきます.

Spacemacs Japanese Layer

spacemacs の Layer に Chinese があるので, Japanese もあってもいいだろうということで, Japanese layer を作成した. プルリクエストを 10 日前に送っているがそのままである. (9 月 17 日時点)

仕方がないのでちょこちょこ改良しつつ気長に待つことにする.

にレイヤーを公開したので, よろしかったらコメントやプルリクエストをしていただければありがたいです.

プルリクエストをしたのは開発版であるが, 安定版でも使えるはずである. ディレクトリ .emacs.d/private/ に移動して

git clone git@github.com:kenjimyzk/spacemacs-japanese.git japanese

とし, .spacemacs もしくは .spacemacs.d/init.eldotspacemacs-configuration-layer において japanese を付け加えて再起動すればよい.

どのようなことができるかを列挙すると:

  • evil-tutor-ja: 日本語 evil のチュートリアル
  • migemo: ローマ字で日本語検索が可能になる
  • helm-migemo-mode: helm で migemo が使える
  • avy-migemo: avy で migemo が使える
  • ddskk: 日本語入力システム SKK
  • japanese-calendear: 日本の祝日に対応したカレンダー
  • pangu-spacing: 半角と全角の間にスペースを作成する.
  • org で html 出力する際に望まないスペースを作らない.

ソースコードに引用をつけていない (ことが spacemacs では望ましいのでつけていない) が, 以下の人のコードを参考にしている. ここで感謝したい.

補足をすると migemo を使えるようにするには cmigemo が必要で, mac は homebrew で, ubuntu は apt-get で入手できる. Windows は

からバイナリを入手するのが簡単である. なお Windows の場合はパスを通す必要がある.

migemo の辞書の場所 の変数 migemo-dictionary は mac の場合, デフォルトでよいが, ubuntu や windows は設定が必要である. ubuntu では dotspacemacs-configuration-layer において

(japanese :variables
          migemo-dictionary  "/usr/share/cmigemo/utf-8/migemo-dict")

とし, windows では c:\app\cmigemo-default-win64 に本体があるなら

(japanese :variables
          migemo-dictionary  "c:/app/cmigemo-default-win64/dict/utf-8/migemo-dict")

とする必要がある.

現状, emacs 25 だと warnings が出てしまう. これをなんとかしたいと考えている. なお現状の設定ファイルは ここ にある.

投稿者: kenjimyzk カテゴリー: spacemacs

evil-tutor-ja

evil-mode の日本語チュートリアルのパッケージを開発した.

emacs のチュートリアルは M-x help-with-tutorial で実行可能であるが, 英語である. 日本語を含む英語以外のチュートリアルは M-x help-with-tutorial-spec-lanuage でよい.

spacemacs は evil-tutor.el が導入されていて, M-x evil-tutor で evil のチュートリアルが実行可能である. これはターミナル vimtutor で実行したときに実行される vim のチュートリアルの evil に対応したものである. 日本語環境のターミナルで vimtutor を実行すると, 日本語のチュートリアルが登場する.

今回, この Vim の日本語のチュートリアルを evil に対応したものを作成し, MELA に登録した.

基本的に日本語版 vimtutor のファイルを evil-mode 向けに集成しただけであるが, Vim および英語に馴染みがない人には有益と考えて作成した. vimtutor の日本語訳を作成した人に感謝したい.

spacemacs での導入方法は単に init.eldotspacemacs/layersdotspacemacs-additional-packages '()evil-tutor-ja を加え a SPC q r で再起動すればインストールされる.

M-x evil-tutor-ja で起動される. そうするとデフォルトの設定で ~/.tutor-ja のもとにチュートリアルが作成される. それをチュートリアルに従って編集していく. 一度終了してもファイルは修正されたところは反映している. 改めてチュートリアルを実施したければ ~/.tutor-ja のファイルを削除しればよい. また節の移動として C-jC-k が利用可能になっている.

はじめて MELPA に登録した. その際コメントやプルリクエストをしてくれた syohex さんに感謝したい.

投稿者: kenjimyzk カテゴリー: spacemacs

spacemacs の日本語設定 (5: lookup.el)

昔 EPWING というファイル形式があった. 現在その形式の辞書ソフトは発売されていないが, 昔は多数あった. またそうでない形式の辞書ソフトを変換するツールもネットで公開されていた. この EPWING 形式の辞書ソフトを emacs で利用するツールとして lookup.el がある. わたしの記憶が正しければ, Carbon Emacs に標準搭載されていた. 現在も

で公開されているが, melpa などに登録されていない. そのため私のように EPWING 形式の辞書をもっている人間は自分でインストールする必要がある. 情報が古いが, 以下にインストール方法が公開されている.

つい数年前まで, こうした el ファイルをいちいち自分でインストールしていたのが信じられない. 以下, spacemacs でどのように導入し, 利用しているのか紹介する.

lookup.el の導入

ubuntu

以前の 投稿 で, ubuntu での導入方法を述べた. 同様の手順をとればよい. ターミナルから

sudo apt-get install lookup-el

でよい. なお自分で emacs をコンパイルした場合, これではうまくいかない.

mac

以前の 投稿 で, gnupack での導入方法を述べた. 今回, homebrew 経由で導入できるようにした. まず

brew tap kenjimyzk/ebu
brew install ebu
brew tap kenjimyzk/eblook
brew install eblook

とする.

から lookup-1.4+media-20160602.tar.gz を入手し, それを解凍する. ターミナルからそこに,

emacs -batch -l install.el '~/.spacemacs.d/lisp/lookup' '~/.spacemacs.d/info'

を実行する.

windows

以前の 投稿 で, gnupack での導入方法を述べた. 同様の手順をとればよい.

から eblook-1.6.1+media-20150724-ebu-4.4.3-20150301-win64.exe を入手し, それを eblook.exe にリネームしてどこかのフォルダに入れ, 環境変数にそこの PATH を通す. 次に lookup-1.4+media-20160602.tar.gz を入手し, それを解凍する. emacs を開き, M-x eshell を実行し, 解凍したフォルダにディレクトリを移動し,

emacs -batch -l install.el  '~/.spacemacs.d/lisp/lookup' '~/.spacemacs.d/info'

を実行する.

設定ファイル

init.el にある dotspacemacs/user-config に次の設定

(load-file "~/.spacemacs.d/00lookup.el")

を加え, 外部ファイル 00lookup.el として, 次の設定を読みこむように設定している.

;; lookup
(add-to-list 'load-path "~/.spacemacs.d/lisp/lookup/")
(setq lookup-enable-splash nil)
(autoload 'lookup "lookup" nil t)
(autoload 'lookup-region "lookup" nil t)
(autoload 'lookup-pattern "lookup" nil t)
(global-set-key (kbd "C-x l") 'lookup-pattern)
(global-set-key (kbd "C-x C-l") 'lookup-region)

(setq lookup-default-dictionary-options
      '((:stemmer .  stem-english)))
(setq lookup-use-kakasi nil)
(setq lookup-search-agents '(
    (ndeb "~/dict/Cobuild1")
    (ndeb "~/dict/Longman4")
    (ndeb "~/dict/OALD8")
    (ndeb "~/dict/NKEMEJ")
    (ndeb "~/dict/NKEMJE")
    (ndeb "~/dict/KANJIGEN")
    (ndeb "~/dict/KEIZAI")
    (ndeb "~/dict/KOJIEN5")
    (ndeb "~/dict/COLLOC")
    (ndeb "~/dict/SRD-FPW")
    (ndeb "~/dict/EIDAI6")
    (ndeb "~/dict/WADAI5")))

最後の設定は辞書のおいている場所や種類によって異なる. なお以前の投稿では日本語のフォルダ名にしていたが, windows ではうまくいかなくなっているので変更している. また info ファイルの設定はここでは省略する. 以上, 新しい設定は ここ になる.

使い方

先の設定のもと, 検索方法は次の 2 つである.

  • C-x l: 単語を入力して検索する. デフォルトでカーソルにある単語が候補として挙げられる.
  • C-x C-l: リージョンを選択した上でその単語が検索される.

注意することは, evil-mode で検索すれば, その辞書がきちんと操作できなくなっている. その場合, 焦らず C-zemacs-mode に変換すればよい. lookup での使い方は ? を押せばヘルプがでるので, それを参考すればよい. 大抵 SPC で辞書を選び, qlookup を閉じるだけでよいだろう.

spacemacs の日本語設定 (4: pangu-spacing)

日本語文書を作成する際, 全角文字と半角文字には半角スペースをいれるようにしているが, しばしば忘れてしまう. それを避けるために以下を参考にして pangu-spacing.el を導入する.

init.eldotspacemacs/layersdotspacemacs-additional-packages 内部に pangu-spacing を加える. そして init.el にある dotspacemacs/user-config に次の設定

(load-file "~/.spacemacs.d/00pangu-spacing.el")

を加え, 外部ファイル 00pangu-spacing.el として, 次の設定を読みこむように設定している.

;; pangu-spaceing
;;http://rubikitch.com/tag/packagepangu-spacing/
  ;;; chinse-two-byte → japanese に置き換えるだけで日本語でも使える
(setq pangu-spacing-chinese-before-english-regexp
      (rx (group-n 1 (category japanese))
          (group-n 2 (in "a-zA-Z0-9"))))
(setq pangu-spacing-chinese-after-english-regexp
      (rx (group-n 1 (in "a-zA-Z0-9"))
          (group-n 2 (category japanese))))
  ;;; 見た目ではなくて実際にスペースを入れる
(setq pangu-spacing-real-insert-separtor t)
;; text-mode やその派生モード(org-mode 等)のみに使いたいならこれ
(add-hook 'text-mode-hook 'pangu-spacing-mode)
;; すべてのメジャーモードに使ってみたい人はこれを
;; (global-pangu-spacing-mode 1)

以上, 新しい設定は ここ になる.

spacemacs の日本語設定 (3: japanese-holidays)

以下を参考にして, カレンダーに日本語の祝日を付け加える.

init.eldotspacemacs/layersdotspacemacs-additional-packages 内部に japanese-holidays を加える. そして init.el にある dotspacemacs/user-config に次の設定

(load-file "~/.spacemacs.d/00calendar.el")

を加え, 外部ファイル 00calendar.el として, 次の設定を読みこむように設定している.

;; calendar
;; http://d.hatena.ne.jp/rubikitch/20090216/1234746280
(require 'calendar)
;; (setq  number-of-diary-entries 31)
(define-key calendar-mode-map "f" 'calendar-forward-day)
(define-key calendar-mode-map "n" 'calendar-forward-day)
(define-key calendar-mode-map "b" 'calendar-backward-day)

(eval-after-load "holidays"
  '(progn
     (require 'japanese-holidays)
     (setq calendar-holidays ; 他の国の祝日も表示させたい場合は適当に調整
           (append japanese-holidays holiday-local-holidays holiday-other-holidays))
     (setq mark-holidays-in-calendar t) ; 祝日をカレンダーに表示
     ;; 土曜日・日曜日を祝日として表示する場合、以下の設定を追加します。
     ;; 変数はデフォルトで設定済み
     (setq japanese-holiday-weekend '(0 6)     ; 土日を祝日として表示
           japanese-holiday-weekend-marker     ; 土曜日を水色で表示
           '(holiday nil nil nil nil nil japanese-holiday-saturday))
     (add-hook 'calendar-today-visible-hook 'japanese-holiday-mark-weekend)
     (add-hook 'calendar-today-invisible-hook 'japanese-holiday-mark-weekend)
     ;; “きょう”をマークするには以下の設定を追加します。
     (add-hook 'calendar-today-visible-hook 'calendar-mark-today)))

以上, 新しい設定は ここ になる.

spacemacs の日本語設定 (2: SKK)

日本語入力では mac や windows で Google IME を用いている. ただ spacemacs であまり相性がよくない. インサートモードで日本語文章を入力して, ノーマルモードに移ってもひらがなのままになる. 一部のブログで mac でインラインパッチをあてた emacs を使えばよいと書かれているが, わたしの環境だとインサートモード入力中に変換が効かなくなることがあり, 安定して使えない. SKK を導入すると, こうしたことを一気に解決してくれる. SKK は Emacs のための日本語変換といってよい. 昔は導入が少しややこしかったが, 今は melpa 経由でパッケージをインストールすればよいのでとても簡単である. SKK については以下を参照されたい.

導入

SKK を導入するためには init.eldotspacemacs/layers の dotspacemacs-additional-packages '()ddskk を加える. これで SPC q r で再起動すればインストールされる. インストールの最初に Viperize をするか聞かれる. もしかしたら evil-mode としては yes とするべきところかもしれないが, 私はいつも no を選択している.

カスタマイズすることがあれば, .skk ファイルを作成するか, init.el にある dotspacemacs/user-config () に設定を加える. 私は別ファイル 00ddskk.el を作って読み込むようにしている. 私の設定ファイルは ここ にある.

使い方

始めてなら M-x skk-tutorial とする. 詳細は以下にある.

まとめ

spacemacs に日本語入力を便利扱うパッケージ ddskk の導入方法を述べた. 現時点の私の設定は ここ である.

spacemacs の日本語設定 (1: migemo)

前回, 前々回 に予告したように migemo を導入すれば, avy-jump 日本語にもローマ字入力で移動可能になり, helm-swoop でローマ字入力でバッファ検索が可能になる. spacemacs にmigemo を導入するとは, 正確にいうとmigemo という外部プログラムにアクセスするインターフェイスを導入することである. まずは外部プログラムの導入, そして spacemacsの設定を説明する.

C/Migemo の導入

まず外部ファイル migemo を導入する必要がある. 現在は C/Migemo を使うのが普通である.

windows

以下のサイト

にから, バイナリを入手し, 環境変数 PATH にバイナリの場所を追加する. 私は c:/app/cmigemo-default-win64/ にしている.

mac

homebrew を導入しているので

brew install cmigemo

で導入される.

linux

ubuntu だとつぎのコマンドでよい.

sudo apt-get install cmigemo

設定

migemoを導入するためには init.eldotspacemacs/layers の dotspacemacs-additional-packages '()migemoavy-migemo を加える. そして init.el にある dotspacemacs/user-config () に次の設定を加える.

;; migemo
(require 'migemo)
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(cond
 ((eq system-type 'darwin)
  (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
  )
 ((eq system-type 'gnu/linux)
  (setq migemo-dictionary "/usr/share/cmigemo/utf-8/migemo-dict")
  )
 ((eq system-type 'windows-nt)
  (setq migemo-dictionary "c:/app/cmigemo-default-win64/dict/utf-8/migemo-dict")
  ))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
;; initialize migemo
(migemo-init)

機種によって辞書のディレクトリが違うため, 場合分けしている. これで C-s, C-r などのインクルメンタルサーチで migemo 対応が可能である.

helm をmigemo対応にするには以下でよい.

;;
(with-eval-after-load "helm"
  (helm-migemo-mode +1)
  )

古いブログの記事では helm-migemo の導入といっているが不要である.

avy をmigemo対応にするには以下でよい.

;; avy-migemo
(require 'avy-migemo)
(avy-migemo-mode 1)

まとめ

以上, spacemacs に migemo を導入する方法を記述した. これで avy-jump-word (SPC SPC) で日本語にもジャンプでき,  helm-swoop (SPC s s) でローマ字で日本語検索が可能になる.

機種ごとにまとめた設定ファイルは ここ にある. 前回からの差分は ここ である. なお, わたしはこれを外部ファイル 00migemo.el として, 読みこむように設定している.