Difference between revisions of "Command/setuplist"

From Wiki
Jump to navigation Jump to search
(Created page with "Documentation for \setuplist")
 
Line 28: Line 28:
 
     </cd:parameter>
 
     </cd:parameter>
 
     <cd:parameter name="criterium">
 
     <cd:parameter name="criterium">
       <cd:paramdoc></cd:paramdoc>
+
       <cd:paramdoc>Default criterium is <cd:iref name="criterium" type="local"/> for a newly defined list. That can cause an empty {{cmd|placelist}}. Criterium <cd:iref name="criterium" type="component"/> is used to establish [http://wiki.contextgarden.net/Table_of_Contents#ToC_.28and_other_lists.29_via_project_structures ToC (and other lists) via project structures].</cd:paramdoc>
 
       <cd:constant default="yes" type="local"></cd:constant>
 
       <cd:constant default="yes" type="local"></cd:constant>
 
       <cd:constant type="intro"></cd:constant>
 
       <cd:constant type="intro"></cd:constant>
Line 175: Line 175:
 
     </cd:parameter>
 
     </cd:parameter>
 
     <cd:parameter name="interaction">
 
     <cd:parameter name="interaction">
       <cd:paramdoc></cd:paramdoc>
+
       <cd:paramdoc>what part of content line should be interactive if {{cmd|setupinteraction|2=[state=start]}}</cd:paramdoc>
 
       <cd:constant type="yes"></cd:constant>
 
       <cd:constant type="yes"></cd:constant>
 
       <cd:constant type="no"></cd:constant>
 
       <cd:constant type="no"></cd:constant>
Line 240: Line 240:
 
       <cd:constant type="command"></cd:constant>
 
       <cd:constant type="command"></cd:constant>
 
       <cd:constant type="all"></cd:constant>
 
       <cd:constant type="all"></cd:constant>
       <cd:constant type="title"></cd:constant>
+
       <cd:constant type="title">sorts the list by title</cd:constant>
 
     </cd:parameter>
 
     </cd:parameter>
 
     <cd:parameter name="alternative">
 
     <cd:parameter name="alternative">
       <cd:paramdoc></cd:paramdoc>
+
       <cd:paramdoc>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 {{cmd|definelistalternative}} for exact details.</cd:paramdoc>
       <cd:constant type="a"></cd:constant>
+
       <cd:constant type="a">number – title – pagenumber</cd:constant>
       <cd:constant default="yes" type="b"></cd:constant>
+
       <cd:constant default="yes" type="b">number – title – spaces – pagenumber</cd:constant>
       <cd:constant type="c"></cd:constant>
+
       <cd:constant type="c">number – title – dots – pagenumber</cd:constant>
       <cd:constant type="d"></cd:constant>
+
       <cd:constant type="d">number – title – pagenumber (continuous)</cd:constant>
       <cd:constant type="e"></cd:constant>
+
       <cd:constant type="e">title (framed)</cd:constant>
       <cd:constant type="f"></cd:constant>
+
       <cd:constant type="f">title (left, middle or right aligned)</cd:constant>
       <cd:constant type="g"></cd:constant>
+
       <cd:constant type="g">title (centered)</cd:constant>
 
       <cd:constant type="left"></cd:constant>
 
       <cd:constant type="left"></cd:constant>
 
       <cd:constant type="right"></cd:constant>
 
       <cd:constant type="right"></cd:constant>
 
       <cd:constant type="top"></cd:constant>
 
       <cd:constant type="top"></cd:constant>
 
       <cd:constant type="bottom"></cd:constant>
 
       <cd:constant type="bottom"></cd:constant>
       <cd:constant type="command"></cd:constant>
+
       <cd:constant type="command">use with own 3-parameter macro, e.g <code>command=\MyListEntry</code>. removes linking and bookmarks in the parameters, unless added by the supplied macro.</cd:constant>
 
       <cd:constant type="none"></cd:constant>
 
       <cd:constant type="none"></cd:constant>
       <cd:constant type="interactive"></cd:constant>
+
       <cd:constant type="interactive">use with own 3-parameter macro <code>command=\MyListEntry</code>. keeps linking and bookmarks in the parameters.</cd:constant>
 
       <cd:constant type="paragraph"></cd:constant>
 
       <cd:constant type="paragraph"></cd:constant>
 
       <cd:constant type="horizontal"></cd:constant>
 
       <cd:constant type="horizontal"></cd:constant>
Line 323: Line 323:
 
<cd:description><!-- the long description of the command goes here -->
 
<cd:description><!-- the long description of the command goes here -->
 
</cd:description>
 
</cd:description>
<cd:examples></cd:examples>
+
<cd:examples><cd:example title="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:
 +
 
 +
<context source="yes">
 +
\setuppapersize[A7,landscape]
 +
\setuplist[alternative=c]
 +
 
 +
\setuphead[subsubsection][number=no]
 +
\setuplist[subsubsection][margin=20mm]
 +
 
 +
\starttext
 +
  \placecontent
 +
  \hairline
 +
  \section{Section}
 +
    \subsection{Subsection}
 +
      \subsubsection{Subsubsection}
 +
\stoptext
 +
</context>
 +
</cd:example><cd:example title="Left-hand page numbers">The following example positions the page number to the left of the list entry title:
 +
 
 +
<texcode>
 +
\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]
 +
