
You justify now so that it's always relative to the same tab stops. Then we just need to know what the next tab stop is.įor that, any tab stop after the end of the displayed level text is valid:Īny hanging indent (as long as the doNotUseIndentAsNumberingTabStop element §2.15.3.2 is not set)ĭefault tab stops at the distances set by the defaultTabStop element §2.15.1.24įinally, we justify the result - from start of the level text to end of the line. (Note: this is the default if suff is not set!) If it's space or nothing, add a space or nothing. Now, look at the suff element §2.9.30 to see what separates the bullet from the text. If the numFmt isn't "bullet", we need to replace the % syntax appropriately. Next, place the text in the lvlText element §2.9.12 at the location of the final left indent. If there is a then that tab is cleared and not only does not count as a tab, but clears out any parent tabs (style, list) that are at the same position.įirst, check the numFmt element §2.9.18 to see the format of any numbers in the list definition.


Since tab stops are additive, we just gather them all up and we have the full set of tab stops There, it correctly states that the direct formatting (the pPr under the p element) supersedes the version in the list definition

This is also posted at Indent Positioning in DOCX (where it has much better formatting than what I could do here).įirst, to get the final state of any property (including indents), we need to follow the style hierarchy rules in §2.7.2 of the specification
