ConTeXt 中的答案

ConTeXt 中的答案

我目前正在编写一本教科书。它包含大量练习,我希望它在书的末尾包含答案。答案应该具有与书相同的结构,即所有章节/部分标题和正确的练习编号。我不知道如何处理 ConTeXt 中的一些问题。

下面是我的最小示例,使用方式如下\definelist

\definelist[Answers]
\setuplist[Answers][criterium=all,pagenumber=no]
\defineenumeration[Exercise][alternative=top,inbetween={\blank[nowhite]},text=Task,way=bychapter]

\def\Task{\dosingleempty\doTask}
\long\def\doTask[#1]#2{
    \startExercise
        #2
        \writetolist[Answers]{}{\getnumber[Exercise] #1}
    \stopExercise
    }

\starttext

\chapter{First chapter}

Some text
\Task[Answer 1]{Content here}
\Task[Answer 2]{Text goes here}

\chapter{Second chapter}

\Task{Question three without answer}
\Task[Answer 4]{Number four}

\completelist[Answers]

\stoptext

问题:

  1. 为什么不起作用\getnumber[Exercise]?(没有问题编号的答案没有意义。)
  2. 如何在答案中适当的位置包含章节标题/编号?(使结构和导航清晰并防止歧义。)
  3. 如何处理关键中没有答案的问题?
  4. [可选] 如何在答案的页眉/页脚中包含答案所指的实际内容的页码(例如答案第 76-100 页)?

编辑:扫描答案说明第 2 点

答案1

我稍后会更详细地写,但这可能会帮助你入门:

\defineenumeration
  [Task]
  [
    title=yes,
    text=Task,
    way=bychapter,
    titlecommand=\gobbleoneargument,
  ]

\starttext

\chapter{First chapter}

Some text
\startTask{Answer 1}
  Content here
\stopTask
\startTask{Answer 2}
  Content here
\stopTask

\chapter{Second chapter}
\startTask
  Content here
\stopTask
\startTask{Answer 4}
  Content here
\stopTask


\completelist[Task][criterium=all, pagenumber=no]

\stoptext

另一个选择是使用 Wolfgang Schuster 的注释模块,它提供了一个键值驱动的接口,因此您可以编写:

\startTask[list={....}] .... \stopTask

相关内容