テキストベースの証明図をTeX形式へ変換する(2006-07-21)

このページは,Safari, Google Chromeなど,PDFを表示できるブラウザを前提 にしています.

----- Justify の線 (横棒)
===== 2重線
..... 縦の点線
***** 横線なし(証明とその結論を同じに表す)
ふたつ以上の半角スペースで論理式を区切る.

LaTeX数式テキスト または テキストベースの証明図を手入力

証明図の形になっているかどうかを検査する

証明図マクロを生成する


証明図のテキスト−> 証明図マクロ −> platex −> dvipdfmx −> pdf −>svg


数式テキスト −> platex −> dvipdfmx −> pdf −> svg
数式を選ぶ




jpgとsvgの比較

(左にsvg版,右にJPG版)



TeX/LaTeXで証明図を書くのは手間がかかる. L. Paulsonの証明図を書くためのTeXマクロがあるが, 証明図の高さが3段,4段でもすぐまちがえやすい.

使い方,まずテキストベースで証明図を書く.そのとき,結論-前提の「親子」の関係は, 結論の論理式のすぐ上の横線(推論規則の線)にのっているかどうか で決めるようにした.なので,等幅フォントで作業しないと, 論理式が「はみ出し」しているかいないか視認するのが困難である. プログラムは,このテキストベースの証明図を パーズして,証明図の構造を認識する. いったん認識すれば,あとそれをマクロに変換するのは 簡単だ. また,論理式の区切りは,ふたつ以上の半角スペースできめる. ひとつだけのスペースは,部分論理式の区切りとした.

少しでも大きな証明図になると,証明図が正しく書かれているかどうか 確認するのもひと仕事だ.たとえば,結論式が二つ以上あっては いけないし,また,孤立している論理式があってはいけない. などなど.そこで,ちゃんと証明図になっているかどうか 確かめるためにの検査の機能もつけた.

全角の標準数学記号を使って,それを対応するTeXのコントロールシーケンス に変換する機能も組み込んである.TeXのコントロールシーケンスは一般に長いので, そのままでは証明図の横幅が容易に長くなり,横線を書くためのキーボードタイピングが忙しくなる.それを抑えるためである.