Can DITA support complex page numbering schemes in print documents?

DITA has the capability to support complex page numbering schemes in print documents. It is able to do this through numbering variables, custom numbering sequences, conditional page numbering, pagination elements, and pagination attributes.

  • Numbering Variables: DITA enables the definition of numbering variables that can be utilized to generate page numbers dynamically. These variables can be inserted at specific locations within DITA content.
  • Custom Numbering Sequences: With DITA, custom numbering sequences can be created. This allows the use of more than traditional page numbers, permitting the inclusion of Roman numerals, alphanumeric characters, or any other customized sequence.
  • Conditional Page Numbering: DITA’s conditional processing capabilities allow the application of different page numbering schemes based on particular conditions. For example, one can employ one numbering scheme for front matter (e.g., Roman numerals for the table of contents) and another for the main content (e.g., Arabic numerals for the body).
  • Pagination Elements: In DITA, pagination elements can be inserted into content, such as “page-break-before,” to determine where page breaks should occur. This feature is especially beneficial for controlling the layout of tables, figures, and other content.
  • Pagination Attributes: DITA supports attributes that aid in controlling page numbering, including the ability to specify the starting page number for different document sections.


A technical manual generated through DITA incorporates diverse sections with intricate page numbering requirements:

Front Matter:

  • Title page: no page numbers
  • Table of contents: Roman numerals (i, ii, iii…)
  • List of figures: Roman numerals
  • List of tables: Roman numerals

Main Content:

  • Introduction: Arabic numerals (1, 2, 3…)
  • Chapters: Arabic numerals
  • Appendices: Capital letters (A, B, C…)
  • Glossary: Continuation of Arabic numerals

To achieve this, various numbering variables would be defined in DITA, each assigned a specific sequence for different sections of the document. Conditional processing would be applied to ensure the correct numbering scheme for each section. For example, conditional attributes would dictate when the transition from Roman numerals to Arabic numerals should occur.