tohtml 使用方法



【機能概要】
 テンプレートファイルを元にして、テキストファイルを HTML文書に変換します。

【実行形式】
  tohtml [-achp] [tempfile] textfiles

【パラメータ】
    -ahp:
      a  添字変換をします。(この仕様については、変換制御文を参照して下さい。)

      c  段落において、'。'の後に改行コードを付加しないようにします。 

      h  テキストファイルはhtml文書であることを指定します。
         つまり、<,>,",&の文字を変換しません。

      p  テキストファイルは段落として整形済みファイルであることを指定します。
         これは、行の先頭がスペースならば、段落が異なるものとみなして、直前
         の行の終わりに改行コード(<BR>)を付加するものです。
         これを指定しない場合には、各行の終わりに改行コードを付加します。

    tempfile  テンプレートファイル
         HTML変換制御文および HTML文書の"型枠"を記述したファイルを指定します。
         これを省略した場合には、単純な変換のみが行われます。

  textfiles テキストファイル
     HTML文書の"型枠"に埋めこむテキストが記述されているファイルを指定します。
     もちろん、これにはHTML文書も指定することができます。
     ただし、それは変換制御文で、下記の指定をしている必要があります。
      #ITISHTML:
     この場合には、テンプレートファイルの"型枠"は意味をもたなくなります。
【補足説明】
 テンプレートファイルの構造は、次のようになります。

テキストファイルの内容は、HTML文書内容の"<TEXT_IN>"に埋めこまれます。
ただし出力は標準出力です。つまり通常は画面に表示されます。 もしファイルに出力する場合には、標準出力をリダイレクトして下さい。 つまり次のように指定して下さい。
   tohtml ... > 出力ファイル

基本的変換機能として、次のものがあります。
・HTMLの特殊文字 <,>,",& はそれぞれHTMLで定義された文字列に変換されます。
・入力テキストの各行は文毎に改行されます。そして行の最後の文には "<BR>" が 付加されます。
・行の終わりにあるスペースは削除されます。

テンプレートファイルで、"<HTML>"または "<html>"の行の前に書かれた文は変換制御文とみなされます。 以下では、これについて説明します。
(注.変換制御文IDの与え方によって、論理的整合性がとれない場合があります。)


【変換制御文】

(1)コメント行
形式:

(2)HTML指示
形式:

テキストファイルがHTML文書であることを指示します。
このため、テンプレートファイル中の "<TEXT_IN>"に対するものだけが出力されます。
また、HTMLの特殊文字 <,>,",&の変換は抑止されます。 さらに、行の終わりにも "<BR>"を付加しませんし、'。'による改行もしません。
なお、注意しなければならないのは、これが行の先頭から書かれている必要があることです。 これは他の制御文でも同じです。

(3)[コメント範囲指定]
形式:

テキストファイルで、idと一致する箇所から、"/id"が現れるまでを無視します。

(4)[コメント行指定]
形式:

テキストファイルの行の先頭の文字列がidと一致する行は無視されます。

(5)[テキスト区切り指定]
形式:

テキストファイルはidによって分割されます。 ただしこれは行の先頭に書いてある必要があります。
これを指定すればテキストファイルは分割可能となるので、"<TEXT_IN>"は複数書くことができます。 (このn番目のものには、n番目のテキストが埋めこまれます。)
ただし、"<TEXT_IN>"は1行中に一つだけしか書くことができません。

(6)[文字列の変換指定]
形式:

テキストファイルのstr1str2に変換します。
str2を省略した場合、str1を削除するということになります。

(7)[添字変換指定]
形式:

