为什么在 ConTeXt 中将描述环境放在脚注中时,前面会添加一个空行?

为什么在 ConTeXt 中将描述环境放在脚注中时,前面会添加一个空行?

我想在脚注中放置一个描述环境,例如:

\definedescription[descr][headstyle=normal, style=normal, width=3em]
\starttext
    This is some text.\footnote{\startdescr{Label} This is a footnote.\stopdescr}
\stoptext

当我编译此代码时,它会放置脚注编号,但在显示描述环境之前会跳过一行,例如:

This is some text.~1

  -----
1
  Label   This is a footnote.

我怎样才能让它看起来像这样?

This is some text.~1

  -----
1 Label   This is a footnote.

答案1

集合的默认设置是definitionsbefore=\blank因此在 之前会有一个空白\startdesc。您可以通过在脚注中设置来摆脱它before=。但是,仅此一项无法在默认设置下正常工作。脚注(作为描述实现)和描述都默认alternative=left放置标签。而用户定义描述的标签则放置在正确的脚注符号,当然你不会想要。一个解决方案是使用另一种样式来描述你自己的描述(我使用`alternative=serried):

\definedescription[descr]
                  [headstyle=normal, style=normal, width=3em, alternative=serried]

\startsetups footnotedescription
  \setupdescription[descr][before=]
\stopsetups

\setupfootnotes[setups={footnotedescription}]

\starttext
    This is some text.\footnote{\startdescr{Label} This is a footnote.\stopdescr}
\stoptext

相关内容