{"course":{"slug":"vector-and-print","title":"Vectors, Logos and Things That Get Printed","url":"https://addaly.com/learn/vector-and-print","level":"beginner","track":"create"},"lesson":{"slug":"contents-and-cross-references","title":"Contents lists and cross-references that renumber themselves","url":"https://addaly.com/learn/vector-and-print/contents-and-cross-references","position":52,"of":73,"minutes":8,"answer":"Generated contents lists, cross-references, numbered captions and running heads all derive from paragraph styles and update when pages move, so anything that refers to a position in the document should be generated rather than typed.","keyIdea":"Generated contents lists, cross-references, numbered captions and running heads all derive from paragraph styles and update when pages move, so anything that refers to a position in the document should be generated rather than typed, including the leader dots."},"body":{"format":"markdown","text":"## Never type a page number into a contents list\n\nThe contents list is the first place a long document goes wrong, because it is built early, the document shifts, and nobody rechecks it. A generated contents list cannot be wrong, because it is derived from the pages themselves.\n\n## How a generated contents works\n\nIt reads paragraph styles. Every paragraph carrying \"Chapter Title\" becomes a level-1 entry; every \"A-Head\" becomes level 2; the page number is read from where the paragraph actually is.\n\nWhich means two things follow. **The styles have to be applied properly**: a heading formatted by hand rather than by style will be missing from the contents, and that is the commonest failure. And **you have to regenerate** after the pages move.\n\n- **InDesign**: Layout ▸ Table of Contents. Choose which paragraph styles map to which levels, assign a paragraph style to each level's entry, and tick *Include Book Documents* for a multi-file book. Update with Layout ▸ Update Table of Contents.\n- **Scribus**: Insert a text frame, give it a name, then File ▸ Document Setup ▸ Table of Contents and Indexes, and set which attribute to collect. Generate from Extras ▸ Generate Table of Contents. Scribus's implementation is more limited and works on an attribute you attach to frames.\n- **LibreOffice Writer**: Insert ▸ Table of Contents and Index. Update by right-clicking it.\n- **LaTeX**: `\\tableofcontents` and two compilation passes.\n\n## Leader dots done properly\n\nThe row of dots between an entry and its page number is a **tab leader**, not typed full stops.\n\nSet a right-aligned tab at the right edge of the column, and in the tab dialog set the *Leader* character to a full stop, often with a space after it so the dots are not crowded: type `. ` as the leader string. Then the dots regenerate at the right length whenever an entry changes.\n\nTyped dots are the giveaway of an amateur document, and they are also wrong the moment a chapter title gets longer.\n\n## Cross-references\n\n\"See figure 12 on page 47\" is a reference that will be wrong within a week unless it is live.\n\n**InDesign**: Type ▸ Hyperlinks & Cross-References ▸ Insert Cross-Reference. Point it at a paragraph (usually a figure caption or a heading) and choose a format: \"Full Paragraph\", \"Page Number Only\", or a custom build. When the figure moves, the reference updates.\n\nThe Cross-References panel flags any reference whose target has been deleted, which is a genuine safety net on a technical manual.\n\n**LaTeX**: `\\label{fig:pump}` and `\\ref{fig:pump}` / `\\pageref{fig:pump}`, and this is where LaTeX is unbeatable: a document with four hundred cross-references is no harder than one with four.\n\n**LibreOffice Writer**: Insert ▸ Cross-reference, with reference targets set on headings, bookmarks or numbered items.\n\n**Scribus** has no cross-reference system. On a document that needs them, this is a real reason to choose something else.\n\n## Numbered figures, tables and equations\n\nSet the caption paragraph style to use an **automatic numbered list**. Insert a figure in the middle and everything after it renumbers, and every cross-reference follows.\n\nInDesign: define a numbered list under Type ▸ Bulleted & Numbered Lists ▸ Define Lists, then attach it to the caption style with the format `Figure ^#:`. LibreOffice: Insert ▸ Caption, which does this for you and creates the reference target at the same time.\n\n## Indexing, briefly\n\nAn index is built from **index markers** placed in the text, not from a search. You mark a term, optionally with a subentry, and the application collects the markers and their page numbers.\n\nIt is slow, careful work (a 300-page book's index is one to three days) and it is valuable in a reference book. InDesign and LibreOffice both support it; Scribus's support is minimal; LaTeX has `makeindex`.\n\nIf the budget does not allow an index, say so rather than producing a bad one. A concordance of every occurrence of every word is worse than no index, because it wastes the reader's time convincingly.\n\n## The rule\n\nAnything in a document that refers to a position in the document (a page number, a figure number, a chapter name in a running head) should be generated. If you are typing it, you are creating something that will become untrue without telling anybody."},"check":{"question":"A generated contents list is produced for a 120-page report. Three second-level headings are missing from it, although they look identical to the ones that appear. What is almost certainly true of those three?","options":[{"text":"They fall on pages using a different master, which the contents generator excludes by default.","correct":false,"tempting":"Contents generation reads paragraph styles across the whole document and has no relationship to which master a page uses."},{"text":"They were formatted by hand to look like the heading style rather than having it applied.","correct":true},{"text":"They sit inside anchored frames, and text in anchored objects is not collected.","correct":false,"tempting":"Plausible-sounding, but the question describes ordinary headings in the text flow, and most generators do collect from threaded frames regardless."},{"text":"The contents list was generated before those three headings were written, and regenerating is the only fix.","correct":false,"tempting":"Regeneration would pick up genuinely styled headings added later; the fact that these three remain missing after generation points at the styling, not the timing."}]},"prev":{"slug":"tables-that-are-tables","title":"Tables, and why tabs are not one","url":"https://addaly.com/learn/vector-and-print/tables-that-are-tables"},"next":{"slug":"data-merge-and-variable-data","title":"Five hundred different cards from one template","url":"https://addaly.com/learn/vector-and-print/data-merge-and-variable-data"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Contents lists and cross-references that renumber themselves', in Vectors, Logos and Things That Get Printed. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/vector-and-print/contents-and-cross-references (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Contents lists and cross-references that renumber themselves","courseTitle":"Vectors, Logos and Things That Get Printed","module":{"index":6,"slug":"layout-that-scales","title":"Documents that survive a late change"},"answer":null,"keyIdea":"Generated contents lists, cross-references, numbered captions and running heads all derive from paragraph styles and update when pages move, so anything that refers to a position in the document should be generated rather than typed, including the leader dots.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"never-type-a-page-number-into-a-contents-list","runs":[{"text":"Never type a page number into a contents list"}]},{"t":"p","runs":[{"text":"The contents list is the first place a long document goes wrong, because it is built early, the document shifts, and nobody rechecks it. A generated contents list cannot be wrong, because it is derived from the pages themselves."}]},{"t":"h2","id":"how-a-generated-contents-works","runs":[{"text":"How a generated contents works"}]},{"t":"p","runs":[{"text":"It reads paragraph styles. Every paragraph carrying “Chapter Title” becomes a level-1 entry; every “A-Head” becomes level 2; the page number is read from where the paragraph actually is."}]},{"t":"p","runs":[{"text":"Which means two things follow. "},{"text":"The styles have to be applied properly","b":true},{"text":": a heading formatted by hand rather than by style will be missing from the contents, and that is the commonest failure. And "},{"text":"you have to regenerate","b":true},{"text":" after the pages move."}]},{"t":"ul","items":[[{"text":"InDesign","b":true},{"text":": Layout ▸ Table of Contents. Choose which paragraph styles map to which levels, assign a paragraph style to each level’s entry, and tick "},{"text":"Include Book Documents","i":true},{"text":" for a multi-file book. Update with Layout ▸ Update Table of Contents."}],[{"text":"Scribus","b":true},{"text":": Insert a text frame, give it a name, then File ▸ Document Setup ▸ Table of Contents and Indexes, and set which attribute to collect. Generate from Extras ▸ Generate Table of Contents. Scribus’s implementation is more limited and works on an attribute you attach to frames."}],[{"text":"LibreOffice Writer","b":true},{"text":": Insert ▸ Table of Contents and Index. Update by right-clicking it."}],[{"text":"LaTeX","b":true},{"text":": "},{"text":"\\tableofcontents","code":true},{"text":" and two compilation passes."}]]},{"t":"h2","id":"leader-dots-done-properly","runs":[{"text":"Leader dots done properly"}]},{"t":"p","runs":[{"text":"The row of dots between an entry and its page number is a "},{"text":"tab leader","b":true},{"text":", not typed full stops."}]},{"t":"p","runs":[{"text":"Set a right-aligned tab at the right edge of the column, and in the tab dialog set the "},{"text":"Leader","i":true},{"text":" character to a full stop, often with a space after it so the dots are not crowded: type "},{"text":". ","code":true},{"text":" as the leader string. Then the dots regenerate at the right length whenever an entry changes."}]},{"t":"p","runs":[{"text":"Typed dots are the giveaway of an amateur document, and they are also wrong the moment a chapter title gets longer."}]},{"t":"h2","id":"cross-references","runs":[{"text":"Cross-references"}]},{"t":"p","runs":[{"text":"“See figure 12 on page 47” is a reference that will be wrong within a week unless it is live."}]},{"t":"p","runs":[{"text":"InDesign","b":true},{"text":": Type ▸ Hyperlinks & Cross-References ▸ Insert Cross-Reference. Point it at a paragraph (usually a figure caption or a heading) and choose a format: “Full Paragraph”, “Page Number Only”, or a custom build. When the figure moves, the reference updates."}]},{"t":"p","runs":[{"text":"The Cross-References panel flags any reference whose target has been deleted, which is a genuine safety net on a technical manual."}]},{"t":"p","runs":[{"text":"LaTeX","b":true},{"text":": "},{"text":"\\label{fig:pump}","code":true},{"text":" and "},{"text":"\\ref{fig:pump}","code":true},{"text":" / "},{"text":"\\pageref{fig:pump}","code":true},{"text":", and this is where LaTeX is unbeatable: a document with four hundred cross-references is no harder than one with four."}]},{"t":"p","runs":[{"text":"LibreOffice Writer","b":true},{"text":": Insert ▸ Cross-reference, with reference targets set on headings, bookmarks or numbered items."}]},{"t":"p","runs":[{"text":"Scribus","b":true},{"text":" has no cross-reference system. On a document that needs them, this is a real reason to choose something else."}]},{"t":"h2","id":"numbered-figures-tables-and-equations","runs":[{"text":"Numbered figures, tables and equations"}]},{"t":"p","runs":[{"text":"Set the caption paragraph style to use an "},{"text":"automatic numbered list","b":true},{"text":". Insert a figure in the middle and everything after it renumbers, and every cross-reference follows."}]},{"t":"p","runs":[{"text":"InDesign: define a numbered list under Type ▸ Bulleted & Numbered Lists ▸ Define Lists, then attach it to the caption style with the format "},{"text":"Figure ^#:","code":true},{"text":". LibreOffice: Insert ▸ Caption, which does this for you and creates the reference target at the same time."}]},{"t":"h2","id":"indexing-briefly","runs":[{"text":"Indexing, briefly"}]},{"t":"p","runs":[{"text":"An index is built from "},{"text":"index markers","b":true},{"text":" placed in the text, not from a search. You mark a term, optionally with a subentry, and the application collects the markers and their page numbers."}]},{"t":"p","runs":[{"text":"It is slow, careful work (a 300-page book’s index is one to three days) and it is valuable in a reference book. InDesign and LibreOffice both support it; Scribus’s support is minimal; LaTeX has "},{"text":"makeindex","code":true},{"text":"."}]},{"t":"p","runs":[{"text":"If the budget does not allow an index, say so rather than producing a bad one. A concordance of every occurrence of every word is worse than no index, because it wastes the reader’s time convincingly."}]},{"t":"h2","id":"the-rule","runs":[{"text":"The rule"}]},{"t":"p","runs":[{"text":"Anything in a document that refers to a position in the document (a page number, a figure number, a chapter name in a running head) should be generated. If you are typing it, you are creating something that will become untrue without telling anybody."}]}],"check":{"question":[{"text":"A generated contents list is produced for a 120-page report. Three second-level headings are missing from it, although they look identical to the ones that appear. What is almost certainly true of those three?"}],"options":[{"text":[{"text":"They fall on pages using a different master, which the contents generator excludes by default."}],"correct":false,"tempting":[{"text":"Contents generation reads paragraph styles across the whole document and has no relationship to which master a page uses."}]},{"text":[{"text":"They were formatted by hand to look like the heading style rather than having it applied."}],"correct":true,"tempting":null},{"text":[{"text":"They sit inside anchored frames, and text in anchored objects is not collected."}],"correct":false,"tempting":[{"text":"Plausible-sounding, but the question describes ordinary headings in the text flow, and most generators do collect from threaded frames regardless."}]},{"text":[{"text":"The contents list was generated before those three headings were written, and regenerating is the only fix."}],"correct":false,"tempting":[{"text":"Regeneration would pick up genuinely styled headings added later; the fact that these three remain missing after generation points at the styling, not the timing."}]}],"order":[0,3,2,1],"why":null},"prev":{"slug":"tables-that-are-tables","title":"Tables, and why tabs are not one","minutes":8},"next":{"slug":"data-merge-and-variable-data","title":"Five hundred different cards from one template","minutes":9}}}