Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

16 Apr '19, 12:52

Skillmon's gravatar image

Skillmon
1.2k6

Kleine Minimallösung. Es erfordert das Verwenden von einer `aufgaben`-Umgebung, die allerdings letztendlich eine `enumerate` ist. Und anstelle von `\item` ist `\aufgabe` zu verwenden. Falls Erklärungen zum Code erwünscht sind, kann ich diese gerne nachreichen. **EDIT:** Optionales Argument zu `\listofaufgaben` hinzugefügt, mit dem ein Bereich angegeben werden kann. Außerdem optionales Argument zu `aufgaben` hinzugefügt, das an `enumerate` weitergegeben wird. \documentclass[10pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage{enumitem} \usepackage[]{hyperref} \makeatletter \@ifdefinable\hooklistcount{\newcount\hooklistcount} \newlength\hooklistlength \newcommand*\sethook@appendlist {% \global\advance\hooklistcount1 \label{aufgabe:\the\hooklistcount}% } \newcommand*\write@hooklistcount@to@aux {% \immediate\write\@auxout{\gdef\noexpand\aufgaben@max{\the\hooklistcount}}% } \newcommand*\listofaufgaben \def\listofaufgaben@from#1-#2;{#1} \def\listofaufgaben@to#1-#2;{#2} \newcommand*\listofaufgaben[1][1-\aufgaben@max] {% \begingroup \section*{Aufgabenliste}% \ifdefined\aufgaben@max \raggedright \hooklistcount=0 \hooklistcount=\listofaufgaben@from#1; \advance\hooklistcount-1 \settowidth\hooklistlength{\aufgaben@max.}% \loop\ifnum\hooklistcount<\aufgaben@max\relax \loop\ifnum\hooklistcount<\listofaufgaben@to#1;\relax \ifnum\hooklistcount<\aufgaben@max \advance\hooklistcount1 \makebox[\hooklistlength][r]{\ref{aufgabe:\the\hooklistcount}.} \quad \fi \repeat \par \fi \endgroup } \newenvironment{aufgaben} \newenvironment{aufgaben}[1][] {% \newcommand\aufgabe[1][] {% \if\relax\detokenize{##1}\relax\item\else\item[##1]\fi \sethook@appendlist }% \begin{enumerate}% \begin{enumerate}[#1]% } {% \end{enumerate}% } \AtEndDocument{\write@hooklistcount@to@aux} \makeatother \begin{document} \listofaufgaben \begin{aufgaben} \aufgabe Berechne die Summe. \begin{enumerate} \item 3+5 \item 5+7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \end{aufgaben} \listofaufgaben[4-10] \begin{aufgaben}[start=3] \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \end{aufgaben} \end{document} [![alt text][1]][1] [1]: https://texwelt.de/wissen/upfiles/enumeratetoc-1.pnghttps://texwelt.de/wissen/upfiles/enumeratetoc-1_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

14 Apr '19, 14:13

Skillmon's gravatar image

Skillmon
1.2k6

Kleine Minimallösung. Es erfordert das Verwenden von einer `aufgaben`-Umgebung, die allerdings letztendlich eine `enumerate` ist. Und anstelle von `\item` ist `\aufgabe` zu verwenden. Falls Erklärungen zum Code erwünscht sind, kann ich diese gerne nachreichen. \documentclass[10pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[]{hyperref} \makeatletter \@ifdefinable\hooklistcount{\newcount\hooklistcount} \newlength\hooklistlength \newcommand*\sethook@appendlist {% \global\advance\hooklistcount1 \label{aufgabe:\the\hooklistcount}% } \newcommand*\write@hooklistcount@to@aux {% \immediate\write\@auxout{\gdef\noexpand\aufgaben@max{\the\hooklistcount}}% } \newcommand*\listofaufgaben {% \begingroup \section*{Aufgabenliste}% \ifdefined\aufgaben@max \raggedright \hooklistcount=0 \settowidth\hooklistlength{\aufgaben@max.}% \loop\ifnum\hooklistcount<\aufgaben@max\relax \advance\hooklistcount1 \makebox[\hooklistlength][r]{\ref{aufgabe:\the\hooklistcount}.} \quad \repeat \par \fi \endgroup } \newenvironment{aufgaben} {% \newcommand\aufgabe[1][] {% \if\relax\detokenize{##1}\relax\item\else\item[##1]\fi \sethook@appendlist }% \begin{enumerate}% } {% \end{enumerate}% } \AtEndDocument{\write@hooklistcount@to@aux} \makeatother \begin{document} \listofaufgaben \begin{aufgaben} \aufgabe Berechne die Summe. \begin{enumerate} \item 3+5 \item 5+7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \aufgabe Berechne die Differenz. \begin{enumerate} \item 3-5 \item 5-7 \end{enumerate} \end{aufgaben} \end{document} [![alt text][1]][1] [1]: https://texwelt.de/wissen/upfiles/enumeratetoc-1.png