There are two common ways to number hierarchical headings in a document. One is plainly superior.
The inferior method is to start with roman numerals at the top level (I, II, III); then switch to capital letters (A, B, C); then to Arabic numerals (1, 2, 3); then to lowercase letters (a, b, c); then to romanettes (i, ii, iii); then to variations of the above using two parentheses instead of one, or other barely visible changes.
Why is this is a terrible way to label hierarchical headings?
Roman numerals and romanettes stink. They’re difficult to read. (Quick, what number is XLIX?) They’re easy to confuse at a glance. (II vs. III, IV vs. VI, XXI vs. XII.) If what we mean by I, II, III is 1, 2, 3, then let’s just say so.
Letters are not much better because while we immediately recognize A, B, C as equivalent to 1, 2, 3, the letter-to-number correlation gets weaker as we go past F, G, H. (Quick, what number is T?) If what we mean by J, K, L is 10, 11, 12, then let’s just say so.
Mixing roman numerals and letters results in ambiguous references—when you see a lowercase i, does it denote the first item or the ninth item? Does a lowercase v denote the fifth item or the 22nd item?
By using only one index on each header, it’s easy to lose track of where you are in the hierarchy. If I’m at subheading d, is that d under superheading 2 or 3?
If you need to write a document with hierarchical headings, take a cue from technical writers, who solved this problem long ago—by using tiered numbers as indexes for hierarchical headings.
So instead of:
To my eyes, this system is more understandable, because it only uses numbers. It’s also more navigable, because it’s always clear from a tiered number where you are in the hierarchy. And every modern word processor can automatically produce tiered numbers. Consider it.
CSS will produce numbered headings by default if you use the
<ol>(ordered list) tag, but tiered numbers require a little extra work—investigate the