I Am a Genius: listen to my words

I Have the Conch

listen to my words

Table of Contents in WORD

OK, I feel kind of stupid putting this in here because… Word? Really? Yeah, i should probably be using Open Office. But when MS Office is provided by my employer, I get lazy. Also, this ties in with people who are documenting their software too, which isn’t always a separate technical writer. A lot of programmers (usually badly) document too.

Anyway, let me give some background.

The Problem

I’ve worked as a technical writer for over a decade. As a technical writer, you often have to create complex, multi-level, numbered headings, something like this:

A Multi-level outline example

What’s really messed up about this is that most of the time, you have to do all the numbering yourself. Add a new level 1 heading? Guess what, you get to manually renumber every single frigging heading after that point. EVERY. ONE.

Why is this? Because Word only creates a table of contents based on the heading styles. So while you have this perfectly good outline numbering system, including the 1, 1.1, 1.1.1 system popular in technical writing circles, you can’t auto generate a TOC out of that.


I thought for certain that this couldn’t be the case. I mean, I can’t be the first person who wanted Word to handle all the heading numbering for me and then create a TOC from that. So I Googled it. And was discouraged.

Ok, I admit I didn’t search past the first page of most of my search queries. But when “Create table of contents from numbered list in Microsoft Word” is giving me results for creating numbered lists OR creating a table of contents without even mentioning the other, it feels like a huge waste of time to keep looking.

(I also got a hit for building a TOC from a numbered list in InDesign… but that wasn’t helpful either, you see.)

So I played with it some more. And I have our solution.

The Solution Preface: SKILLZ J00 NEED

You need to know how to set up your outline list. Headers, by default, are left aligned. Outline levels, by default, are indented according to their level. Common practice, since it uses heading styles, is to have all the section names left aligned. You’ll need to modify the outline definitions to ditch the indents if you want to have consistent visual style. I’m not going to spend the time here to explain that. It’s a much easier topic to find information on.

The other thing you need to know how to do is define quick styles. Strictly speaking, this isn’t absolutely necessary, but really, it’s not an advanced topic and it makes a lot of things MUCH easier. I’m also not explaining that here. It’s also easy to learn or find information on Google for.

The Solution Part I: Add Text

Use the outline system to make your document. It will save you ages of time. You probably already do this, but if you don’t, make sure you’ve got defined quick styles for each level you’re using. If you don’t, you’ll have to add the step of selecting all similarly formatted text, and that’s not as reliable if you made one mistake somewhere. Using the quick styles is a better way to make sure you have a uniform styling system anyway, so you should be doing it.

When you’re done, open the Style Bar.

Hover over your list 1 style. You see how you get the drop down carrot? Open the drop down and select All instances of the list 1 style.

Then open the References tab on your ribbon.

The first box in that tab is the Table of Contents tab. Click the Add Text button. Almost certainly the check mark will be next to “Do Not Show in Table of Contents.” This is evil. Click Level 1.

Repeat this process with list level 2 styles. Select them all, then from that Add Text button choose Level 2.

Repeat for as many levels as you’re going to use.

Then go generate your Table of Contents.

It’s worth mentioning that this method doesn’t have to be used with list styles, that’s just seems what’s most natural. You can manually insert these fields pretty much anywhere you want.

It’s also worth mentioning that using “Add text” for the same spot twice has no effect. You will still only have one entry for that spot in your table of contents. So if you make your table of contents and then have to do another draft that changes the outline structure, you can still use the same process and not worry that your TOC will be fubar.

Finally, it’s worth mentioning that this changes how you create with internal linking. Sure, you can use the table of contents to link to other places, but if you want to link within the document using this method, you need to use Cross-references. Word DOES create a hidden bookmark for each of these locations, but they don’t show up in the Hyperlink dialog.

So, if like me and most people I’ve worked with and you use Hyperlinks for your internal linking, it’s time for a new process.

The Solution Part II: Cross-Referencing

Place your cursor at the point you want to create the link.

On the Insert tab of the Ribbon, click Cross-reference.

You get a lot of things you can use as the reference target. For this system, from the Reference type drop down, choose “Numbered Item” (after all, that’s how you created your structure, right?). Make sure “insert as hyperlink” is checked, and choose an option from the “Insert reference to:” drop down. I personally like to use Paragraph text. Unfortunately, there isn’t an option for both the number and the text. Which is pretty stupid. But then again, this is an article about a work around because of a system that’s pretty stupid, so we shouldn’t be surprised by this.

The Cross-reference dialog in Word

Then select your desired numbered item and click Insert. Your Cross-reference text has appeared! Close your dialog and test the results by holding down CTRL and clicking the new text. The document should navigate to the point you designated.

The first big limitation to this method is what I mentioned above: it doesn’t give you the choice for Paragraph Number and Paragraph Text combined. You can over come this by inserting the number then the text. From a document end user point of view, the effect is the same.

The other big limitation to this method is the formatting. As in, there is none. It looks like the rest of the text. I have a habit of clicking things anyway, because I want to believe, despite evidence to the contrary, that things will work the way that they really should. But most people aren’t like me. If there’s no visual clue, they’re not going to bother trying to click it. Therefore, I recommend manually changing the color or underlining or both. It’s kind of a pain, but I think it’s less of a pain than tracking the numbers for headings yourself, especially if you have a “Cross-reference” quick style set up.


I am aware that this may appear to be complex. It’s a very quick process though. The outline itself only takes half a minute for the whole document. As compared to minutes that would be taken on even a relatively small document, and the enormous amount of time spent fixing the numbering when a new section is added to your document.

Part 2 of the solution is probably slightly more complicated if your practice has previously been to use hyperlinks.. Adding a hyperlink makes a format change for you and you can add it to existing text. Whereas a cross-reference adds new text and does no formatting. However, once you’re used to it, I believe this will save time, or at least be insignificantly longer. After all, you never have to type the words for the target. So if you use [Paragraph number][Paragraph text] as your target, you have 2 clicks extra to get the text in. And a third click if you have your quick style in place. That’s not hard. Factored in with the efficiency of using a list instead of headings, this system comes out as a win.

Leave a Reply