この行が記述された場合、`添字文字列[`] を下添字に、^添字文字列[^] を上添字に変換します。 どちらの場合も、途中に半角のスペースがある場合、添字文字列はその直前までとなります。 (なお、'`'は普通は使用しないと思われるので、これを使用しました。 '`'はブラウザではただの点でしか表示されませんが、これはキーボードの 'P'の右隣にある文字です。 ついでながら、UNIXのシェルでは、"`…`"というのは特別な意味を持ちます。)
添字文字列の中の0〜9,A〜Z,a〜zや半角としてある特殊文字(ただし全部ではありません)の全角文字は半角文字に変換されます。
ただし、'\`'または '\^'と書いた場合には、それぞれ '`','^'と置き換えるだけで添字変換は行いません。

(8)[大文字変換指定]
形式:

strで指定した各文字を大文字(大きな書体)に変換します。

(9)[小文字変換指定]
形式:

strで指定した各文字を小文字(小さな書体)に変換します。

(10)[タイトル変換指定]
形式:

テキストファイルの第一行目を、tagの中に埋めこみます。 これは、tagの中の'?'が第一行目の内容に置き変わるものです。 ただし'?'が書かれていない場合、tagの最後に付加されます。
しかし、"#ITISHTML"という指定されている場合にはこの変換は行われません。

(11)[イメージ表示変換指定]
形式:

テキストファイルでのイメージ変換指定は次のようにします。
  (id url[|text])
ここで、'(', ')'は半角または全角(これは以下同様)、'|'は半角です(これも以下同様)。
イメージ画像は、urlで指定します。
tagを省略した場合、次のように変換されます。
 <IMG SRC="url">
tagを指定した場合には、この中の '?' をurlで置き換えて行います。
textは、イメージ画像の代わりに表示する文字列を記述します。
ただし、これには半角のスペースを書くことはできません。 というのは、それがあるとそこで切れてしまうことがあるからです。 しかし切れない場合もあります。(この仕様はどうなっているのだろう?)

ただしidは、それぞれの文字列の長さ分までしか認識されません。 したがって、例えば "IMAGEID1"と "IMAGEID11"があるとすると、後者は "IMAGEID1"と認識されます。 このようなことを避ける為には、idには終端文字として、例えば ':'や '='等を指定する方が良いでしょう。

(12)[タグ変換指定]
形式:

テキストファイルでのタグ変換指定は次のようにします。
 (id parameter1[|parameter2]...)
tagの中で置換する箇所には、$n(nは1から9)を指定します。 例えば、
 #TAG:LINK=,<A HREF="$1">$2</A>
とした場合、テキストファイル中では、次のように指定します。
 (LINK=a.html|リンクA)

タグ変換のパラメータの中には、さらにタグ変換指定を書くことができます。

(13)[索引出力指定]
形式:

内部索引を作成する為に、最後に内部リンクをまとめて出力します。 つまり、文書内のユニークな語に対して、索引を作成する為のものです。

