如何创建一页来回答我文中提出的问题?

如何创建一页来回答我文中提出的问题?

我想要的与目录非常相似,但我不知道如何实现它。在我的文章中,我有一些学生会回答的问题。我想要的是将答案与乳胶代码一起放在其中,这些答案将显示在附录中,并按其来源问题进行编号。

例子:

\begin{document}
\chapter{History of Computers}%Lesson 1 - History of Computers
%<... Text Body...>

\M In what year was the ABC computer made? %Question 1
\Answer{1939}
\M What does ENIAC stand for? %Question 2
\Answer{Electronic Numerical Integrator and Calculator}
%<... More questions...>

%end of tex file
\PrintMasteries

\end{document}

使用计数器“Masteries”自动\M生成数字,当章节更改时计数器会重置(这使我能够用文本分隔不同的问题部分,而不必在前一个文本中搜索我留下的数字 - 特别是如果我添加/删除问题)。 \PrintMasteries将有一个如下所示的输出:

Lesson 1 - History of Computers
   1. 1939
   2. Electronic Numerical Integrator and Calculator
   %<...Answers to other questions...>

我不想手动输入这些,我希望拥有命令所具有的灵活性\chapter-\section这意味着我可以切换问题和答案对,并且附录文件会按照正确的顺序和正确的编号生成它们。

我设想的工作是一个文件,就像.toc文件一样,每当我使用命令时,它都会添加行\Answer(就像\addtocontents{toc}{chapter}{<response to \chapter>}您输入时一样\chapter{})。我尝试搜索代码,\tableofcontents因为我相信这会有很大帮助,但我找不到。仅凭这一点可能就足以让我完成我需要做的事情。

提前感谢您的帮助,如果您需要更多信息,请告诉我。

答案1

\documentclass{scrbook}

\usepackage{etoolbox}

\def\masterieslist{}
\def\printmasteries{\appto\masterieslist{\end{enumerate}}\masterieslist}
\let\originalchapter\chapter
\def\chapter#1#{\chapteraux{#1}}
\def\chapteraux#1#2{\originalchapter#1{#2}%
  \expandafter\ifstrempty\expandafter{\masterieslist}
    {\eappto\masterieslist{\par Lesson \arabic{chapter} -- \unexpanded{#2}\noexpand\begin{enumerate}}}
    {\eappto\masterieslist{\noexpand\end{enumerate}\par Lesson \arabic{chapter} -- \unexpanded{#2}\noexpand\begin{enumerate}}}}
\def\answer#1{\appto\masterieslist{\item#1}}

% for this example
\newcounter{question}[chapter]
\def\question{\stepcounter{question}\paragraph{Question~\thequestion}}

\begin{document}

\chapter{History of Computers}
\question In what year was the ABC computer made?
\answer{1939}
\question What does ENIAC stand for?
\answer{Electronic Numerical Integrator and Calculator}

\chapter{foo}
\question Whatever
\answer{answer one}
\question Whatsoever
\answer{answer two}

\clearpage
\printmasteries

\end{document}

相关内容