主要内容

本页采用了机器翻译。点击此处可查看英文原文。

报告器模板

本参考资料描述了这些报告器使用的模板:

使用此信息来创建自定义模板,以便与其中一个报告器一起使用,或从这些报告器派生出的报告器使用。

节模板

Section 报告器针对 MATLAB® Report Generator™ 支持的三种输出类型分别使用了六组模板:docx、pdf 和 html。每组对应于 Section 报告器可以生成的六个级别的节层次结构。第一组对应于顶级节,第二组对应于顶级节的第二级子节,依此类推。

每个级别集包含三个模板:

当您的报告程序将报告器添加到报告对象时,Section 报告器将确定使用哪个集合。例如,当您的报告程序向报告对象添加 Section 报告器时,Section 报告器将使用顶级模板集。当报告的添加方法将其作为顶级节报告器内容的一部分添加到报告中时,Section 报告器将使用二级模板集。当报告添加方法将其作为二级报告器内容的一部分添加到报告中时,Section 报告器使用第三级模板集,等等。

Section1 模板

Section 报告器的 Word、PDF 和 HTML Section1 模板分别指定了由 Section 1 报告器在 Word、PDF 和 HTML 报告中生成的顶级节的格式。所有三个模板都指定了空位的位置以及 Section 报告器的 TitleContent 属性的默认样式。

此外,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 template

    注意

    当您显示 Word Section1 模板的副本时,它会滚动到第二页的默认页眉,并显示一条错误消息。请参阅下面的注释来了解此错误消息的解释。要查看模板空位,请滚动到模板顶部。

    Section1 模板指定节第一页的页眉与后续页的页眉不同。除第一页之外的所有页眉都称为默认页眉。第一页的页眉包含规则,但其他部分为空。

    Word Section1 temple with header containing only a rule

    注意

    该规则以具有底部边框的空段落实现。将段落的字体大小设置为非常低的值,以最小化段落的高度。

    第一页页脚包含 Word 页码字段。当在 Word 中打开此模板或根据该模板生成的报告时,Word 会用页脚所在的页码替换该字段。

    Word footer containing page number

    Section1 的默认页眉包含一个 Word SectionRef 字段,该字段引用该节的标题样式(即 SectionTitle)。当在 Word 中打开该模板或根据该模板生成的报告时,Word 会将 SectionRef 字段替换为具有 SectionTitle 样式的节中第一个段落的内容。在报告中,该段落包含该节的标题。因此,该节的标题会出现在第一页后面的页眉中。(在文档设计中这被称为页眉。)

    注意

    Section1 模板占用不到一页。因此,当您将 Section1 模板从 Section 报告器的 QuickPart 库(即模板库)复制到 default.dotx 模板的主体时,仅会出现该节的第一页。但是,Word 会创建一个页面,其中包含一个新节 (Section 2),该节继承了 Section1 模板的页眉。Word 用错误消息替换此新节的标题中的 SectionRef 字段,因为新节中没有具有引用样式的段落。

    Word header with error message "Error! No text of specified style in document" displays when there is no paragraph with the referenced style

    Section1 模板指定了一个默认页脚,其内容和格式与第一页页脚相同。

    注意

    要查看或编辑默认页脚,您必须在 Section1 模板中插入页面,如下所示:

    1. 将模板从 Section 报告模板的 QuickParts 库(即其模板库)复制到报告模板的主体中。

    2. 在模板中的 Content 空位后插入一个段落。

    3. 启用段落的 Page Break Before 属性。

    Word footer that is identical in content and format to first page footer

  • PDF Section1 模板

    PDF Section1 模板位于 Section Reporter 的 PDF 模板文件 (default.pdftx) 的模板库中。模板文件是一个 ZIP 文件。它将模板库存储在名为 docpart_templates.html 的文件中。要查看或编辑 Section1 模板:

    1. 使用报告 API unzipTemplate 命令解压缩 default.pdftx 文件的副本。

    2. 在 MATLAB 编辑器或任何其他文本编辑器中打开 docpart_templates.html 文件。

    3. 当您完成 Section1 模板编辑后,保存 docpart_templates.html 文件。

    4. 使用报告 API zipTemplate 命令重新压缩 default.pdftx 文件。

    有关详细信息,请参阅创建 PDF 文档部件模板库

    PDF Section1 模板使用以下 HTML 标记来定义由 Section 报告器生成的顶级 PDF 节的页面布局。该标记还定义了要用 Section 报告器的 TitleContent 属性的内容填充的空位的位置。

    Markup used for PDF Section1 template to define page layout

    Section1 布局中的 pheader 和 pfooter 元素指定用于定义顶级节的页眉和页脚的内容和布局的模板。页眉和页脚模板与 docpart_templates.html 模板本身位于同一个模板库文件 (Section1) 中。Section 报告器只使用第一页和默认页面模板。

    第一页的页眉和页脚模板是

    HTML markup of first page header and footer templates

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

    默认页眉模板

    HTML markup for default page header template

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

    默认页脚模板

    HTML markup for default page footer template

    指定水平线,后跟自动生成的页码。

    页眉和页脚模板的样式位于 pdf/stylesheets/root.css 文件中。

    CSS that defines the styles for header and footer templates

  • HTML Section1 模板

    Section1 文件中的 default.htmt 文档部件模板指定了标题和 Content 空位。

    HTML Section1 Template, which specifies Title and Content holes