テキストファイルでの指定は次のようにします。
 (id

これは、次のように変換されます。
 <A NAME=""></A>
そして、tagを省略した場合、文書の最後の方に次のものを出力します。
 <A HREF=#></A>
tagを指定した場合には、この中の'?'をで置き換えて出力します。

(14)[内部リンク変換指定]
形式:

テキストファイルでの内部リンク指定は次のようにします。
 (id name|text)
文書内リンクの参照名であるnameは、次の文字からなるものです。
 0-9 a-z A-Z * - . 0-9 a-z A-Z − .
ここで、例えば "a-z" は a から z までの文字を意味します。 ただし全角で書いた場合には、半角に変換されます。
なお、参照名はテキストファイル内でユニークである必要があります。
text、このリンクに対する表示テキストなどを指定します。

内部リンク先の指定は次のようにします。
 id name:

(15)[内部相互リンク変換指定]
形式:

テキストファイルでの内部相互リンク指定は次のように記述します。
 [(]headid name[)]
nameは文書内リンクの参照名で、これは次の文字からなるものです。
 0-9 a-z A-Z * - . 0-9 a-z A-Z − .
全角で書いた場合には、半角に変換されます。
ただしheadidはテキストファイル内でユニークである必要があります。 またnameは、文書内でユニークな参照名である必要があります。
このリンクに対する表示は、text1となります。 ただしtext1にはnameに置き換えるための '?'が記述されている必要があります。

リンク先の方の指定は次のように記述します。
 headid name:
これは次のように表示されます。
 text2 name 戻る
戻るはリンク元にもどるリンクです。
これは "<A HREF="#xxx">戻る</A><P>"となっています。 これは最後の方に移動して下さい。 もしこのデフォルトを変更する場合には、tagで指定して下さい。
リンク識別子が "1"の場合には、この直前の行にtitleを出力します。

(16)[リスト変換指定]
形式:

idと一致する行がある場合、次の "/id"が書かれている行まで、リスト変換されます。
もしol_tagを指定した場合には、リスト開始のタグはこれに置き換わります。
各行は各リストデータとなります。

(17)[用語リスト変換指定]
形式:

idと一致する行がある場合、次の "/id"が書かれている行まで、用語リスト表示に変換されます。
各対の行が各用語と説明になります。

(18)[テーブル変換指定]
形式:

表形式は次のものに限定されます。
表タイトル
見出し1・・・見出しn
データ1・・・データn
・・・・・・・・・

idと一致する行がある場合、次の "/id"が書かれている行までを表タイトル およびテーブルデータとして、表に変換します。
この場合、表タイトル行以降の各行がそれぞれのセルデータとなります。
col_numはテーブルの項目数(列数)を指定します。ただしこの最大数は30となっています。
table_tagには、"<TABLE>"タグを記述します。
tr_tagには、行の属性を指定するタグを記述します。これを省略した場合には "<TR>"となります。

セルデータは一行目を見出し用、二行目以降をデータ用とみなしています。
このため、セルデータを修飾するタグを指定する場合には、hd_tagおよびdt_tagを指定します。 この場合、セルデータを埋めこむ場所には、'?'を書きます。
それらは項目数だけ指定する必要がありますが、以降が直前のタグと同じなら、"..."で省略できます。
もしセルデータのタグを指定しない場合には、それぞれ"<TH>"、"<TD>"となります。

(19)[シリーズ変換指定]
形式:

先頭文字列がidと一致する行は、シリーズ変換されます。
このシリーズ変換というのは、ある文字列を連続的に変換して行を生成することです。
ただしこの行には次のものを指定する必要があります。
  $SER(...) 括弧内よりシリーズ行として連続的に展開します。
            括弧内の記述は次のようにします。
             aまたは[a-b]の並び
            ここで、abは英数字1文字です。
            ただし、a-bは文字種として対応していること、baより大きい必要があります。

            行内に複数これを指定した場合、それぞれ変換されますが、連続的変換はその
            中で最初に展開が終端に達した場合または 10000回で打ち切られます。
            
            例1.#SER ...$SER(data[A-B]/[01-20])
                 これは、dataA/01,dataA/02,…,dataA/20,dataB/01,dataB/02,…
                  dataB/20というように連続的に変換されて行が生成されます。
            例2.#SER <A HREF="http://www.abc.or.jp/~name/image/
                  $SER([1-10]).jpg"><IMG SRC="http://www.abc.or.jp/
                  ~name/thum/$SER([1-10]).jpg">$SER([1-10])</A>
                 注.上記は長くなってしまうので、途中で折り返しています。
なおこの行には上記の項の変換処理は行われません。

(20)[行変換指定]
形式:

先頭文字列がidと一致する行は、textにしたがって変換されます。
ただしその行のidの直後に続く数字列は、レベル番号とみなします。 この番号を指定しない場合には、直前の行変換対象行に設定されたレベル番号となります。

textには、次のものを指定することができます。
 $LVL    レベル番号(ただし同一idに対する行変換対象行間において)
 $SEQ    行変換対象行での同一レベル内の行通番
 $n[:h] 
       行内のn番目の文字列.":h"を指定した場合、半角指定可能なものは半角に
      変換します。
      文字列はスペースや '.’, ',', ':', ';', '\', '/', '=', '"', ''', 
            '<', '>',  '(', ')', '{', '}', '[', ']' (これらの全角のものも)
            で区切られます。
            文字列を数える場合、先頭の区切り文字は除外します。
            また区切り文字が連続している場合、それは一つの区切りとみなします。
            例えば <A HREF="abc.html"> の場合、"abc"は3番目の文字列になります。
この行にも上記の項の変換処理は行われません。

(21)[複数行の行変換指定]
形式:

先頭文字列がidと一致する行は、次の行から、 "/id"が書かれている行までをtextにしたがって変換します。

selectを指定した場合、それと一致する行のみを対象とします。 これには、ワイルドカードとして'*'と'?'を指定することができます。前者は任意の文字列、後者は任意の1文字とマッチします。 ただし、'\c'は'c'となります。
例えば、"*abc*"は "abc"を含む行が対象となります。
ただし、先頭に '!'を指定した場合には、それと一致しない行が対象になります。

(22)[数式行の変換指定]
形式:

数式変換指定文字列をidとします。

先頭文字列がidと一致する行の次の行から "/id"が書かれている直前の行までが数式変換されます。

次に実際の数式変換指定ですが、これは次の形式となります。

idは数式変換指定文字列です。

·:INDENT を付加した場合、数式をインデントを付けて表示します。

·:EXPNUMFMT[:n] を付加した場合、数式を数式番号付きの書式で表示します。 これは、次のような表示となります。
y=ax2+bx+c
()
 「( )」の中には、数式番号を入れます。
 nは、数式行のサイズ(WIDTH)を%(ただし50%以上100%以下)で指定します。 これを省略した場合には、100%となります。

·:EXPNUMFMT2[:n] を付加した場合、数式を数式番号付きの書式で表示しますが、こちらは数式番号を前につけるフォーマットになります。

·:ASCII_ONLY を付加した場合、全角文字を使用しないようにします。(英語圏向け)
また、下記の全角文字及びギリシャ文字は該当のシンボル文字に変換されます。


因みにシンボル文字では、ΠはPに、ΡはRに、ΞはXに、ΧはCに対応します。

·:TO_WIDE_CHAR を付加した場合、半角の「A〜Z,a〜z」を全角文字に変換します。

·:SET_TABLE_FRAME を付加した場合、数式を表示しているテーブルタグのテーブル枠を表示します。 これは数式修正の参考用に用います。
例えば、DIV(x+y|2)についてこの相異を以下に示します。


数式変換の仕様は、下記のようになっています。

·\|, \n, \c, <, >
それぞれ、|, <BR>, c(1文字), <, >に変換されます。
ただし、"<BR>"はタグとなり、'<', '>'は単なる文字となります。
"\|"は、数式変換関数(DIV等)の中で '|'をパラメータの区切りとしない場合に使用します。 数式変換関数外の場合には、'\'を付けてもつけなくても同じになります。

·等号、加減算演算子: =,+,-, ','
全角文字に変換されます。 この変換をしないようにするためには、文字の前に'\'を付けて下さい。

·∞,∂,→
シンボル文字に変換されます。

·ギリシャ文字
∂を除く小文字のギリシャ文字は、このフォントサイズを小さくします。

なお、ギリシャ文字は次のセットになります。

    ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
    αβγδεζηθικλμνξοπρστυφχψω

·エイチバー変換: h~
エイチバー(プランクの定数hを2πで割ったもの)に似せた文字 h に変換します。

·[c]
文字cを太字に変換します。
これは、次のように変換されます。
    c

"[ ]"の中が一つの文字でない場合、通常のカギ括弧と認識されます。

例えば、"[[A]]+[[]B[]]+[AB]+[A][B]+[C]"は

    [A]+[B]+[AB]+AB+

となります。

·/c/
文字cを斜体に変換します。
これは、次のように変換されます。
    c

"/ /"の中が一つの文字でない場合、通常の'/'と認識されます。

例えば、"1//A//2+A/3+\/A/4+/B/+cos/θ/"は

    1/A/2+A/3+/A/4++cosq

となります。

·(+),(*)
それぞれ、Å, Äに変換されます。

·FUN(…),IMAG(…),REAL(…)
それぞれ、¦(…), Á(…), Â(…)に変換されます。
なお、Áは複素数の虚数部(Imaginary Part)を意味し、Âは実数部(Real Part)を意味します。

·CENTER(exp)
式を中央に配置します。これは、先頭にしか記述できません。

例:CENTER(y=ax+b)は次のようになります。

y=ax+b

·DIV(exp1|exp2)

分数形式への変換を行ないます。

例1:DIV(-a+b|x`1^2 +x`2^2) は次のようになります。

    -a+b
    ───────
    x12+x22

    なお、数式内にはタグを記述できません。

    このため、上の添字は '^'の後に記述して下さい。
    この終了は「 ^, `, ',', ),半角スペースコード」になります。ただし、')'は他の閉じ括弧のもの。

    また、下の添字は、'`'の後に記述して下さい。
    この終了は「 `, ^, ',', ),半角スペースコード」になります。 ただし、')'は他の閉じ括弧のもの。


例2:y+DIV(-a+b|DIV(1|x^2 +2y+10))は次のようになります。
    y+


    -a+b
    ────────
    1
    ────────
    x2+2y+10

·ROOT1〜4(exp1)

ルート形式への変換を行ないます。

ROOT1〜ROOT4の相異はルート記号の大きさで、大凡の目安としては、ROOT1は1行用、ROOT2は大きめ目の1行用、ROOT3は1.5行用、ROOT4は2行用となります。

なお、ルートの場合、分数形式を含まない式か、最初の分数形式の分母または分子にのみ対応しています。 もし分数形式の入れ子の中に記述した場合、正しく表示できません。

例1:ROOT1(a+b)は次のようになります。

    Ö ______
    a+b

例2:ROOT2(x^2 +y^2)は次のようになります。

    Ö _______
    x2+y2

例3:ROOT3(SIG(n|1+nx)は次のようになります。

    Ö ____________
    Σ
    n
    1+nx

例4:ROOT4(DIV(1|1 - v^2 /c^2))は次のようになります。

    Ö ________________
    1
    ─────────
    1 - v2 /c2

·BIG[2](str[|exp1[|exp2]])

大文字に変換します。strは文字列を指定します。
BIG2を指定した場合、より大きな文字に変換されます。

例1:BIG([)sin xBIG(]|0|π)は次のようになります。

    [ sin x ] p

    0

例2:BIG(()DIV(∂|∂x^i),…,DIV(∂|∂x^j)BIG())は次のようになります。

    (
    ───
    xi
    ,…,
    ───
    xj
    )

    なお、「∂」は小文字のシンボルフォントに置き換わります。

例3:BIG2([)DIV(∂u|∂x)BIG2(]|x=a\ny=b)は次のようになります。

    [ u
    ──
    x
    ]

    x=a
    y=b

·BAR(exp1)

上に横線を付けます。

例1:BAR(x)+BAR(y)は次のようになります。

    _
    x
     
    + _

     

·DOT1〜2(c)

文字cの上にドット(点)を付けます。
DOT1の方は上に1つの点を付けるのに対して、DOT2の方は2つの点を付けます。

なお、物理や数学では、変数の上につけた1つのドットは時間tについての1回微分を意味し、また2つのドットは時間tについての2回微分を意味します。

例1:DOT1(p)+DOT1(P)は次のようになります。


    p

    +


例2:DOT2(q)+DOT2(Q)は次のようになります。

    ・・
    q

    +


·LIM(exp1)

lim形式に変換します。

例1:LIM(x→∞) DIV(1|x)は次のようになります。

     
    lim
    x®¥
    1
    ──

·CASE(exp1[:cond1]|exp2[:cond2][|exp3[:cond3]])

二つまたは三つの場合分け形式に変換します。
各条件式condは、':'の後に記述します。
ただし、expcondには数式変換関数を記述できません。

例1:y =CASE(x:(x>0)|1/x:(x<0))は次のようになります。

    y = { x

    1/x
    (x>0)

    (x<0)

例2:y =CASE(x:(x>0)|1/x:(x<0)|10:(x=0))は次のようになります。

    y = { x
    1/x
    10
    (x>0)
    (x<0)
    (x=0)

·SIG([exp1[|exp2]|]exp3)

Σ形式への変換を行います。
exp1を省略した場合Σの上の式の省略となり、exp2を省略した場合Σの下の式の省略となります。
ただし、exp1exp2には数式変換関数を記述できません。

例1: SIG(n=1|10|sin(nx))は次のようになります。

    10
    Σ
    n=1
    sin(nx)

·PRD([exp1[|exp2]|]exp3)

Π形式への変換を行います。
exp1を省略した場合Πの上の式の省略となり、exp2を省略した場合Πの下の式の省略となります。
ただし、exp1exp2には数式変換関数を記述できません。

例1: PRD(n=1|10|(1+n))は次のようになります。

    10
    Π
    n=1
    (1+n)

·DIF1〜2([exp1]exp2), PDIF1〜2([exp1]exp2)

微分形式への変換を行ないます。
ただし、exp1exp2には数式変換関数を記述できません。

DIF1,DIF2とPDIF1,PDIF2の相異は微分の文字の違いで、前者は「d」(変数が複数ある場合、全微分の意味)、後者は「∂」(偏微分記号)となります。

DIF1,PDIF1とDIF2,PDIF2の相異は微分回数の違いで、前者は1回微分、後者は2回微分となります。

exp1は微分対象の式で、exp2は微分変数の文字を指定します。
ただし、exp1はDIV等の数式変換関数を使用することはできません。

例1:DIF1(y|x)は次のようになります。

    dy
    ──
    dx

例2:DIF1(x)f(x)は次のようになります。

    d
    ──
    dx
    f(x)

例3:PDIF1(x`1)f(x`1,x`2,x`3)は次のようになります。


    ───
    x1
    f(x1,x2,x3)

例4:PDIF1(f(x`1,x`2,…,x`n )|x`i)は次のようになります。

    f(x1,x2,…,xn)
    ─────────────
    xi

例5:PDIF2(f(x,y,z)|x)は次のようになります。

    2f(x,y,z)
    ────────
    x2

例6:PDIF2(f(x,y,z)|xy)は次のようになります。

    2f(x,y,z)
    ────────
    xy

    偏微分の変数(分子の方)が2つ以上になる場合、分子の方は最初の文字とそれ以降の文字とに分けて偏微分記号を付けます。

例7:PDIF1((y`1,y`2,…,y`n)|(x`1,x`2,…,x`n))は次のようになります。

    (y1,y2,…,yn)
    ────────────
    (x1,x2,…,xn)

    これはヤコービアン(記号Jで表わされます)と呼ばれるもので、偏微分で変数変換を行なう場合に使用されます。 (これは変数が一つの場合の変数置換の微分をn変数に一般化したものに相当します。)

    例えば、u,v,wがx,y,zの関数で、x,y,zがξ,η,ζの関数の場合、u,v,wのξによる偏微分は次のようになります。

      (u,v,w)
      ──────
      ¶x
      (u,v,w)
      ──────
      (x,y,z)
      × (x,y,z)
      ──────
      ¶x

·INT0〜3([exp1[|exp2]]|exp3)

積分形式への変換を行ないます。
ただし、exp1exp2には数式変換関数を記述できません。

INT0〜INT3までの相異は積分の文字の違いで、INT0は「刀v(閉径路上の積分)、INT1は「秩v、INT2は「仲秩v(重積分)、INT3は「仲仲秩v(三重積分)となります。

exp1を省略した場合積分区間の終了の式の省略となり、exp2を省略した場合積分区間の開始の式の省略となります。

例1:INT1(0|π|sin(x)dx)は次のようになります。

    ò p

    0
    sin(x)dx

    なお、πは小文字のシンボルフォントになります。

例2:INT2(sin(x)cos(y)dxdy)は次のようになります。

    ò ò sin(x)cos(y)dxdy

例3:INT3(f(x,y,z)dxdydz)は次のようになります。

    ò ò ò f(x,y,z)dxdydz

例4:INT0(c|f(s)ds)は次のようになります。



    c
    f(s)ds

·MAT(m,n|EXP1|EXP2|…|EXPk)

行列形式への変換を行ないます。

上記で、mは行数、nは列数、EXP1,EXP2,…,EXPkは行列の各要素(行1列1,行1列2,…,行m列n)で、これはm×n個を指定する必要があります。

例1:MAT(2,2|1|2|3|4)は次のようになります。

    ( 1 2 )
    3 4

例2:MAT(3,3|1|2|3|4|5|6|7|8|9)は次のようになります。

    æ
    ç
    è
    1 2 3 ö
    ÷
    ø
    4 5 6
    7 8 9

例3:MAT(2,2|ROOT1(1)|DIV(1|2)|1|ROOT1(2))は次のようになります。

    æ
    ç
    ç
    ç
    è
    Ö __
    1

    1

    2
    ö
    ÷
    ÷
    ÷
    ø
    1
    Ö __
    2

·DET(m,n|EXP1|EXP2|…|EXPk)

行列式形式への変換を行ないます。

上記で、mは行数、nは列数(本来はm=n)、EXP1,EXP2,…,EXPkは行列の各要素で、これはm×n個を指定する必要があります。

例1:DET(3,3|1|2|3|4|5|6|7|8|9)は次のようになります。

    |
    |
    |
    1 2 3 |
    |
    |
    4 5 6
    7 8 9

·TBL(m,n|EXP1|EXP2|…|EXPk)

表形式への変換を行ないます。

上記で、mは行数、nは列数、EXPは行列の各要素で、これはm×n個を指定する必要があります。
また、各要素で、"[EXP]"としたものは、ヘッダーとして表示します。つまり、太字で表示します。

例:TBL(5,3|[A]|[B]|[A怩a]|0|0|0|0|1|1|1|0|1|1|1|1)は次のようになります。

    A怩a
    0 0 0
    0 1 1
    1 0 1
    1 1 1

·EXP1=EXP2
   =EXP3
   ………
   =EXPk

イコールで結ばれた式の位置を合わせるように変換します。

例:y=INT1(0|π/2|sin(x)dx)
   =-(0-1)=1

  は次のようになります。

    y
    ò p/2

    0
    sin(x)dx
    =-(0-1)=1

注意事項:
1.Symbolフォントがインストールされていない場合には、文字化けを起します。

 なお、主なシンボルフォントのコードは以下となります。

    &#229;… å &#213;… Õ
    &#242;… ò &#182;…
    &#214;… Ö &#190;… ¾

    a:a i:i r:r
    b:b k:k s:s
    g:g l:l t:t
    d:d m:m u:u
    e:e n:n j:j
    z:z x:x c:c
    h:h o:o y:y
    q:q p:p w:w

2.ルートの上の線や割り算の横の線の長さが正しくない場合がありますので、その場合には線の文字数を調整して下さい。

3.上下の位置を調整するために挿入している改行(<BR>)の箇所や数が正しくない場合がありますので、その場合には挿入場所や改行数を調整して下さい。

4.テーブルのセル内の文字数が多い場合、途中で改行する場合があります。この場合には、該当セルの<TD>内に、"NOWRAP"を入れて下さい。

5.構造が複雑な式には対応できません。

6.ブラウザがFONTタグに対応していない場合、SPANタグで置き換える必要があります。


【ファイル例】
ホームページへ