在报告 API 报告中创建相关报告元素的说明和标题列表
在报告 API 报
告中,您可以创建相关报告元素(例如方程)的题注或标题列表,以便浏览该列表并轻松导航到特定的报告元素。要创建报告元素列表,请使用 mlreportgen.report.ListOfCaptions
报告器。
注意
如需图窗列表,请使用 mlreportgen.report.ListOfFigures
报告器。要获得表格列表,请使用 mlreportgen.report.ListOfTables
报告器。请参阅 Create a List of Figures or Tables
。
要使用 ListOfCaptions
报告器,您必须为报告元素的题注或标题创建一个段落。然后,将该段落与一个自动编号流名称关联起来,该名称与 ListOfCaptions
对象的自动编号流名称匹配。
ListOfCaptions
报告器在报告的新部分中为列表创建了一个占位符。通常,您会在目录之后和包含报告内容的报告节之前添加题注列表节。在 PDF 或 Microsoft® Word 报
告中,题注列表位于您在报告中将其置于的位置。在 HTML 报
告中,该部分位于侧边栏。
题注列表的生成方式取决于报告类型:
PDF -报告 API 在报告生成期间生成列表。
Word - 您必须通过在报告生成程序中更新 Word 文档或在 Word 中交互来生成列表。请参阅更新 Word 文档中的目录和生成的列表。
HTML - HTML 浏览器生成列表。
标题列表中的每个列表项都链接到报告中的标题或标题。在 PDF 和 Word 报 告中,列表项还包括报告中题注或标题的页码,并且引导符填充题注或标题与页码之间的空白。
要创建题注列表:
创建报告 API 报 告。
创建
mlreportgen.report.ListOfCaptions
对象。通过设置
ListofCaptions
对象的Title
属性来指定题注列表节的标题。选择编号流名称,例如
equation
。将ListOfCaptions
对象的AutoNumberStreamName
属性设置为编号流名称。将
ListofCaptions
对象添加到报告中。为报告内容创建章节或节。
向章节或部分添加内容。为想要包含在题注列表中的报告元素的题注或标题创建
mlreportgen.dom.Paragraph
对象。使用mlreportgen.dom.AutoNumber
对象将段落与分配给ListofCaptions
对象的AutoNumberStreamName
属性的相同自动编号流名称关联。关闭报告。
创建包含标题列表部分的报告
此示例显示如何在报告中创建题注列表部分。该示例生成一份关于物理方程的报告,并将方程题注的列表添加到报告中。
导入 DOM 和报告 API 包,这样您就不必使用长而完全限定的类名。
import mlreportgen.dom.* import mlreportgen.report.*
创建报告。
rpt = Report("physics","docx");
为报告添加标题页和目录。
tp = TitlePage(); tp.Title = "Physics Principles"; tp.Author = "John Doe"; append(rpt,TableOfContents);
创建题注列表节。
loc = ListOfCaptions();
loc.Title = "List of Equations";
定义一个自动编号流名称以与 ListOFCaptions
对象一起使用。
equationStreamName = "equation";
loc.AutoNumberStreamName = equationStreamName;
将题注列表节添加到报告中。
append(rpt,loc);
为报告内容创建章节。对于此示例,创建两个章节。每章都有一个方程。
创建第一章。添加一个段落并在其中添加一个方程。
ch1 = Chapter("Force"); append(ch1,Paragraph("Calculate force by multiplying mass and acceleration.")); eq1 = Equation("F = ma"); append(ch1,eq1);
为公式题注创建一个段落,并将自动编号流名称与题注关联。
caption1 = Paragraph("Equation ");
append(caption1,AutoNumber(equationStreamName));
为题注定义一种样式。包括一个 mlreportgen.report.CounterInc
对象来增加编号流的计数器。
equationCaptionsStyle = {HAlign("center"),CounterInc(equationStreamName),WhiteSpace("preserve")}; caption1.Style = equationCaptionsStyle;
添加其余的题注文本并将题注添加到章。
append(caption1,"."); append(caption1," Force"); append(ch1,caption1);
将该章节添加到报告中。
append(rpt,ch1);
創作第二章。添加一个段落,并在段落中添加一个等式。
ch2 = Chapter("Momentum"); append(ch2,Paragraph("Calculate momentum by multiplying mass and velocity.")); eq2 = Equation("p = mv"); append(ch2,eq2);
为公式题注创建一个段落,并将自动编号流名称与题注关联。
caption2 = Paragraph("Equation ");
append(caption2,AutoNumber(equationStreamName));
指定题注的样式。
caption2.Style = equationCaptionsStyle;
添加其余的题注文本并将题注添加到章。
append(caption2,"."); append(caption2," Momentum"); append(ch2,caption2);
将该章节添加到报告中。
append(rpt,ch2);
关闭并查看报告。
close(rpt); rptview(rpt);
以下是报告中方程的列表:
自定义标题列表部分标题
您可以通过设置 ListOfCaptions
报告器的 Title
属性来指定题注列表节的标题。要自定义标题的样式(例如字体系列、颜色或大小),请使用以下方法之一:
将标题指定为
mlreportgen.dom.Text
对象,并使用对象属性指定样式。在模板中指定
ListOfCaptions
报告器所使用的标题样式。在模板中指定题注列表节标题的标题报告器所使用的标题样式。请参阅对题注列表标题使用自定义模板。
另请参阅
mlreportgen.report.ListOfFigures
| mlreportgen.report.ListOfTables
| mlreportgen.report.ListOfCaptions