Section2Section6 模板

Section2-Section6 模板指定了 Section 报告器生成的子节的格式。每个模板都包含空位元素,分别指定要用 Section 报告器的 TitleContent 属性的内容填充的空位的位置。每个模板中的标题空位指定了特定于模板定义的子节级别的默认标题样式。

  • Word Section2Section6 模板

    作为示例,此图显示的是 Section2 模板。

    Word Section2 template

  • PDF 和 HTML Section2 - Section6 模板

    作为示例,此图显示的是 Section2 模板。

    HTML Section2 Template, which specifies Title and Content holes

节模板空位

所有节模板(Section1 - Section6)都有本表所述的空位。

空位 ID空位类型描述

Title

Section 报告器根据其 Title 属性的内容类型用内容填充此空位,如下所示。

  • 如果 Title 属性内容是内联对象,例如字符串或 mlreportgen.domText 对象,则 Section 报告器使用 SectionTitle 报告器来格式化并生成内联内容作为标题。然后将生成的内容添加到标题空位中。SectionTitle 报告器使用模板来格式化内联内容。

  • 如果其 Title 属性内容是段落或其他块级对象,则 Section 报告器会将该段落添加到 Title 空位中。

  • 如果其 Title 属性内容是另一个报告器,则 Section 报告器会将该报告器生成的内容添加到 Title 空位中。

Content

本节内容

节模板样式

节模板使用样式来格式化某些内容。Word 模板在 default.dotx 模板文件中的样式表内定义其所使用的样式。PDF 和 HTML 模板分别在 stylesheets/root.cssdefault.pdftx 文件中定义 default.htmt 文件中的样式。下表描述了 Section 模板所使用的样式。

样式名称样式类型描述

SectionContent

字符

Content-Section1 模板中的 Section6 空位将此样式指定为填补空位的内容的默认文本样式。内容可以指定覆盖默认样式的样式或格式。

SectionTitle1 - SectionTitle6

字符

相应节模板中的标题空位指定了相应的样式名称作为节标题的默认样式。例如,Section1 模板中的 Title hole 指定 SectionTitle1 作为顶级节标题的默认样式的名称。添加到标题栏的内容可以指定覆盖默认样式的格式或样式。

SectionTitleHeader

字符

Section1 页面页眉使用此样式将页眉内容居中。

SectionTitleFooter

字符

Section1 页脚使用此样式作为页脚内容。

节标题模板

如果 Section 报告器的 Title 属性的内容是字符串、文本或其他内联对象,它会使用 SectionTitle 报告器来生成用于填充其节级模板中的标题空位的内容。SectionTitle 报告器反过来使用模板将内联内容格式化为标题。SectionTitle 报告器对每种输出类型使用两组模板,一组用于创建分层编号的标题(1.1、1.2、1.2.1 等),另一组用于创建未编号的标题。每组包含六个模板,对应 Section 报告器可以生成的六个级别的节。这些模板分别位于科室报告器的 Word、PDF 和 HTML 模板文件的模板库中,分别是 default.dotxdefault.pdftxdefault.htmt

编号节标题模板

如果报告或 Section 报告器指定其标题需要编号,则 SectionTitle 报告器将使用自动编号的模板来格式化 Section 报告器的 Title 属性的内联内容。标题名为 SectionNumberedTitleN,其中 N 是该模板适用的节级别。例如,顶级节标题的模板名称是 SectionNumberedTitle1。每个模板都包含一个段落元素,该元素指定与相应节级别模板中的标题空位指定的相同样式,例如,顶级节标题为 SectionTitle1。请参阅节模板样式

