В этом примере показано, как вставить уравнение в линию текста в отчете. Для примера:
Вы указываете, находится ли уравнение на линии само по себе или в соответствии с соседним текстом, установив DisplayInline
свойство репортера уравнений. Если D- isplayInline
для свойства задано значение false
, репортер добавляет изображение форматированного уравнения в отдельную линию отчета. Если на DisplayInline
для свойства задано значение true
, вы получаете изображение форматированного уравнения, вызывая getImpl
метод и добавить изображение к абзацу в отчете.
Импортируйте пакеты DOM и Report 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 укажите сумму в виде количества модулей. Смотрите Value
свойство mlreportgen.dom.VerticalAlign
класс.
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);
mlreportgen.dom.Paragraph
| mlreportgen.dom.VerticalAlign
| mlreportgen.report.Equation