DITA and XMetaL Discussion
tv March 22, 2012 at 5:57 pm
TOPLEAF: Unchecking Balance Columns setting has no effectMarch 22, 2012 at 5:57 pmParticipants 1Replies 2Last Activity 10 years, 10 months ago
I've unchecked TopLeaf's Format > Options > Balance columns setting in an effort to let TopLeaf allocate column widths proportionately instead of equally (balanced). It seems to make no difference. My five columns are identical widths with or without the check box checked.
To test, I added a CALS table using XMetaL's Table > Normal Table (1 row, 5 columns, has header). Columns one, two, and five have one word in each cell. Columns three and four have a short paragraph each. The header text is the same word for each column.
Am I missing something basic?gjn2066 March 26, 2012 at 8:55 am
Reply to: TOPLEAF: Unchecking Balance Columns setting has no effectMarch 26, 2012 at 8:55 am
I may have completely misunderstood, but you seem to be talking about allocating proportional width to table columns. The [u]Balance columns[/u] option you refer to means to allocate roughly equal content to each text column in a double (or more) column page. This is a vertical setting which has no effect on tables. We should modify the documentation to make this clearer.
Anyway, if I've understood correctly you are asking how to make table column width proportional to the amount of material in that column. This is a feature quite deliberately excluded from TopLeaf for several reasons. Dynamic width allocation is great for web pages, where the width of the view is subject to change without notice, and page breaks are not an issue. For hard print/PDF output it's not so good, because the addition of a small amount of material to one column slightly reduces the width of the remaining columns. This in turn can have a substantial effect on page breaks and the ripples can continue for many pages. TopLeaf is aimed primarily at the “set and forget” model, where a well designed stylesheet ensures that you get good output, and small corrections can be made without having to re-proof large volumes of output.
So, what do you do in your situation? What we normally advise is to allocate proportional column widths. As well as explicit widths (eg. 15mm, 1.2in), TopLeaf also supports both percentage (20%) and proportional (2.5*) widths in both CALS and HTML modes. The * widths work as follows: once fixed and percentage widths have been allocated, remaining columns receive a proportion of the remaining space. So a width 4* column receives twice as much as a 2* column. The default is 1* (ie. all columns equal width).
The advantage of * over % is that the * values don't have to add up to 100 (or anything else). So if you want a column just a tiny bit wider you can (say) increase from 2* to 2.1* without changing anything else. You set widths using
in HTML or in CALS. Note that * widths are non-standard in HTML tables but fully supported by TopLeaf.
There are other methods, such as defining specific named table styles with pre-allocated widths. But these require much more setup.
Hope this explanation helps. Let me know if you need any other info.
- You must be logged in to reply to this topic.