报告器模板
本参考资料描述了这些报告器使用的模板:
使用此信息来创建自定义模板,以便与其中一个报告器一起使用,或从这些报告器派生出的报告器使用。
节模板
Section 报告器针对 MATLAB® Report Generator™ 支持的三种输出类型分别使用了六组模板:docx、pdf 和 html。每组对应于 Section 报告器可以生成的六个级别的节层次结构。第一组对应于顶级节,第二组对应于顶级节的第二级子节,依此类推。
每个级别集包含三个模板:
名为 Section N 的节主体模板,其中 N 是节的级别(请参阅 Section1 模板 和 Section2 – Section6 模板)。
一个名为
SectionNumberedTitleN(请参阅编号节标题模板)的编号节标题模板。未编号的节标题模板名为
SectionTitleN(请参阅未编号章节标题模板)。
当您的报告程序将报告器添加到报告对象时,Section 报告器将确定使用哪个集合。例如,当您的报告程序向报告对象添加 Section 报告器时,Section 报告器将使用顶级模板集。当报告的添加方法将其作为顶级节报告器内容的一部分添加到报告中时,Section 报告器将使用二级模板集。当报告添加方法将其作为二级报告器内容的一部分添加到报告中时,Section 报告器使用第三级模板集,等等。
Section1 模板
Section 报告器的 Word、PDF 和 HTML Section1 模板分别指定了由 Section 1 报告器在 Word、PDF 和 HTML 报告中生成的顶级节的格式。所有三个模板都指定了空位的位置以及 Section 报告器的 Title 和 Content 属性的默认样式。
此外,PDF 和 Word 模板指定顶级节的页面布局属性,包括顶级 Word 或 PDF 节的页面方向、边距、页眉和页脚。Word 和 PDF 模板为节中第一页和后续页面指定了不同的页眉。第一页的页眉仅包含一条规则。后续页面的页眉称为默认页眉,包含章节标题。第一页的页脚和后续页的页脚相同。
顶级节从具有顶级 Section 报告器模板指定的属性的新页面开始。所有需要容纳顶级节内容的后续页面都具有相同的页面布局,除非内容本身指定了新的页面布局,在这种情况下,后续页面的页面布局会发生变化。默认的低级节模板不指定页面布局。因此,向节添加子节不会改变页面布局。子节的内容与顶级节具有相同的布局。
Word 第 1 节模板
Word Section1 模板位于
Section报告器的default.dotx模板文件的 QuickParts 库中。QuickParts 库是Section报告器的 Word 模板库。要查看或编辑 Section1 模板,您必须在 Word 中打开default.dotx文件并在default.dotx模板中创建该模板的实例。Section1 模板在 Word 中显示如下:
注意
当您显示 Word Section1 模板的副本时,它会滚动到第二页的默认页眉,并显示一条错误消息。请参阅下面的注释来了解此错误消息的解释。要查看模板空位,请滚动到模板顶部。
Section1 模板指定节第一页的页眉与后续页的页眉不同。除第一页之外的所有页眉都称为默认页眉。第一页的页眉包含规则,但其他部分为空。

注意
该规则以具有底部边框的空段落实现。将段落的字体大小设置为非常低的值,以最小化段落的高度。
第一页页脚包含 Word 页码字段。当在 Word 中打开此模板或根据该模板生成的报告时,Word 会用页脚所在的页码替换该字段。

Section1 的默认页眉包含一个 Word
SectionRef字段,该字段引用该节的标题样式(即SectionTitle)。当在 Word 中打开该模板或根据该模板生成的报告时,Word 会将SectionRef字段替换为具有SectionTitle样式的节中第一个段落的内容。在报告中,该段落包含该节的标题。因此,该节的标题会出现在第一页后面的页眉中。(在文档设计中这被称为页眉。)注意
Section1模板占用不到一页。因此,当您将Section1模板从 Section 报告器的 QuickPart 库(即模板库)复制到default.dotx模板的主体时,仅会出现该节的第一页。但是,Word 会创建一个页面,其中包含一个新节 (Section 2),该节继承了Section1模板的页眉。Word 用错误消息替换此新节的标题中的SectionRef字段,因为新节中没有具有引用样式的段落。
Section1模板指定了一个默认页脚,其内容和格式与第一页页脚相同。注意
要查看或编辑默认页脚,您必须在
Section1模板中插入页面,如下所示:将模板从
Section报告模板的 QuickParts 库(即其模板库)复制到报告模板的主体中。在模板中的
Content空位后插入一个段落。启用段落的
Page Break Before属性。