</texcode>
 +
 
 +
The <code>alternative=interactive</code> is required to maintain hyperlinked page numbers when links are enabled in the document. Without the <code>after=\endgraf</code> items would be displayed on one line.</cd:example></cd:examples>
 
<cd:notes></cd:notes>
 
<cd:notes></cd:notes>
 
<cd:seealso>
 
<cd:seealso>
Line 336: Line 371:
 
<cd:commandref name="setupcombinedlist"></cd:commandref>
 
<cd:commandref name="setupcombinedlist"></cd:commandref>
 
<cd:commandref name="definecombinedlist"></cd:commandref>
 
<cd:commandref name="definecombinedlist"></cd:commandref>
<cd:commandref name="definelistalternative"></cd:commandref></cd:seealso>
+
<cd:commandref name="definelistalternative"></cd:commandref>
 +
<cd:wikipage page="Table of Contents"></cd:wikipage></cd:seealso>
 
</cd:commandgroup>
 
</cd:commandgroup>

Revision as of 19:51, 25 September 2020


\setuplist

Summary

The command \setuplist configures collected lists like for the TOC

Settings

\setuplist[...,...][...=...,...]
[...,...]list
statestart stop
locationnone here
typesimple command userdata
criteriumlocal intro reference sectionblock:reference all sectionblock:all text sectionblock:text current sectionblock:current here previous sectionblock:previous component section sectionblock:section
listname
widthfit broad dimension
heightfit broad dimension
depthfit broad dimension
symbolone two three none default
labelyes no none name
startercommand
stoppercommand
commandthreearguments
numbercommandoneargument
textcommandoneargument
pagecommandoneargument
pagenumberyes no always realpage
headnumberyes no always
beforecommand
aftercommand
inbetweencommand
marginnone dimension
distancenone dimension
aligntitleyes no
numberalignleft right middle flushleft flushright inner outer
alignsee \setupalign
hangyes no
leftcommand
rightcommand
interactionyes no all number text title page sectionnumber pagenumber
limittextyes no text
stylestyle command
colorcolor
numberstylestyle command
numbercolorcolor
textstylestyle command
textcolorcolor
pagestylestyle command
pagecolorcolor
referencenumber
extrasname
ordercommand all title
alternativea b c d e f g left right top bottom command none interactive paragraph horizontal vertical name
maxwidthdimension
pageprefixyes no
pageprefixseparatorsetname
pageprefixconversionsetname
pageprefixsetname
pageprefixsegmentsnumber number:number number:* number:all section section:section section:* section:all current
pageprefixconnectorcommand processor->command
pageconversionsetname
pagestartercommand processor->command
pagestoppercommand processor->command
...=...,...inherits from \setupcounter
...=...,...inherits from \setupframed

OptionExplanation
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.
interaction
what part of content line should be interactive if \setupinteraction[state=start]
order
title sorts the list by title
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.

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

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.

Notes

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: