RPN2TeX


Translation to English.
2007/1/12更新

RPN2TeX 0.8 をダウンロードする。Download RPN2TeX 0.8 now.
テスト済み環境 Tested environment: Mac OS X 10.4.8, PowerPC G4

もしこのソフトウエアが役に立ちましたら、寄付を頂けると幸いです。
I would appreciate receiving a donation, if this software is useful for you.

更新履歴


目次

  1. 概要
  2. スクリーンショット
  3. 動作確認済み環境
  4. ダウンロード
  5. 種別
  6. マニュアル(別ページ)
  7. 免責
  8. リリースノート
  9. 既知の問題点
  10. バグ報告の方法
  11. RPNについて
  12. TeX形式の式をRPNで入力する理由
  13. 謝辞
  14. 参考文献

1. 概要

RPN2TeXは、TeX形式の数式をRPN(Reverse Polish Notation:逆ポーランド記法)によって入力するためのソフトウエアです。

TeXは数式の記述に定評がある組版ソフトですが、テキストエディタ等を使った数式入力の際には

  1. 入力中の数式のコンパイル結果がリアルタイムに確認できない
  2. 括弧の対応が煩雑になる
といった点で不便です。そこで、本ソフトでは数式の入力方法にRPNを採用することにより
  1. 入力中の数式のリアルタイムプレビュー
  2. 括弧の自動対応
を実現しています(より詳しい説明はTeX形式の数式をRPNで入力する理由を参照してください)。

また、パレットから記号や演算子が入力できるようになっていますので、これらの名前を忘れてもすぐに入力できます。

2. スクリーンショット


メインウインドウ


演算子メニューと演算子パレット

3. 動作確認済み環境

OS: Mac OS X 10.4.8
CPU: Power PC G4

4. ダウンロード

RPN2TeX Ver.0.8(Virex 7.2にてウイルスチェック済み。DATファイル:Jan. 10, 2007)

注:プレビューを表示するには、pdflatexもしくはlatexとdvipsがインストールされている必要があります(pTeX package for MacOSX等からダウンロードできます)。また、コマンドパスの設定が必要な場合があります。

5. 種別

フリーウエア(寄付は歓迎致します)

6. マニュアル

7. 免責

このソフトウェアの使用による、いかなる損害に対しても、作者は責任を負いません。

8. リリースノート

2007/1/12 Ver.0.8

  Ver.0.8での変更点

2004/7/30 Ver.0.7

  Ver.0.7での変更点

2004/4/23 Ver.0.6.1

  Ver.0.6.1での変更点

2004/4/20 Ver.0.6

  Ver.0.6での変更点

2004/4/2 Ver.0.5(ファーストリリース)

9. 既知の問題点

多分まだまだあります。

10. バグ報告等の方法

作者へメールを出すかこちらの掲示板へどうぞ。報告されたバグや不具合は、できるだけ修正するようにしますが、作者にその義務は無いものとします。

11. RPNについて

RPNは、数式の記述の一つで、演算子を後に置くことから後置記法とも呼ばれます。RPNは一般的な中置記法(例: 1 + 2)とは見た目がかなり異なりますが、入力順が日本語に近く、非常に記述性の高い記法(=入力しやすい)です。それを物語っているのが、HP社のRPN入力電卓の根強い愛用者の存在です(HP社の電卓部門はこちら)。

簡単な例を考えてみます。我々は普段は以下のように数式を記述しています。
1 + 2
この式をRPNで書くと次のようになります。
1 2 +
(注:数字の1と2の間には区切りのためのスペースが入っています。"1 2"は数字の12(ジュウニ)ではありません。ちなみに、RPN入力電卓では区切りとしてEnterキーをタイプします)

RPNは初めて見る人にとっては特異な記法に見えるかもしれませんが、次のように考えれば、規則性が見えてくるはずです。

最初の式"1 + 2"を日本語で“表して”みます。まず「1 足す 2」が思い浮かびますが、もう一通りあります。それは「1 に 2 を足す」です。RPNは後者の表し方に近い記法になっています。この関係を対応してみると
日本語: 1 2 足す
RPN: 1 2 +
となります。