标题段落存在以下空位。

  • NumberPrefix 空位将用 SectionTitle 报告器的 NumberPrefix 属性内容填充(默认为空)

  • 在报告生成期间由分层数字替换的自动编号标记。每个级别模板的自动编号标记不同,以便生成适合该级别的层次编号。

  • NumberSuffix 空位将用 SectionTitle 报告器的 NumberSuffix 属性的内容填充(默认为空)。

  • Content 空位将用 SectionTitle 报告器的 Content 属性的内容来填充。

下图分别显示了 Word、PDF 和 HTML SectionNumberedTitle1 模板。低级模板类似。

  • Word SectionNumberedTitle1 模板

    Word SectionNumberedTitle1 Template

  • PDF SectionNumberedTitle1 模板

    PDF SectionNumberedTitle1 Template

  • HTML SectionNumberedTitle1 模板

    HTML markup for SectionNumberedTitle1 Template

在报告生成期间,Section 报告器将 SectionTitle 报告器的 Content 属性设置为 Section 报告器的 Title 属性的内联内容。它没有设置 NumberPrefixNumberSuffix 属性。因此,SectionTitle 报告器生成的标题默认由分层数字和标题文本组成。

SectionTitle 报告器提供了 NumberPrefixNumberSuffix 空位,以方便派生报告器标记标题。例如,从 Chapter 报告器派生的 Section 报告器在英语区域设置中将 NumberPrefix 属性设置为 Chapter。在某些东亚地区,Chapter 报告器将 NumberSuffix 设置为指定章的字符。

注意

如果您自定义了编号节模板,请不要删除或替换 Word 模板中的 SEQ 字段或 PDF 或 HTML 模板中的自动编号标记。要生成未编号的节,请使用 未编号章节标题模板

SectionNumberedTitle 模板空位

所有 SectionNumberedTitle 模板(Section1 - Section6)都有本表所述的空位。

空位 ID空位类型描述

NumberPrefix

内联

在章节编号前显示的前缀。

NumberSuffix

内联

在章节编号后显示的后缀。

Content

内联

标题内容

未编号章节标题模板

如果报告指定当前章节使用未编号的标题,则 SectionTitle 报告器使用未编号的模板来生成章节标题。未编号的模板名为 SectionTitleN,其中 N 是要生成标题的节的级别。例如,顶级节的模板名为 SectionTitle1。每个模板都包含一个段落元素,该元素指定与相应节级模板中的 Title 空位指定的相同样式,例如,对于顶级节标题,指定 SectionTitle1。请参阅节模板样式。标题段落包含一个空位,需要由 SectionReporterContent 属性的内容(由 Section 报告器在报告生成期间设置)填充。

下图展示了 SectionTitle1 模板的 Word、PDF 和 HTML 版本。低级模板类似。

  • Word SectionTitle 模板

    Word SectionTitle 模板的所有级别都有相同的内容空位。

    Word SectionTitle template

  • PDF 和 HTML SectionTitle1 模板

    PDF and HTML SectionTitle1 Template

  • PDF 和 HTML SectionTitle2 - SectionTitle6 模板

    这些章节标题模板包含一个内容空位,如 SectionTitle1 模板。每个节都指定了其标题样式。

    PDF and HTML SectionTitle2 Template, specifying title style using the content hole

SectionTitle 模板空位

所有 SectionTitle 模板(Section1 - Section6)都包含本表所述的空位。

空位 ID空位类型描述

内容

内联

标题内容

章模板

Chapter 报告器是 Section 报告器的子类,它使用 Section 报告器的顶级模板集来生成其内容。这是因为章生成的节与节生成的节几乎相同。然而,这两类节在两个方面有所不同:

  • 章这种节的标题在英语区域设置中包含单词 "Chapter",或在报告 API 支持的其他区域设置中包含等效单词。Chapter 报告器通过设置用于生成章标题的 SectionTitle 报告器的 NumberPrefixNumberSuffix 属性,将单词 Chapter 包含在标题中。

  • 所有从节生成的顶级节的起始页都是第 1 页。相比之下,Chapter 报告器生成的章只有第一章的起始页为第 1 页。后续章将继续上一章的页码编号。Chapter 报告器以编程方式实现此行为,从而无需使用 Section 顶级模板的修改版本。

请参阅 Section1 模板编号节标题模板未编号章节标题模板