References, notes, indexes, and floats

Unofficial ConTeXt Wiki mirror

Last modified: 2026-07-20


This tutorial introduces several mechanisms that connect, annotate, collect, or place information in a ConTeXt document. It begins with PDF navigation and references, then turns to notes and floats, followed by indexes, glossaries, bibliography, and attachments.

Need Section
Navigate through the PDF PDF navigation and bookmarks
Refer to another place or an external resource References and links
Add footnotes or margin notes Notes
Place figures and tables Floats and captions
Build indexes or glossaries Indexes and registers and Synonyms, abbreviations, and glossaries
Cite publications Citations and bibliography
Embed files in the PDF Attachments

PDF navigation and bookmarks

Two commands activate the main PDF navigation features:

The following example includes sections and subsections, but expands only sections by default:

References and links

Internal references

Many elements have a reference option like \startsection. \placefigure and \placetable directly require a reference as argument.

Then you can use:

You can also define a reference anywhere you like with \reference[reflabel]{text}.

External links and URLs

Hyperlinks can be defined with \goto{the text} [url(the url.org)]. The URL should be specified within url(…). Without it, \goto can be used to refer to internal references.


The same URL is often used several times. One can define it once with \useurl [arg1] [arg2] [arg3] [arg4] (in the setup area for example) and use it several times with \goto or \from or Template:url

Notes

Footnotes

The \footnote[label]{the note content} command places the text given as an argument as a footnote, and it is possible to indicate a label between square brackets in order to refer to it later with the \note command.

Margin notes

To place a note in the margin, use the \inouter{the note content} or the other related commands. \setupmargindata is used to configure the typesetting.

Floats and captions

Floating Objects (floats) are placed (and numbered) automatically with \placefloat (or its sister commands \placefigure, \placetable…). It allows to create floating figures or table with caption.

Floats are placed at an appropriate position determined by the TeX float placement algorithm. The algorithm has a number of options that can influence float placement.

Floats include "figure", "table", and "intermezzo". Additional floats can be defined using \definefloat.

Additionally, you have access to commands like \placelistoffigures, \placelistoftables which creates a list of the "figures" / "tables" / "intermezzos" used in the document.

\placefloat[location][reference]{caption}{the content of the float}

To tweak the numbering scheme, please see Section numbering

Indexes and registers

Index entries are registered with \index and the index itself is inserted with \placeindex. As you see, the text used for the \index command is not inserted at the place of the command.

Synonyms, abbreviations, and glossaries

First we define a category of synonyms with \definesynonyms and then we can define each term with \abbreviation. Each newly defined term is then available as a command.

Citations and bibliography

Four commands are key

Attachments

The \attachment (or \startattachment) command is used to insert a document as an attachment. Do not forget \setupinteraction[state=start] to make it effective.

2 remarks for this demo: we have to use a buffer to produce the file to be attached, and the rendering contains a glitch that you will not get locally.

Customization is performed with \setupattachment and a \placeattachments is also available.

For example, with location=none, your attachments get collected until \placeattachments.


You can link to an attachment if it is a PDF file and use its name as a prefix:

\attachment[method=hidden, file={other.pdf}]
\goto{Click here to open other}[other::]

Related pages