Hatena::ブログ(Diary)

英語とプログラミング気まぐれ日記 このページをアンテナに追加 RSSフィード

2007-07-24

[][] .emacs を再読み込みする方法

Meadow再起動せずに、.emacsの変更を反映させるためには、

.emacsを編集しているバッファで以下のコマンドを入力すればよい。

M-x eval-current-buffer

又は、以下のコマンドでも出来るらしい。

M-x load-file RET ~/.emacs

実際にやってみたんだけど、なぜか

w32-add-font: Already registerd BDF M+ font.

というメッセージが出て、再読み込みされない。.emacsに書いた「M+ FONT」の設定をコメントアウトすると読み込まれるみたい。うーん、困った。M+ FONTの設定を有効にしたまま再読み込みしたいんだけどな…


参考(というより、そのままパクリました)

.emacs を再読み込みする方法 - gan2 の Ruby 勉強日記


追記(2007年8月30日(木))

M+フォントの設定を書いたまま「M-x eval-current-buffer」などでバッファ全体を再読み込み(Lisp式の再評価)しようとすると以下のメッセージが出て、再読み込みができなかった問題の暫定的な解決策が見つかったのでメモしておく。

w32-add-font: Already registerd BDF M+ font.

再読み込みしたいリージョンを選択して、以下のコマンドを入力する。

M-x eval-region

すると、その部分のみ再読み込みされて、M+フォントの設定は再読み込みされないから問題が回避できる。ただ、いちいちリージョンを選択しなくちゃいけないのはめんどくさいので、状況によっては再起動したほうが早いかもしれない…。


また、再読み込みしたいのがたった1行だったら、最も早い再読み込みの方法は、C-x C-e だと思う。以下、C-x C-e の説明の引用。

C-x C-e でモードによらずにポイントの直前の Lisp 式が評価されてエコーエリアに評価結果が表示される。

つまり、C-x C-e を実行するときは、カーソルを実行したい行の行末、または次の行の行頭に置いてから実行すればOK。


参考

GNU Emacs FAQ 日本語訳: Common requests:「5.29 Emacs Lisp のコードを実行(評価)する方法は?」を参照した


[][][]ReFeをMeadowから使えるようにする

ReFeとは、配布元によると、

クラス名とメソッド名から Rubyリファレンスマニュアルのエントリを引く、コマンドライン用のツールです。読みは「りふぇ」。 ri をパクって日本語・RD に対応させたものです。

