Hier *editierte Antwort*
Ab v0.14 (28.06.2014) hat `exsheets` die nötigen Mittel an Bord, um sich eine `\listofquestions` zu definieren. Der Clou dabei sind die sogenannten *question properties*, die man sich zum einen selbst definieren kann, und von denen es auch vordefinierte gibt. Eine der vordefinierten Properties ist ein *proof of concept*, dass es mit dem Paket `exsheets` ohne riesigen Aufwand möglich ist. Ich verwende dafür nicht-dokumentierte Interna. `exsheets` ist in expl3 geschrieben (der Programmierschicht eines zukünftigen LaTeX3), weshalb das für damit unvertraute vielleicht etwas seltsamer Code ist...
Am Anfang jeder Aufgabe von `exsheets` steht
\tl_use:N \l__exsheets_questions_pre_hook_tl
und am Ende
\tl_use:N \l__exsheets_questions_post_hook_tl
Das (ab v0.14) `question-body`.
Properties kann man man zusammen mit `exsheets`' *question properties* verwenden, um abrufen mit
\GetQuestionProperty{<eigenschaft>}{<ID>}
`exsheets` hat außerdem den Aufgabentext zu speichern und später wieder aufzurufen.
In der Liste `\listofquestions` verwende ich außerdem `\__exsheets_use_heading:nnnnnn`, ein nicht-öffentlicher Befehl<sup>1</sup>, mit Befehl `\ForEachQuestion{ ... }`, bei dem man im Argument mit `#1` auf die ID der Fragen zugreifen kann. Verbinden wir das mit `\QuestionNumber{<ID>}`, das den interpretierten Zähler einer Frage ausgibt, und mit der Paketoption `auto-label`, die automatisch zu einer Frage ein `\label{qu:<ID>}` (=> Seitenzahlen) setzt, dann sind wir schon fast am Ziel. Es fehlt noch mit
\ExSheetsHeading{<Stil>}{<Name>}{<Nummer>}{<Punkte>}{<Bonus>}{<ID>}
ein Befehl, der zwar undokumentiert ist aber dennoch zur Verfügung steht, und mit es möglich ist, `exsheets`' Überschriften-Mechanismus verwenden kann:
Der benötigte Code ist Überschriftenmechanismus zu verwenden.
Alles zusammengesetzt gibt das dann gar nicht so lang:
\ExplSyntaxOn
\DeclareQuestionProperty {question-body}
\cs_new_protected:Npn \lorek_save_question_and_print:w
#1 \tl_use:N \l__exsheets_questions_post_hook_tl
{ \SetQuestionProperties{ question-body = {#1} } #1 }
\tl_set:Nn \l__exsheets_questions_pre_hook_tl
{ \lorek_save_question_and_print:w }
\cs_new_protected:Npn \lorek_list_of_questions:
{
\ForEachQuestion
{
\__exsheets_use_heading:nnnnnn
{block}
{Aufgabe}
{\QuestionNumber {##1}}
{0}
{0}
{##1}
\GetQuestionProperty {question-body} {##1}
\par
\medskip
}
}
\NewDocumentCommand \listofquestions {}
{ \lorek_list_of_questions: }
\ExplSyntaxOff
Ein komplettes Beispiel:
![alt text][1]
![alt text][2]
folgendes:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{exsheets}
\usepackage[auto-label]{exsheets}[2014/06/28]
\SetupExSheets{
counter-within = section ,
counter-format = se.qu ,
question/name = Aufgabe
Aufgabe ,
}
\ExplSyntaxOn
\DeclareQuestionProperty {question-body}
\cs_new_protected:Npn \lorek_save_question_and_print:w
#1 \tl_use:N \l__exsheets_questions_post_hook_tl
{ \SetQuestionProperties{ question-body = {#1} } #1 \NewDocumentCommand\listofquestions{}{%
\ForEachQuestion
{%
\ExSheetsHeading
{block} % Überschrifts-Stil
{Aufgabe} % Name der Aufgabe
{\QuestionNumber{##1} (Seite~\pageref{qu:##1})}% Nummer der Aufgabe
{0} % Punkte der Aufgabe
{0} % Bonuspunkte der Aufgabe
{##1}% % ID der Aufgabe
\GetQuestionProperty{question-body}{##1}%
\par
\medskip
}%
}
\tl_set:Nn \l__exsheets_questions_pre_hook_tl
{ \lorek_save_question_and_print:w }
\cs_new_protected:Npn \lorek_list_of_questions:
{
\ForEachQuestion
{
\__exsheets_use_heading:nnnnnn
{block}
{Aufgabe}
{\QuestionNumber {##1}}
{0}
{0}
{##1}
\GetQuestionProperty {question-body} {##1}
\par
\medskip
}
}
\NewDocumentCommand \listofquestions {}
{ \lorek_list_of_questions: }
\ExplSyntaxOff
\usepackage{multicol}
\begin{document}
\section{Erstes Kapitel}
\begin{question}
Eine erste Aufgabe
\end{question}
\begin{question}
Eine zweite Aufgabe
\end{question}
\subsection{Erstes Unterkapitel}
\begin{question}
Eine Aufgabe in einem Unterkapitel
\end{question}
\begin{question}
Noch eine Aufgabe in einem Unterkapitel
\end{question}
\subsubsection{Tiefer geschachteltes Unterkapitel}
\begin{question}
Noch eine Aufgabe
\end{question}
\subsubsection{Weiter geschachtelt}
\begin{question}
Eine weitere Aufgabe
\end{question}
\subsection{Zweites Unterkapitel}
\begin{question}
Und eine weitere Aufgabe
\end{question}
\clearpage
\section{Zweites Kapitel}
\begin{question}
Eine Aufgabe in einem anderen Kapitel
\end{question}
\clearpage
\begin{multicols}{2}[\section{Aufgabenübersicht}]
\listofquestions
\end{multicols}
\end{document}
----------
1. Den ich aber genauso gut öffentlich machen könnte, da er sich nicht mehr ändern wird.
![alt text][1]
![alt text][2]
[1]: http://texwelt.de/wissen/upfiles/exsheets1_1.png
http://texwelt.de/wissen/upfiles/exsheets1_2.png
[2]: http://texwelt.de/wissen/upfiles/exsheets2.pnghttp://texwelt.de/wissen/upfiles/exsheets2_1.png