Main Content

mlreportgen.dom.LOT class

Package: mlreportgen.dom
Superclasses: mlreportgen.dom.LOC

List of tables

Description

Use an object of the mlreportgen.dom.LOT class to create a list of tables in a report.

Each list item contains the title of a table and links to the title in the report. In a PDF or Microsoft® Word report, a list item also includes the page number and a leader that fills the space between the title and page number. In a PDF or Word report, the list is located at the point in the report where you append the LOT object. In an HTML report, the list is located in a sidebar with the title List of Tables.

The way a list is generated depends on the report type.

  • PDF — The DOM API generates the list during report generation.

  • Word — The DOM API generates a placeholder for the list. To generate the list items, you must update the Word document in your report generation program or in Word. See Update a Table of Contents or Generated List in a Word Document.

  • HTML — The DOM API generates a placeholder for the list. When the report opens in an HTML browser, the browser generates the list.

To include tables in the list of tables:

  1. Create titles for the tables using mlreportgen.dom.Paragraph objects.

  2. Associate the Paragraph objects with a numbering stream that has the name table by using an mlreportgen.dom.AutoNumber object.

The mlreportgen.dom.LOT class is a handle class.

Class Attributes

ConstructOnLoad
true
HandleCompatible
true

For information on class attributes, see Class Attributes.

Creation

Description

example

LOTObj = mlreportgen.dom.LOT() creates an mlreportgen.dom.LOT object and sets the LeaderPattern property to '.'.

LOTObj = mlreportgen.dom.LOT(leaderPattern) creates an mlreportgen.dom.LOT object and sets the LeaderPattern property to the specified leader pattern.

Properties

expand all

Name of numbering stream, specified as 'table'. Do not change the value of this property. To create a list of titles or captions using a custom numbering stream name, use an mlreportgen.dom.LOC object.

Type of leader to use between the title and the page number, specified as one of these character vectors or string scalars:

  • '.' or 'dots'

  • ' ' or 'space'

This property applies only to PDF reports. Word reports always have a dots leader. HTML reports do not have a leader.

Name of the stylesheet-defined style for formatting the list of tables, specified as a character vector or string scalar.

The style specified by the StyleName property must be defined in the stylesheet of the document or document part to which this list of tables titles is appended. The specified style defines the appearance of the list of tables in the output document, except for formats that are specified by the Style property of this LOT object. The format objects specified by the Style property override formats defined by the stylesheet.

Formats that define the style of the list of tables, specified as a cell array of DOM format objects. The formats override the corresponding formats defined by the stylesheet style specified by the StyleName property. Formats that do not apply to a list of tables are ignored.

Custom attributes of this document element, specified as an array of mlreportgen.dom.CustomAttribute objects. The custom attributes must be supported by the output format.

Parent of this document element, specified as a DOM object. This property is read-only.

Children of this document element, specified as an array of DOM objects. This property is read-only.

Tag for this document element, specified as a character vector or string scalar.

The DOM generates a session-unique tag as part of the creation of this object. The generated tag has the form CLASS:ID, where CLASS is the object class and ID is the value of the Id property of the object. Specifying your own tag value can help you to identify where an issue occurred during document generation.

ID for this document element, specified as a character vector or string scalar. The DOM generates a session-unique ID when it creates the document element. You can specify your own ID.

Methods

expand all

Examples

collapse all

Create a list of tables as an mlreportgen.dom.LOT object. To include tables in the list:

  • Create titles for the tables as mlreportgen.dom.Paragraph objects.

  • Associate the Paragraph objects with a numbering stream that has the name table.

Import the DOM package so that you do not have to use long, fully qualified class names.

import mlreportgen.dom.*

Create a report.

d = Document("DOM Report with List of Tables","docx");

Create a list of tables container and append it to the report.

lotObj = LOT();
append(d,lotObj);
append(d,PageBreak);

Create a table.

t1 = Table(magic(2));

Create a paragraph for the table title.

p1 = Paragraph("Table ");

Create an automatic numbering stream with the name table and associate it with the paragraph.

append(p1,AutoNumber("table"));

Increment the counter for the numbering stream.

p1.Style = {CounterInc("table"),WhiteSpace("preserve")};

Append the rest of the title text to the paragraph and append the paragraph to the report.

append(p1,".");
append(p1," Order 2 Magic Square");
append(d,p1);

Append the table to the report after the table title.

append(d,t1);

Create another table and a title for the table. Associate the table numbering stream with the table title and increment the numbering counter.

t2 = Table(magic(3));
p2 = Paragraph("Table ");
append(p2,AutoNumber("table"));
p2.Style = {CounterInc("table"),WhiteSpace("preserve")};

Append the rest of the title text to the paragraph and append the paragraph to the report.

append(p2,".");
append(p2, " Order 3 Magic Square");
append(d,p2);

Append the table to the report after the table title.

append(d,t2);

Close and view the report.

close(d);
rptview(d);

Here is the list of tables in the generated report:

Introduced in R2020b