PDF
Section1模板PDF
Section1模板位于 Section Reporter 的 PDF 模板文件 (default.pdftx) 的模板库中。模板文件是一个 ZIP 文件。它将模板库存储在名为docpart_templates.html的文件中。要查看或编辑Section1模板:使用报告 API
unzipTemplate命令解压缩default.pdftx文件的副本。在 MATLAB 编辑器或任何其他文本编辑器中打开
docpart_templates.html文件。当您完成
Section1模板编辑后,保存docpart_templates.html文件。使用报告 API
zipTemplate命令重新压缩default.pdftx文件。
有关详细信息,请参阅创建 PDF 文档部件模板库。
PDF
Section1模板使用以下 HTML 标记来定义由Section报告器生成的顶级 PDF 节的页面布局。该标记还定义了要用Section报告器的Title和Content属性的内容填充的空位的位置。
Section1布局中的 pheader 和 pfooter 元素指定用于定义顶级节的页眉和页脚的内容和布局的模板。页眉和页脚模板与docpart_templates.html模板本身位于同一个模板库文件 (Section1) 中。Section报告器只使用第一页和默认页面模板。第一页的页眉和页脚模板是

标题模板指定一个空段落,后跟一条水平线。空段落指定样式
SectionTitleHead。它在模板的样式表中定义(见下文)。第一页页脚模板指定了水平线,后跟页码。默认页眉模板

指定一个包含 styleref 且后跟水平线的段落。在报告生成期间,报告 API 会将 styleref 元素替换为顶级节的标题段落的内容,从而创建页眉。
默认页脚模板

