Command/setuplist

Unofficial ConTeXt Wiki mirror

Last modified: 2025-11-28

Summary

The command \setuplist configures collected lists like for the TOC

Settings

\setuplist[...,...][...=...,...]
[...,...] list
state start stop
location none here
type simple command userdata
criterium local intro reference sectionblock:reference all sectionblock:all text sectionblock:text current sectionblock:current here previous sectionblock:previous component section sectionblock:section
list name
width fit broad dimension
height fit broad dimension
depth fit broad dimension
symbol one two three none default
label yes no none name
starter command
stopper command
command threearguments
numbercommand oneargument
textcommand oneargument
pagecommand oneargument
pagenumber yes no always realpage
headnumber yes no always
before command
after command
inbetween command
margin none dimension
distance none dimension
aligntitle yes no
numberalign left right middle flushleft flushright inner outer
align see \setupalign
hang yes no
left command
right command
interaction yes no all number text title page sectionnumber pagenumber
limittext yes no text
style style command
color color
numberstyle style command
numbercolor color
textstyle style command
textcolor color
pagestyle style command
pagecolor color
reference number
extras name
order command all title
alternative a b c d e f g left right top bottom command none interactive paragraph horizontal vertical name
maxwidth dimension
pageprefix yes no
pageprefixseparatorset name
pageprefixconversionset name
pageprefixset name
pageprefixsegments number number:number number:* number:all section section:section section:* section:all current
pageprefixconnector command processor->command
pageconversionset name
pagestarter command processor->command
pagestopper command processor->command
...=...,... inherits from \setupcounter
...=...,... inherits from \setupframed

Option Explanation
location
If you use \writebetweenlist, "here" cares for using the current location (page number).
criterium
Default criterium is criterium=local for a newly defined list. That can cause an empty \placelist. Criterium criterium=component is used to establish ToC (and other lists) via project structures.
local list of the current section/chapter
all complete list (e.g., ToC of a whole book)
list
Inherit settings from this named list
width
The width of the heading number (which is left aligned).
label
Use an automatical, language dependent label like “chapter” in front of the list entries (see \setuplabeltext.
yes use label
no don’t use a label
name use your own named label
starter
Gets inserted before the (section) number
stopper
Gets inserted after the (section) number
command
Replace the rendering of the whole list entry with your own macro (three arguments: number, text, page no.).
numbercommand
Replace the rendering of the number with your own macro.
textcommand
Replace the rendering of the list entry text with your own macro.
pagecommand
Replace the rendering of the page number with your own macro.
pagenumber
Show page number?
headnumber
Show head number?
before
Insert before each list entry.
after
Insert after each list entry.
inbetween
Insert between list entries.
margin
Extra indent between the margin (where text would normally start) and the heading number.
distance
The gap between the heading number and the heading.
aligntitle
Should an unnumbered section align in the table of contents under the number rather than the title?
numberalign
Alignment of the number.
align
Alignment of the text.
hang
Indent text after number?
left
Insert before entry text.
right
Insert after entry text.
interaction
What part of content line should be interactive if \setupinteraction[state=start]
style
Style of the whole entry.
color
Color of the whole entry.
numberstyle
Style of the number.
numbercolor
Color of the number.
textstyle
Style of the entry text.
textcolor
Color of the entry text.
pagestyle
Style of the page number.
pagecolor
Color of the page number.
extras
Trick to insert stuff into a list, e.g., page breaks
order
command keeps the order of appearance if there are injections (\writebetweenlist)
all keeps the order of appearance if there are injections (\writebetweenlist)
title sorts the list by title (only for section lists without injections)
alternative
Overall layout of the list. The alternatives a, b, c, etc. are predefined. The most flexible solution to implement a custom layout is to define a new custom one which can be set as argument to alternative, see \definelistalternative for exact details.
a number – title – pagenumber
b number – title – spaces – pagenumber
c number – title – dots – pagenumber
d number – title – pagenumber (continuous)
e title (framed)
f title (left, middle or right aligned)
g title (centered)
command use with own 3-parameter macro, e.g command=\MyListEntry. removes linking and bookmarks in the parameters, unless added by the supplied macro.
interactive use with own 3-parameter macro command=\MyListEntry. keeps linking and bookmarks in the parameters.
maxwidth
Max. width of the entry text.
pageprefix
Rrefix of the page number; see prefix in \setupcounter.
pagestarter
Insert before the page number.
pagestopper
Insert after the page number.

Description

Examples

Unnumbered ToC items, with some shift

Sometimes we need to insert unnumbered items into the ToC, and to specify them horizontal shift to "keep the look" of the other (numbered) items. Here "margin" option comes into play:

  • \setuppapersize[A7,landscape]
    \setuplist[alternative=c]
    
    \setuphead[subsubsection][number=no]
    \setuplist[subsubsection][margin=20mm]
    
    \starttext
      \placecontent
      \hairline
      \section{Section}
        \subsection{Subsection}
          \subsubsection{Subsubsection}
    \stoptext
    

Use different alternatives for different levels in the same ToC

You can use different alternatives for different levels.

  • \setuppapersize[A7,landscape]
    \setuplist[alternative=c]
    \setuplist[subsection][alternative=d]
    
    \starttext
     \placecontent
     \hairline
     \section{Section}
       \subsection{Subsection}
         \subsubsection{Subsubsection}
    \stoptext
    

Left-hand page numbers

The following example positions the page number to the left of the list entry title:

\define[3]\SectionToCEntry{
  \leftaligned\bgroup
     \hbox to 2em{#3}%
     \hskip 1em
     \vtop{\hsize\dimexpr\textwidth-3em\relax#2}%
  \egroup
}

\setuplist
  [section]
  [alternative=interactive,
   command=\SectionToCEntry,
   after=\endgraf]

The alternative=interactive is required to maintain hyperlinked page numbers when links are enabled in the document. Without the after=\endgraf items would be displayed on one line.

Using tabular numbers

In a long TOC it looks awkward if proportional numbers are used. It is better to enable the font feature tabularnumbers:

\setuplist
  [chapter]
  [pagestyle={\feature[+][tabularnumbers]}]

Notes

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: