Main Content

レポートにおけるインライン数式の作成

この例では、レポートのテキストの行に数式を挿入する方法を示します。例:

数式レポーターの DisplayInline プロパティを設定することにより、その行に数式だけを配置するのか、隣接してテキストも配置するのかを指定します。DisplayInline プロパティが false に設定されている場合、レポーターは書式設定済み数式のイメージをレポートの別の行に追加します。DisplayInline プロパティが true に設定されている場合、getImpl メソッドを呼び出すことで書式設定済み数式のイメージを取得し、そのイメージをレポートの段落に追加します。

API パッケージのインポート

長い完全修飾クラス名を使用せずに済むよう、DOM およびレポートの API パッケージをインポートします。

import mlreportgen.report.* 
import mlreportgen.dom.* 

レポートの作成

この例では、単一ファイルの HTML レポートを作成します。別のタイプのレポートを作成するには、出力タイプを "html""pdf"、または "docx" に変更します。数式を含む段落を作成します。

rpt = Report("myreport","html-file");
p = Paragraph("Here is an inline equation: ");
p.FontSize = "14pt";
p.WhiteSpace = "preserve";

インライン数式のための数式レポーターの作成

Equation レポーターを作成します。DisplayInline プロパティを true に設定して、数式のイメージが隣接するテキストと並ぶように指定します。

eq = Equation("\int_{0}^{2} x^2\sin(x) dx");
eq.DisplayInline = true;
eq.FontSize = 14;

レポートへの数式のイメージの追加

書式設定済み数式のスナップショット イメージを取得するには、getImpl メソッドを呼び出します。イメージがテキストのベースラインから下がる量を指定して、数式の被積分関数のベースラインをテキストのベースラインに合わせます。満足のいく配置になるまで、さまざまな量を試してください。HTML レポートや PDF レポートの場合は、行の高さの割合として量を指定できます。Word レポートの場合は、単位の数値として量を指定します。mlreportgen.dom.VerticalAlignクラスの Value プロパティを参照してください。

eqImg = getImpl(eq,rpt);
if (rpt.Type == "html" || rpt.Type == "html-file" || rpt.Type == "pdf")
    eqImg.Style = {VerticalAlign("-30%")};
elseif(rpt.Type == "docx") 
    eqImg.Style = {VerticalAlign("-5pt")};
end

イメージを段落に追加します。段落をレポートに追加します。

append(p,eqImg);
add(rpt,p);

終了およびレポートの表示

close(rpt);
rptview(rpt);

参考

| |

関連するトピック