ConTeXt 中项目之间的顶级内容

ConTeXt 中项目之间的顶级内容

假设我有

\starttext
\startitemize[a]
  \item Some task to do

  \startmode[solution]
    Proposed solution
  \stopmode

  \item Some other task
  ...
\stopitemize
\stoptext

我希望解决方案在顶层呈现(即不像项目内容那样缩进),但我还想继续项目标记(因此简单地退出itemize并稍后重新打开它是行不通的,因为它会a.重新开始)。

我发现的第一件事是indentnext属性,它不应该在项目的以下段落中缩进。我尝试了这两件事,但都没有奏效:

\setupitemgroup[itemize][nextindent=no]
\startitemize[a]

和:

\startitemize[a][nextindent=no]

解决方案仍然缩进。根据 wiki,这应该可行,但我不知道该怎么做。有什么建议吗?

答案1

虽然该解决方案continue确实有效,但我认为它并不是真正意义上的“ConTeXt 方式”。我会采用更高的抽象,并为练习和解决方案创建定制环境。

\defineenumeration
  [exercise]
  [
    text=,
    alternative=left,
    numberconversion=a,
    headstyle=,
    stopper=.,
    width=fit,
  ]

% You cannot wrap modes into \start...\stop
% http://tex.stackexchange.com/a/319269/10995
\startmode[solution]
  \definestartstop[solution]
\stopmode

\startnotmode[solution]
  \definebuffer[solution]
\stopnotmode

\starttext

\startexercise
  \input knuth
\stopexercise

\startsolution
  \input ward
\stopsolution

\startexercise
  \input zapf
\stopexercise

\stoptext

屏幕截图是在solution启用模式的情况下排版的。

在此处输入图片描述

答案2

使用“ continue”关键字可以\startitemize

\starttext
\startitemize[a]
  \item Some task to do
\stopitemize

\startmode[solution]
  Proposed solution
\stopmode

\startitemize[a,continue]
  \item Some other task
  ...
\stopitemize

\stoptext

相关内容