Hatena::ブログ(Diary)

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

2007-08-26

[] less => lv 日本語対応のページャを使う

ページャとしてlessを使ってたけど、日本語が表示できないので、Cygwinの日本語化パッケージに置いてあるlvを使うことにした。以下のページからダウンロードできる。


Index of /cygwin_je/release/lv

googleで「site:http://cygwin-je.sourceforge.jp/ inurl:lv」としても検索できる。)


ダウンロードしたら、解凍して、lv.exeをパスの通ったところ(/usr/local/bin/とか)に入れておく。manページもついてくるので、C:\cygwin\usr\share\man\man1とかに入れておく(実は、何でそこに入れればよいかよく理解してないんだけど…)。


また、文字コードsjisとするために、オプションをつけてやる。

alias lv='lv -Os'

試しに使ってみるとこんな感じ。

refe String.to_s | lv

String#to_s
--- to_s
--- to_str

    self を返します。

参考

no title:情報源

2007-08-07

[][] Cygwin上でのシェルスクリプトの改行コード

シェルスクリプトを作って、実行しようとしたところ、なにやら良くわからないエラーが発生(" : Command not found"のようなエラー)。調べたところ、改行コードが問題だったらしい。改行コードをDosの「CR LF」からUnixの「LF」に変えたら正常に実行されるようになった。


Meadowで改行コードを変えるコマンド
C-x RET f sjis-unix

毎回.shファイルを開くたびに設定するのはめんどくさいので、.shファイルはsjis-unixで開くように設定しておいた。.emacsに以下を追加すればOK。

(add-hook 'after-init-hook '(lambda ()
   ; shの改行コードはLFじゃ無ければダメらしい
   (modify-coding-system-alist 'file "\\.sh" 'sjis-unix)
))

参考

Meadow/Emacs memo: Meadow 関連の少し高度な知識(改行コードを変えるコマンド)

Using Cygwin - FAQ(Q.2を参考にした)

2007-07-15

[][] CygwinでpLaTeXと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. platexでtexファイルをコンパイルして、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-01

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

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

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

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

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



参考

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

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

2007-06-28

[][][][]Cygwin上のMeadowRubyを便利に使う

前日の日記で試したVim/RubyでvimのRubyインターフェースが有効にできなかったので(./configure実行途中でメモリ食い尽くして止まる…Cygwinのエラーなのかもしれない)、vimを使うのをあきらめてMeadowを使ってみる。

参考1

Meadowのインストール:

Meadow/Emacs memo: 設定済み Meadow を使ってみよう

404 Not Found


インストールしたら、Cygwin上のbashからMeadowを簡単に起動できるようにMeadow.exeへのパスを通しておく。

~/.bashrc(c:\cygwin\home\{user名}\.bashrc)に以下を追加する。

PATH=/cygdrive/c/meadow/bin:$PATH
export PATH

追記(2007年7月10日)

aspellをMeadow内で使いたいときに

$ LANG=C Meadow.exe

としなければならないのはめんどくさいので、PATHを通すのをやめてシェルスクリプトから起動するようにした。/usr/local/bin/に「meadow」という名前でシェルスクリプトを作る。

meadow

#!/bin/sh
LANG=C
exec /cygdrive/c/meadow/bin/Meadow "$@"

~/.bashrcで通したパス(PATH=/cygdrive/c/meadow/bin:$PATH)は/usr/local/bin/より先に/cygdrive/c/meadow/binのパスを通していて邪魔なので削除しておく。(削除しないとスクリプトからではなく、/cygdrive/c/meadow/bin/以下のmeadowが直接起動されてしまう。)

以上


手順

1.目的のファイルが置いてあるディレクトリに移動する。(例: /usr/src/ruby-1.8.6-1/misc)

「/usr/src/」の中に「ruby-xxx」というディレクトリが見つからなければ、setup.exeでソースをダウンロードする。(CategoryではInterpretersの中に含まれる)


2.関連ファイルをコピー

例:

$ cp inf-ruby.el rubydb2x.el rubydb3x.el ruby-mode.el /cygdrive/c/meadow/lisp/

(各ファイルの簡単な概要は「.../ruby-xxx/misc/README」を参照。拡張子の「.el」は「Emacs Lisp」のファイルであることを表すらしい。)

コピー先として、「/cygdrive/c/meadow/lisp/」の代わりに「/usr/share/emacs/site-lisp/ruby-mode/」を指定したらなぜか認識してくれなかった。(←追記:当たり前だった…。自分の使ってるのはMeadowであってEmacsじゃない。)デフォルトのロードパスに「/usr/share/emacs/site-lisp/ruby-mode/」が入っていなかったからかも知れない(未確認)。


参考2

ロードパスとは?:Meadow/Emacs memo: Meadow 関連の少し高度な知識

Rubyモード(ruby-mode.el)を使う:Meadow/Emacs memo: プログラム関連 ― 各言語用


3.「~/.emacs」に以下の設定を追加する

(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files")
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" .ruby-mode))
                                     interpreter-mode-alist))
(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "set local key defs for inf-ruby in ruby-mode")
(add-hock 'ruby-mode-hook
          '(lambda ()
            (inf-ruby-keys)
          ))

以上で、拡張子が「.rb」のファイルをRubyのファイルと認識してくれるはず。

meadowを立ち上げて、モードラインの真ん中辺りに「(Ruby)」と出たらruby-modeが正常に動作している。

 -S(Unix)--  hello.rb(Ruby)         All L2   (Ruby)------------