Hallo nochmal,
Clemens, vielen Dank für deine Idee, die ich auch deutlich einfacher finde als meinen Code.
Allerdings löst es das Problem mit hyperref nicht. Die folgende Version funktioniert prima (und ich überlege unabhängig von allem anderen, darauf umzusteigen, weil es weniger selbstgefrickelt ist...), solange man hyperref nicht einkommentiert:
Code:
\documentclass{article}
\usepackage{environ}
%\usepackage{hyperref}
\newenvironment{aufgabe}[4]
{\noindent
\textbf{\sffamily Aufgabe.\label{aufgabe:#4}}
#1 (#4)
\newline
\bigbreak\def\dieserAufgabeID{#4}}{}
\newwrite\schreibauf
\immediate\openout\schreibauf=\jobname.sol
\NewEnviron{test}{\immediate\write\schreibauf{Seite \pageref{aufgabe:\dieserAufgabeID} \unexpanded\expandafter{\BODY}}}
\newcommand*\zeigaufschrieb{%
\immediate\closeout\schreibauf
\input{\jobname.sol}}
\AtEndDocument{\immediate\closeout\schreibauf}
\begin{document}
\begin{aufgabe}{Aufgabenthema}{}{}{ID}
Aufgabentext
\begin{test}
Lösungstext \textbf{bla}
\end{test}
\end{aufgabe}
text dazwischen
\zeigaufschrieb
\end{document}
Sobald man es aber mit einbaut, sagt er irgendwas von Runaway argument und hängt sich ernsthaft komplett auf, ohne überhaupt fertigzukompilieren.
Viele Grüße
Lukas
Lesezeichen