らしい。riと併用すると便利なのかも。設定方法などは「no title」のページに詳しく載っている。RDって何だろう?(参考:RD事始め


MeadowでReFeを使ったら文字化けしたので、refe.elを見てみると、エンコーディング方式がeuc-japanとなってた…

  (let ((coding-system-for-read 'euc-japan))

自分の.emacsの設定は(set-default-coding-systems 'sjis)となっていたので、refe.elの方もこれに合わせて次のように直すと文字化け解消。

  (let ((coding-system-for-read 'sjis))

参考

no title

ReFe


[][][]Ri for (X)Emacsを使ってみる

Rubyist Magazine - Emacs 上の調べ物は langhelp で!」で「Ri for (X)Emacs」というEmacsMeadow)上でriが実行できるパッケージが紹介されていたので、ReFeの導入ついでにこちらも入れてみる。


1.まずはダウンロード

no title


2.適当なディレクトリ解凍、展開する

$ gunzip -dc ri-emacs-0.2.3.tar.gz | tar xf -
これでri-emacs.rbとri-ruby.elが作成される。

3.ri-emacs.rbとri-ruby.elをロードパスの通ったディレクトリに入れる

例えば、「/cygdrive/c/meadow/site-lisp/」など。


4..emacsにRi for (X)Emacsの設定を追加

ri-ruby.elを読むと、頭のほうにインストール方法が書いてあるので、それに従ってインストール。具体的には、以下の設定を.emacsに追加するだけ。(ri-emacs.rbとri-ruby.elのパス名は自分の環境で読み替える)

;;; ri-emacsを使う
(setq ri-ruby-script "/cygdrive/c/meadow/site-lisp/ri-emacs.rb")
(autoload 'ri "/cygdrive/c/meadow/site-lisp/ri-ruby.el" nil t)
(add-hook 'ruby-mode-hook (lambda ()
                              (local-set-key 'f1 'ri)
                              (local-set-key "\M-\C-i" 'ri-ruby-complete-symbol)
                              (local-set-key 'f4 'ri-ruby-show-args)
                              ))

setqとautoloadのパス名はフルパスで指定しなければいけないみたいなので注意。


5.実行

Meadow上で

M-x ri

とすれば実行できる。


うん、これは便利。


TODO

Rubyist Magazine - Emacs 上の調べ物は langhelp で!で紹介されているツールを試す。

2007-07-17

[][]MeadowでM+フォントを使う

あちらこちらでM+フォントという小さめのフォントが見やすいと評判なので、Meadowで使ってみる。

以下のサイトからM+フォントbdfファイル)がダウンロードできる。.emacsの設定方法も同ページに載っているので簡単に導入することが出来る。

M+ FONTS

(参考:Meadow 2


また、MeadowでM-x list-faces-displayとすれば、フェイスのリストが見られて、フォントの見た目の確認がし易い。(参考:フェイスとは?Meadow/Emacs memo: 基本的な設定


使ってみた感想としては、自分にはちょっと小さすぎるかも知れない。慣れの問題もあるかな。まあ、しばらく使い続けてみようと思う。

2007-07-15

[][] CygwinpLaTeXとtgifを使ってみる

pLaTeXインストール

pLaTeXなどは次のページを参考にしてインストールした。(意外とめんどくさかった)

404 Not Found


tgifのインストール

Tex親和性が高いtgifというドローツールもインストールした。(コンパイルがめんどくさそうだったので、以下のページからバイナリ版のtgifが圧縮されたtgif.tgzをダウンロードして使わせてもらった)

Cygwin + X + 日本語アプリケーション


tgifとpLaTeXの連携

これらのツールの使い方はこんな感じ(だと思う)。

  1. tgifで作図して、eps形式のファイルを出力(File -> print)。ただし、一度eps形式にしてしまったらtgifで編集できなくなるので注意。編集用にobj形式のファイルも保存しておけば良い。
  2. テキストエディタtexファイルを作り、作っておいたepsファイルを埋め込む。(参考:no title
  3. platextexファイルをコンパイルして、dviファイルを出力
  4. dvioutなどのdviファイルが閲覧できるソフトで内容を確認する
  5. dviファイルをpdfファイルに変換したい。dvi ファイルから pdf ファイルを作る方法によると、次のようにすれば簡単に出来る。以下引用。

dviout の Ver.3.15.1 以降では、印刷ダイアログに移って(すなわち File --> Print を選択して) dviprt のチェックをして[Ok]を押せば、 dvipdfm(x) が起動して dvi ファイルと同じフォルダに pdf ファイルが作られる。


ちなみに、tgifで出力したeps形式のファイルは、GSviewの「Edit -> Convert to vector format...」でpdfを選べばpdfに変換できる。また、次のようにpstoeditを使えばコマンドラインからも変換できる。

$ pstoedit -f pdf input.eps output.pdf

TODO

  • pLaTeXの使い方を勉強する。
  • tgif2texを使って画像にtexの綺麗な数式を埋め込む方法を実践する。(参考:tgif2texを使った図の作成例
  • pstoeditについて詳しく調べる。(epsからemfの変換がなぜか出来なかった。psからobjへの変換とか出来ないだろうか?)
  • dvi -> pdfの変換に、dvioutだけじゃなく、コマンドライン上のdvipdfm/dvipdfmxも使えるようにしておく。

追記(LaTeXの処理の流れ)

もっと基本的(古典的?)な処理の流れがあった。(参考:LaTeXの処理の流れ

LaTeXソース(.tex)

  | DVIファイルへの変換

  ↓ platex filename.tex

DVIファイル(.dvi)  

  | Postscpriptファイルへの変換

  ↓ dvipsk filename.dvi (dvipsというコマンドもあるが、日本語に対応していない)

PSファイル(.ps) ---- gv(ゴーストビュー)→ プレビュー

  | PDFファイルへの変換

  ↓ ps2pdf filename.ps

PDFファイル(.pdf) ---- acorread, gv, xpdf → プレビュー


.dvi → .pdfもある:dvipdfmx filename(参考:エラー - Yahoo!ジオシティーズ

2007-07-14

[][][]MeadowがXHTMLモードになる条件

入門GNU Emacs第3版 [ デブラ・カメロン ]のp204の解説によると、EmacsMeadow)がXHTMLモードに移行する条件は「XHTMLの文書型宣言を含む」ことらしい。以下引用。

Emacsでは、XHTMLの文書型宣言を含むファイルを読み込むと、自動的にXHTMLモードが有効になります。タグの振る舞いの点以外では、XHTMLモードは、HTMLモードと非常によく似ています。

そういうことで、次のように、素直に「XHTMLの文書型宣言を含む」.htmlファイルを作ってみたが、XHTMLモードにならずにXMLモードとして認識されてしまった。(考えてみれば、当たり前なのかもしれないけど…)

<?xml version="1.0" encoding="Shift-JIS"?>

色々と試行錯誤した結果、最低限html要素も共に必要らしいことが分かり、以下のようにしたら、無事にXHTMLモードになった。

<?xml version="1.0" encoding="Shift-JIS"?>
<html>
</html>

ためしに、C-c ENTERとして

タグを挿入してみると、

<p></p>

となって、ちゃんとXHTMLの記法になっている。


ちなみに、入門GNU Emacs第3版 [ デブラ・カメロン ]のp204の注釈によると、XHTMLモードを明示的に指定して有効にすることは出来ないらしい。以下引用。

本書を執筆している時点では、XHTMLモードを明示的に指定して有効にする方法はありません。XHTML形式だと思われるファイルを読み込むと自動的にXHTMLモードが有効になります。

だけど、何で明示的に指定できないんだろう? M-x xhtml-modeなどとして指定できれば便利なのに。ほとんどhtml-modeと変わりないからかな?


追記(2007年8月11日)

普通に、M-x html-modeとすれば、XHTMLモードになった。

2007-07-01

[][][]Cygwinにvrubyをインストール

VisualuRuby(vruby)をインストールしてみた。

なんで急にインストールしたかというと、これから読む予定の恋するプログラム―Rubyでつくる人工無脳という本の中で使われていて必要だから。

恋するプログラム―Rubyでつくる人工無脳

恋するプログラム―Rubyでつくる人工無脳



参考

no title(vrubyのインストール手順が非常に丁寧に書かれている)

VisualuRuby計画(仮称)(VisualuRubyとは)