指定水平线,后跟自动生成的页码。
页眉和页脚模板的样式位于
pdf/stylesheets/root.css文件中。
HTML
Section1模板Section1文件中的default.htmt文档部件模板指定了标题和Content空位。
Section2 – Section6 模板
Section2-Section6 模板指定了 Section 报告器生成的子节的格式。每个模板都包含空位元素,分别指定要用 Section 报告器的 Title 和 Content 属性的内容填充的空位的位置。每个模板中的标题空位指定了特定于模板定义的子节级别的默认标题样式。
Word
Section2–Section6模板作为示例,此图显示的是
Section2模板。
PDF 和 HTML
Section2-Section6模板作为示例,此图显示的是
Section2模板。
节模板空位
所有节模板(Section1 - Section6)都有本表所述的空位。
| 空位 ID | 空位类型 | 描述 |
|---|---|---|
Title | 块 |
|
| 块 | 本节内容 |
节模板样式
节模板使用样式来格式化某些内容。Word 模板在 default.dotx 模板文件中的样式表内定义其所使用的样式。PDF 和 HTML 模板分别在 stylesheets/root.css 和 default.pdftx 文件中定义 default.htmt 文件中的样式。下表描述了 Section 模板所使用的样式。
| 样式名称 | 样式类型 | 描述 |
|---|---|---|
| 字符 | Content-Section1 模板中的 Section6 空位将此样式指定为填补空位的内容的默认文本样式。内容可以指定覆盖默认样式的样式或格式。 |
| 字符 | 相应节模板中的标题空位指定了相应的样式名称作为节标题的默认样式。例如, |
| 字符 |
|
| 字符 |
|
节标题模板
如果 Section 报告器的 Title 属性的内容是字符串、文本或其他内联对象,它会使用 SectionTitle 报告器来生成用于填充其节级模板中的标题空位的内容。SectionTitle 报告器反过来使用模板将内联内容格式化为标题。SectionTitle 报告器对每种输出类型使用两组模板,一组用于创建分层编号的标题(1.1、1.2、1.2.1 等),另一组用于创建未编号的标题。每组包含六个模板,对应 Section 报告器可以生成的六个级别的节。这些模板分别位于科室报告器的 Word、PDF 和 HTML 模板文件的模板库中,分别是 default.dotx、default.pdftx 和 default.htmt。
编号节标题模板
如果报告或 Section 报告器指定其标题需要编号,则 SectionTitle 报告器将使用自动编号的模板来格式化 Section 报告器的 Title 属性的内联内容。标题名为 SectionNumberedTitleN,其中 N 是该模板适用的节级别。例如,顶级节标题的模板名称是 SectionNumberedTitle1。每个模板都包含一个段落元素,该元素指定与相应节级别模板中的标题空位指定的相同样式,例如,顶级节标题为 SectionTitle1。请参阅节模板样式。
标题段落存在以下空位。
NumberPrefix空位将用SectionTitle报告器的NumberPrefix属性内容填充(默认为空)在报告生成期间由分层数字替换的自动编号标记。每个级别模板的自动编号标记不同,以便生成适合该级别的层次编号。
NumberSuffix空位将用SectionTitle报告器的NumberSuffix属性的内容填充(默认为空)。Content空位将用SectionTitle报告器的Content属性的内容来填充。
下图分别显示了 Word、PDF 和 HTML SectionNumberedTitle1 模板。低级模板类似。
Word
SectionNumberedTitle1模板
PDF
SectionNumberedTitle1模板
HTML
SectionNumberedTitle1模板
在报告生成期间,Section 报告器将 SectionTitle 报告器的 Content 属性设置为 Section 报告器的 Title 属性的内联内容。它没有设置 NumberPrefix 和 NumberSuffix 属性。因此,SectionTitle 报告器生成的标题默认由分层数字和标题文本组成。
SectionTitle 报告器提供了 NumberPrefix 和 NumberSuffix 空位,以方便派生报告器标记标题。例如,从 Chapter 报告器派生的 Section 报告器在英语区域设置中将 NumberPrefix 属性设置为 Chapter。在某些东亚地区,Chapter 报告器将 NumberSuffix 设置为指定章的字符。
注意
如果您自定义了编号节模板,请不要删除或替换 Word 模板中的 SEQ 字段或 PDF 或 HTML 模板中的自动编号标记。要生成未编号的节,请使用 未编号章节标题模板。
SectionNumberedTitle 模板空位
所有 SectionNumberedTitle 模板(Section1 - Section6)都有本表所述的空位。
| 空位 ID | 空位类型 | 描述 |
|---|---|---|
| 内联 | 在章节编号前显示的前缀。 |
| 内联 | 在章节编号后显示的后缀。 |
| 内联 | 标题内容 |
未编号章节标题模板
如果报告指定当前章节使用未编号的标题,则 SectionTitle 报告器使用未编号的模板来生成章节标题。未编号的模板名为 SectionTitleN,其中 N 是要生成标题的节的级别。例如,顶级节的模板名为 SectionTitle1。每个模板都包含一个段落元素,该元素指定与相应节级模板中的 Title 空位指定的相同样式,例如,对于顶级节标题,指定 SectionTitle1。请参阅节模板样式。标题段落包含一个空位,需要由 SectionReporter 的 Content 属性的内容(由 Section 报告器在报告生成期间设置)填充。
下图展示了 SectionTitle1 模板的 Word、PDF 和 HTML 版本。低级模板类似。
Word
SectionTitle模板Word
SectionTitle模板的所有级别都有相同的内容空位。
PDF 和 HTML
SectionTitle1模板
PDF 和 HTML
SectionTitle2-SectionTitle6模板这些章节标题模板包含一个内容空位,如
SectionTitle1模板。每个节都指定了其标题样式。
SectionTitle 模板空位
所有 SectionTitle 模板(Section1 - Section6)都包含本表所述的空位。
| 空位 ID | 空位类型 | 描述 |
|---|---|---|
内容 | 内联 | 标题内容 |
章模板
Chapter 报告器是 Section 报告器的子类,它使用 Section 报告器的顶级模板集来生成其内容。这是因为章生成的节与节生成的节几乎相同。然而,这两类节在两个方面有所不同:
章这种节的标题在英语区域设置中包含单词 "Chapter",或在报告 API 支持的其他区域设置中包含等效单词。
Chapter报告器通过设置用于生成章标题的SectionTitle报告器的NumberPrefix或NumberSuffix属性,将单词 Chapter 包含在标题中。所有从节生成的顶级节的起始页都是第 1 页。相比之下,
Chapter报告器生成的章只有第一章的起始页为第 1 页。后续章将继续上一章的页码编号。Chapter报告器以编程方式实现此行为,从而无需使用 Section 顶级模板的修改版本。