Table of Contents
- 5 minutes to read
This topic describes how to manually create a table of contents - from classic tables to tables of equations, and covers the following areas.
Create a Table of Contents
Specify items that should be included into the TOC. To do that, mark paragraphs that correspond to the desired headings using one of the following approaches.
Outline level
Specify a paragraph outline level by the Paragraph.OutlineLevel property. With the outline level applied, the paragraph content formatting remains the same. The maximum outline level is 9.
Heading style
Create a new heading style or retrieve the existing one and apply it to the target paragraph using the ParagraphProperties.Style property. The collection of styles is accessible through the Document.ParagraphStyles property.
TC field
The use of TC field allows you to show alternative titles in the table of contents. If your document needs two or more TOCs showing different entries, you can mark entries for a particular TOC using TC fields with an identifier (e.g., “{TC Finish \f bvz}”), which is specific for each TOC. To specify the outline level, use the \l field switch. To specify the outline level, use the \l field switch.
Insert the TOC field with the corresponding switch and call the FieldCollection.Update method. Depending on the approach used to mark the TOC entry, the following switches can be used.
- none - if entries are marked using heading styles
- \u - if entries are marked by specifying the outline level
- \f identifier - if the TC field is used
Tip
To insert all TOC entries as hyperlinks, use the \h switch. You can use any other TOC field switches to modify any kind of TOC to suite your needs.
Create a Table of Figures, Table of Tables or Table of Equations
To include an element to the table, insert the element caption using the SubDocument.AppendText method and mark it with the SEQ field.
private void PrepareDocumentForFigures() { richEditControl1.CreateNewDocument(); Document document = richEditControl1.Document; document.BeginUpdate(); document.AppendText(Characters.PageBreak.ToString()); document.AppendText("Images:\r\n"); for (int i = 0; i < imageCollection1.Images.Count; i++) { // Insert the caption document.AppendText("Image "); // Insert the SEQ field Field field = document.Fields.Create(document.Range.End, "SEQ Image \\* ARABIC"); document.Images.Append(imageCollection1.Images[i].Clone() as Image); document.Paragraphs.Append(); } //Update the inserted field document.Fields.Update(); document.EndUpdate(); }
Insert the TOC field with the \c switch and call the FieldCollection.Update method. The TOC will be created automatically.
private void InsertTableOfEntries(String key) { Document document = richEditControl1.Document; document.BeginUpdate(); Field field = document.Fields.Create(document.Range.Start, string.Format("TOC \\h \\c \"{0}\"", key)); field.Update(); document.Fields.Update(); document.EndUpdate(); }
The table of figures will appear in the following way.
Table of Contents in the Command UI
End-users can create and update a table of contents, figures or captions using the corresponding commands of the References Ribbon tab. To see how to provide an application with the Ribbon Command UI, refer to the How to: Create the RichEditControl with a Ribbon UI article.
To include the heading into the TOC, end-users should do the following.
- Select the target text.
- On the References ribbon tab, in the Table of Contents group, click Add Text.
- In the invoked list, select the required level.
As a result, the corresponding heading style (Heading 1, Heading 2, etc.) is automatically applied to the selected text and added to the list of available styles.
Note
The Table of Contents group allows end-users to operate the table of contents built from heading styles only. To create a TOC from outline levels or TC fields, end-users should insert the TOC field with the corresponding switch manually.
The Reference ribbon tab allows end-users to insert captions to the document tables, figures or equations. To that, in the Captions group, click Insert Captions and select the corresponding item.
The Table of Contents Dialog allows end-users to change the target table of contents’ appearance by changing the number of displaying levels or by hiding the entries’ page numbers.