DITA-FMx User Guide

Working with Tables

DITA provides tables for many situations. Learn how to make them look the way you want.

If you are using the default DITA-FMx structure applications, all tables regardless of their type are set to use proportional widths. This means that the table will expand to fill the width of the current column and all cells within the table will proportionally fill the table based on the widths you assign.

If you want to be able to specify absolute widths for tables, you need to comment out or delete the writer use proportional widths rule in the read/write rules files (topic_1.1.rules.txt and book_1.1.rules.txt). After commenting this line out it will look like the following:

/* writer use proportional widths; */
Note: This setting affects all tables of all types that use the rule file’s structure application. You cannot have some tables that are proportional and some that are absolute.

You will also need to edit the ditafmx.ini file and change the value of ForceTablesWide from 1 to 0. A setting of 0 disables this feature and a setting of 1 enables it, forcing all tables to fill the column width. This setting is used to overcome an apparent bug in FrameMaker where under certain circumstances a table would not always fill the width of the column. Setting this to 0 disables this feature and lets FrameMaker work as it does by default.

[INIOnly] 
ForceTablesWide=0

If you’d like a specific table to fill the width of the text frame (overriding the margins or indents), set the table element’s pgwide attribute to 1. This attribute is only available for tables of type table.

A number of the DITA table types are specializations of the simpletable element. When simpletable-based elements are encountered during the import process, FrameMaker needs to be able to count the number of columns in each table. This information is typically stored in attributes within the table element, but the DITA specification does not provide this type of attribute for simpletable-based tables. The DITA-FMx Options dialog provides access to the Element Mapping dialog which defines the structure of the default simpletable-based tables, and allows you to define the structure of any specializations you create.

Rotated Table Cells

As of DITA-FMx 1.1.11, you can round-trip rotated table cells. This is typically done to specify long table column headings, but can be done on any table cells. Because this feature is not specifically supported by DITA, it’s not likely that this rotation will be applied to output types other than those generated through FrameMaker.

To rotate a cell, select the entire cell, then choose Graphics > Rotate and specify the rotation angle. Save, close and reopen the file in FrameMaker, and the rotation will be applied.

This rotation information is stored as a DITA data element (the first child of the entry element). This data element has a @type attribute of “fmx-rotated” and a @value attribute that specifies the rotation angle. Because this is valid DITA markup, there should be no adverse reaction in other editors or processing tools. In fact, it would be possible for other processors to key off of this element to apply a cell rotation for other output types.