Much ado about Office

4 February 2011

When section breaks won’t change

Filed under: Uncategorized — snoopen @ 18:59

I’ve seen a few Word documents recently that contain next section breaks which cannot be changed to continuous  breaks. No matter what I tried the section break didn’t want to change from next to continuous. Deleting the section break would have meant messing up headers, footers etc so was out of the question. My colleague who is also a Word expert couldn’t figure it out either. There just didn’t seem to be anything wrong with the document that would make it unable to change.

Finding the problem

I decided the quickest way to figure out what’s going wrong was to reduce the document to just the problem sections then to look at the XML. After a bit of searching I found the issue. Turns out I didn’t even have to go into the XML either.

I noticed that the page sizes (specified in dxa units) were slightly different for the two sections. I changed the values to match, saved, archived, opened and hey presto, all fixed! That’s all that was wrong!

The fix

So the fix is simple, reset both page sizes to be exactly the same and you can convert that section break without an issue. You will have to increase the page sizes first then set the original page size again. This is because Word won’t make a change unless it’s significantly different.

On the technical side

The XML format saves measurements in twentieths of a point (dxa).  You can read all about it here. The math to arrive at the correct dxa measurements is not that difficult. Take the measurement in cm, convert to inches (divide by 2.54), then points (multiply by 72) then convert to dxa (multiply by 20) and round to the nearest integer. Thus for an A4 page: 21cm = 21 / 2.54 * 72 * 20 = 11906 and 29.7cm = 16838.

Simple isn’t it? Well not for Microsoft. Somehow they’ve managed to arrive (at least recently) at 11907 and 16840. This appears to be very intentional seeing as I cannot conceive any method where rounding in any unit of measurement would round out either way to get the same result. (And I’m even taking the inaccuracies of single and double float numbers into consideration!!!)

Further, it seems that both Word 2007 and 2003 now apply the same incorrect measurements when changing the page size. Since all my old Normal.dot(x) files have the correct measurement I’m assuming they were originally created by Word correctly. So that must mean that a service pack has gone and changed the defaults.

Conclusion

At least the fix is simple. But why should it be necessary? The correct page sizes should be used and failing that Word should account for the 1 or 2 dxa difference and allow the continuous break change regardless.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: