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