嬉しい人がいるかどうか分からないけど、公開してみます。
仕様は大きく変更になる可能性があります。
- texrpnmath-0.4
- 0.3 からの変更点:
- 大幅に改訂。[elisp] texrpmmath-mode (on-the-spot 入力) 実装。
- ギリシャ文字の入力等において、 RPN による LaTeX 数式エディタ を
パクら参考にさせていただきました。
- 0.2 からの変更点:
- texrpnmath.el 追加。それに伴う変更
- 0.1 からの変更点:
- Undo 機能追加 等
- 0.3 からの変更点:
LuaLaTeX を使うと .texファイルに埋め込むことができますが、スクリプト単体でも使用できます。詳しくは README を参照して下さい。
.tex
ファイルに埋め込んだ例 (LuaLaTeX)
Emacs での使用
インストール
texrpnmath.lua
を適切な場所にコピーtexrpnmath.el
を適切な場所にコピー- 以下を
.emacs
に追加 (SOMEWHERE
は適切に変更して下さい)(require 'texrpnmath)
;; or
;; (autoload 'texrpnmath-insert "texrpnmath.el" nil t)
;; (autoload 'texrpnmath-mode "texrpnmath.el" nil t)
(custom-set-variables '(texrpnmath-script "SOMEWHERE/texrpnmath.lua")) - その後
eval
(あるいは Emacs 再起動) し、M-x texrpnmath-mode でマイナーモードへ移行します。 - (参考) AUCTeX で使用する場合の例: 以下を
.emacs
を追加すると C-c m, C-c ~ に texrpnmath-insert, texrpnmath-mode がそれぞれバインドされます。
なお、C-c ~ は AUCTeX では LaTeX-math-mode に割り当てられています。
これをオーバーライドしたくない場合は別のキーを使用するか、 M-x texrpnmath-mode で起動して下さい。
;; AUCTeX
(eval-after-load "latex"
'(progn
(add-hook 'LaTeX-mode-hook
'(lambda ()
(local-set-key "\C-cm" 'texrpnmath-insert)
;; LaTeX-math-mode` をオーバーライド
(local-set-key "\C-c~" 'texrpnmath-mode)))))
使用方法 (マイナーモード)
- M-x texrpnmath-mode で起動
`
(backquote) で入力開始及び終了`[SPC]a[SPC]sin[SPC]`
などのように入力
以下の例では、` x _ s i n _ x _ c o s _ f r a c _ `
(但し _
はスペース) と入力しています。
使用方法 (従来手法)
- M-x texrpnmath-insert で起動
- 以下の画像のように入力
- 最後に
.i
で元バッファーへ反映
スクリプトとしての使用
スクリプトとして実行すると、こんな感じになります。
$ lua texrpnmath.lua
RPN> a sin
1: \sin a
RPN> b cos
1: \sin a
2: \cos b
RPN> frac
1: \frac{\sin a}{\cos b}
RPN> .show .clear .quit
\frac{\sin a}{\cos b}
.u
(または .undo
) で直前の入力 (行単位) を取り消すことができます:
RPN> a sin
1: \sin a
RPN> b sin
1: \sin a
2: \sin b
RPN> frac
1: \frac{\sin a}{\sin b}
RPN> .u
1: \sin a
2: \sin b