この調子で、もう少し複雑な式"(1 + 2) (3 - 4)"について考えてみます。先ほどと同様に日本語との対応を考えると次のようになります。
日本語: 1 2 足した結果と 3 から 4 引いた結果を 掛ける
RPN: 1 2 + 3 4 - *

2つめの例ではRPNに変換すると括弧が消えていることが分かります。すなわち、RPNでは、数値と演算子の順番によって演算の優先順位を表しています。

この特徴は、コンピュータで数式を処理する際にはとても便利です。というのも、括弧による優先順位の変化や乗除算と加減算の優先順位の違いを考慮することなく、左からRPNの数式を読み込んで処理していくだけで、式の表す値を計算できるからです。

こう書くと「RPNはコンピュータ向けの記述ではないか」と思われるかもしれませんが、「括弧が無い」のは人間にとっても有利な面があります。以下の式はHP社の電卓のマニュアルから引用したものですが「数式通り入力」を謳う関数電卓でこの式を入力するには、おそらく最低3対(6個)の括弧を入力する必要があります。

しかし、RPN入力電卓ならば、1対の括弧もタイプすること無くこの式の値を求められます。括弧が無いため、どことどこの括弧が対応するかも意識する必要がありません。キーストローク数も少なくてすみます。
RPN入力電卓を手軽に体験したい方はここが良いと思います。JavaScriptで作られているのでブラウザ上で使えます。

12. TeX形式の式をRPNで入力する理由

RPNで数式を入力することにより得られるメリットには

  1. リアルタイムに変化するプレビュー
  2. 数式の意味による入力
  3. 括弧の入力の省力化
があります。

リアルタイムに変化するプレビュー

RPNによる入力では、ある時点における個々のスタックの内容は、それ自身が一つの数式として完結しています。そのため、リアルタイムに個々のスタックのプレビューが可能です。

RPNTeXでは、Ver.0.6よりリアルタイムプレビュー機能を備えており、スタック内の数式を常に確認しながら入力が行えるようになっています。

数式の意味による入力

RPNでは、数式の意味に近い形での記述が可能です。上に挙げたような「1 2 +(1に2を足す)」などの四則演算はもちろんですが、微分や積分を意味する演算子を追加することにより「xをtで微分」や「xをtで積分」のような意味解釈を持つ記述も可能です。

RPN2TeXでは「xをtで微分」のように使える演算子をいくつか独自に定義しています。例えば

という式は「xをtで2階微分する」という意味があり、RPN2TeXでこの式を入力するには、次のようにタイプします。
x [Enter] t [Enter] 2 [Enter] \diff3 [Enter]
注:\diff3という名前は、3個のスタックの値を引数として利用することに由来します
数式の意味とキー入力の対応は次のようになります。
日本語: x t 2 微分する
入力: x [Enter] t [Enter] 2 [Enter] \diff3 [Enter]

括弧の入力の省力化

TeXでは、分数や指数を表現する際に、\frac{a}{b}やa^{b}という風に括弧を使います。入力支援環境を使っていない場合は、これらの括弧を一つ一つ入力していくことになります。

RPN2TeXでは上のような場合には、全く括弧の対応を考える必要がありません。上の例ならば、"a [Enter] b /"と入力すると\frac{a}{b}が得られ、"a [Enter] b ^"と入力するとa^{b}が得られます。

さらに、RPN2TeXは数式入力中に括弧が必要である場合には、自動的に括弧付けを行う機能も備えており、さらにキーストローク数が削減ができます。
(ただ、時として邪魔な機能にも成り得るので、切ることもできるようにはしてありますが)

13. 謝辞

RPN2TeXを改良するにあたり、瀬戸亮平氏やTeX on Mac OS X Mailing Listの購読者の方々には様々な助言を賜りました。ここに感謝の意を表します。

RPN2TeXをTeX on Mac OS X Mailing Listに紹介していただいたRamón Manuel Figueroa-Centeno氏に感謝します。

14. 参考文献


ソフトウエアへ戻る