卒論か・・・そうだ,emacs で YaTeX + yspel + aspel で作業効率をあげよう
こんにちは!
prune です!最近研究室が静かです.みんな作業してるんですね・・・
僕もそろそろ論文を書かないトナーァカイ
tb-labで提供してるyatexサーバ
texの環境つくるのめんどくさいし,サーバで提供しちゃえと始まった今年度限定のyatexサーバ.
サーバとかいいつつ単純にsshしてemacsとYaTexでtexがかける用になってるだけです.
わりとCUIが嫌いな人が多いみたいで,利用率がどんどん減ってるよ☆★
Sambaでディレクトリ公開して自分が好きなeditorが使えた方が便利だよね.
最近sakuraさんが書いた記事をみてさすがだなーと思ったpruneです.
いまさら直すき0bitなのでまぁいいやってことで!
そもそも,おれvim派だからどうにかしてくれよ・・・とかっていう声は0だったのでいいんですよ!笑
そういう事は対応したいけどね☆★
今回はサーバのemacsでどんなことが設定されてるか知ってもらえればいいと思います!
emacs + YaTeXの環境構築
これは今度の記事で書きたいと思いますwww
実は言うとね?
実は言うと今日は僕の担当じゃないのです!
でも止めたくはないので・・・いま急遽記述してます.
無事に更新されたのでよかったのですが,せっかく記述したので公開します.
yspelとは?
本題に入りたいと思います.今回卒論を記述するにわたり「Wordなら文章校正あるのにー」とかっていう声をいつか聞いたので(僕はWord嫌い).
emacsでも文章校正はあるみたいなので導入してみました.それがyspelです!
導入方法
まずはgitから手にいれます!どうやらyahoo APIを利用してるみたいです.APIの制限も当然あるみたいなので,気をつけてください.
この文章校正が全て正しいということではありません.あくまで参考にしてください.
% cd ~/.emacs.d/ % git clone git://github.com/yama-natuki/yspel % ls
どうですか?yspleというフォルダーができたと思います.ここにpathを通しましょう.ぼくは簡単にpathが通せるように以下の用にinit.elに記述しています.
;; function load-path (defun add-to-load-path (&rest paths) (let (path) (dolist (path paths paths) (let ((default-directory (expand-file-name (concat user-emacs-directory path)))) (add-to-list 'load-path default-directory) (if (fboundp 'normal-top-level-add-subdirs-to-load-path) (normal-top-level-add-subdirs-to-load-path)))))) ;; load path (add-to-load-path "elisp" "conf" "public_repos" "yspel")
上記のように関数化しておくことで,あらたにフォルダを~/.emacs.d内に追加したとしても,add-to-load-pathのところにフォルダ名を記述することで簡単にpathが通ります.
今度は利用できるようにしましょう.pathが通ったらあとは簡単.init.elに下記の記述を.
;; run yspel (require 'yspel)
そして文章校正したくなったら.M-x yspelで呼び出ししてください.ね?できたでしょ?
pとnで上下に移動します.ウィンドウを消したくなったらqで閉じれます.画面の移動などはC-x oでできます.
aspelとは?
同時にスペルチェックできたらいいよねー!ってことでスペルチェックを導入してみましょう.それがaspelです!
導入方法
文章校正は自分が呼び出したいときだけでいいですが,スペルチェックはリアルタイムでやってほしいですよね?
なのでyatex modeになったときに同時にaspelも起動させてリアルタイムでチェックさせましょう.
今回はCentOSの場合で説明します.まずはyumでaspelをインストールします.aspell-enとやらないと英語の辞書がインストールされないみたい.
# yum -y install aspell-en aspell
今回は日本語混じりのtexのスペルチェックを行いたいのでinit.elにrun with Japaneseの記述をしてあげます.
そしてyatex modeの時にも動作してほしいのでhookしてあげます.
; run with Japanese (setq-default ispell-program-name "aspell") (eval-after-load "ispell" '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+"))) ;; run on specific mode (add-hook 'yatex-mode-hook '(lambda () (flyspell-mode)))
そしてこれだけだと
Error: No word lists can be found for the language "ja_JP"
と怒られてしまうので/etc/aspell.confか~/.aspell.confに下記の記述をしてあげます.
また,texのnewcommandとかしたものをスペルチェックの対象から外す方法もあります.
また逆にチェックしてほしい場合もあります.
これらはこちらでチェックしてね☆★
lang en_US --rem-tex-command hoge --add-tex-command huga
動作確認
びふぉーー?あふたーー!
おすぎですっ!ぴーk(ry
Before
After
emacsで書く人の役に立てば嬉しいです!
クリスマスまであと7日☆★