有没有在上下文中?

有没有在上下文中?

在 LaTeX 中\listoftables,我们有\listoffigures、等等(至少据我记得这是名字)。

在 ConTeXt 中是否有类似的东西可以实现?

我最初的想法是定义一个用于表格的寄存器、一个用于图形的寄存器和一个用于我需要的其他浮点类型的寄存器,并将其与每个\placetable\placefigure、一起使用\placeSOMETHING,并在附录中放置一个对应的寄存器\completeregister,但将寄存器与每个寄存器一起使用\place…很容易忘记。而且顺序也可能是错误的,因为我想按出现顺序排列相应列表中的浮点数,而不是按“名称”或“标签”或其他顺序。

答案1

在上下文中,所有命令都来自 \definefloat 接收自己的列表,其行为就像由创建的普通列表一样\definelist。例如,对于浮动物体,foo相应的设置将是\setuplist[foo]。为了输出文档中的列表,请使用\placelist[foo]\placelistoffoo

\useMPlibrary [dum]
\definefloat [foo]
\setuplist [foo] [style=italic]
\starttext
  \placelistoffoo \page
  \dorecurse {10} {
    \startplacefoo [title=Some Foo Float]
      \externalfigure [dummy] [width=42mm]
    \stopplacefoo
  }
\stoptext

另一个命令\completelistoffoo自动插入\title以列表名称开头的标题 。

由于\placefigure\placetable是使用相同机制派生的,因此它们也各自带有一个预定义的列表:

\setupexternalfigures [location=default]
\setuplist [figure] [style=slanted]
\starttext
  \placelist[figure]
  \dorecurse{4}{
    \startsection [title=Some Section]
      \input knuth \endgraf
      \startplacefigure [title=A Dutch Cow]
        \externalfigure [cow] [width=4.2cm]
      \stopplacefigure
      \input ward \endgraf
    \stopsection
  }
\stoptext

相关内容