|
6.3 評価のフォーマット
6.3 評価のフォーマット msp:evaluateタグの出力はWebのリクエストの一部として返されるページに挿入されます.このセクションではさまざまなタイプの出力のフォーマット方法について説明します.この問題はwebMathematica のページにMathematica コマンドを置く問題と関連があります.「付録」の「MSPTaglibの参照」の「<msp:evaluate>.」により詳しい説明があります. 自動フォーマット タグが計算した文字列ではない結果はすべて,必要なHTMLの拡張文字を伴った文字列にフォーマットされます.以下の例をご覧ください.
<msp:evaluate> Range[5] </msp:evaluate>
この種のフォーマットはフォーマットタイプがOutputFormのMSPFormatに等しいものです.MSPFormatに関する詳細は「Mathematica 関数のリファレンス」をご覧ください. MSPフォーマット MSPFormatを用いるとさまざまなスタイルに出力をフォーマットすることができます.以下の例ではMSPFormatでTraditionalFormをフォーマットタイプに使っています.
<msp:evaluate> MSPFormat[ Sqrt[ Sin[x]], TraditionalForm] </msp:evaluate>
出力はHTML形式,MathML形式,あるいは画像形式にフォーマットして生成することができます.画像形式はタイプセットした式を表示する便利な方法です.MSPFormatに関する詳細は「Mathematica 関数のリファレンス」をご覧ください. 文字列のフォーマット msp:evaluateタグの結果が文字列の場合はフォーマットされず,そのまま出力ページに加えられます.以下のようなHTMLを構築する際には,これは大変便利です.
<msp:evaluate> StringJoin[ "<b>", ToString[ x], "</b>"] </msp:evaluate>
文字列をHTMLの拡張文字を伴った形にフォーマットしたい場合は,その文字列をMSPFormatでラップしてください. グラフィックスのフォーマット 出力に絵が入るようにグラフィックスオブジェクトをフォーマットする便利な関数があります.下記の例ではプロットが示されます.
<msp:evaluate> MSPShow[ Plot[Sin[x], {x, 0, 2Pi}]] </msp:evaluate>
MSPShow
に関する詳細は「
Mathematica
関数のリファレンス」をご覧ください.
MSPフォーマット MSPFormatを用いるとさまざまなスタイルに出力をフォーマットすることができます.以下の例ではMSPFormatでTraditionalFormをフォーマットタイプに使っています.
<msp:evaluate> MSPFormat[ Sqrt[ Sin[x]], TraditionalForm] </msp:evaluate>
出力はHTML形式,MathML形式,あるいは画像形式にフォーマットして生成することができます.画像形式はタイプセットした式を表示する便利な方法です.MSPFormatに関する詳細は「Mathematica 関数のリファレンス」をご覧ください. 出力を隠す msp:evaluateタグを使って評価はしても,結果のページには何も残したくないこともあるでしょう.そのような場合は以下のように計算の後ろにセミコロン(;)を加えてください.
<msp:evaluate> Needs[ "MyPackage"]; </msp:evaluate>
セミコロンを加えることでMathematica のシンボルNullが返され,出力には何の痕跡も残らないようにフォーマットされます. どんな計算でも,たとえフォーマット関数,グラフィックス関数,Print出力やMessage出力を返す関数のどれかを使っていても,出力は隠されます.次の例ではメッセージを出力する関数の後ろにセミコロンが付いているので,出力は何も見えません.
<msp:evaluate> MSPGetMessages[]; </msp:evaluate>
複数の計算 ひとつのmsp:evaluateタグで複数の計算をしたい場合は,別々のステップをセミコロン(;)で区切ります.最後の計算の結果がフォーマットされて出力ページに表示されます.以下の例ではx+yという計算の数値結果が現れます.
<msp:evaluate> x = Sin[5.6]; y = Sqrt[x]; x+y </msp:evaluate>
最後の計算の結果も隠したければ「出力を隠す」にあるようにセミコロン(;)を使います.
|