How is multi-column layout handled in DITA for print output?

Multi-column layout in DITA for print output refers to the presentation of content in multiple columns on a page, similar to a newspaper or magazine. Achieving a multi-column layout for print output typically involves defining the structure of the layout within the DITA template.

Defining the Structure in the Template:

Defining the structure in the template involves defining columns, setting column width and spacing, ensuring content flow, and applying headers and footers.

Defining Columns:

In DITA templates, the number of columns on each page can be specified. This is done through properties or attributes in the template that control the layout.

Column Width and Spacing:

The width of each column and the spacing between columns can be specified on the template. This controls how content flows from one column to the next.

Content Flow:

DITA templates often rely on technologies like XSL-FO (Extensible Stylesheet Language Formatting Objects) to control how content flows into the columns. This determines the way content should be divided into columns while avoiding issues like widows and orphans (short lines at the beginning or end of a column).

Headers and Footers:

Headers and footers can be specific to each column or span across columns. How these should appear in a multi-column layout is defined in the template.


A product catalog needs a two-column layout for each page. The layout can be defined in the DITA template as follows:

  <page-size>letter</page-size> <!-- Specify letter-sized pages -->
  <page-width>8.5in</page-width> <!-- Width of the page -->
  <page-height>11in</page-height> <!-- Height of the page -->
  <top-margin>1in</top-margin> <!-- Top margin size -->
  <bottom-margin>1in</bottom-margin> <!-- Bottom margin size -->
  <left-margin>1in</left-margin> <!-- Left margin size -->
  <right-margin>1in</right-margin> <!-- Right margin size -->
  <columns>2</columns> <!-- Two columns per page -->
  <column-width>3.5in</column-width> <!-- Width of each column -->
  <column-spacing>0.5in</column-spacing> <!-- Spacing between columns -->

In this example, the DITA template sets up a two-column layout for each page of the product catalog, with specific column widths and spacing between them. When content is published using this template, it will flow into the columns according to the defined layout.