Hier eine mögliche Lösung für das Problem. (noch nicht ausgereift)
Man kann in jede beliebige Datei scratch.sty einbinden und mit \\scratch{irgendwas} eine Notiz einfügen. Diese Notiz wird per \\write18 So, nun ist fertich. sty-Datei in eine ausgelagerte Datei eingetragen, Startdatei einbinden, in alle folgenden auch, die scratches werden gesammelt und zum Schluss(!) mit \\scratches werden diese *latex --shell-escape scratch* kompiliert und ergeben eine Sammlung der Notizen angezeigt. Die Notizen werden in jeder nachfolgend kompilierten Datei kumuliert. Zum Schluß kompiliert man die Datei scratch.tex, die hier eingefügt ist (man muß sie also nicht selbst anlegen!), darin werden alle Notizen aufgelistet und die ausgelagerte Datei wird geleert.
Es wird jeweils angezeigt, aus welcher Datei die Notizen stammen. Es werden hochgestellte Ziffern eingefügt, die die Notizen im Text anzeigen. (Das ist noch nicht ausgereift, es kollidiert mit Notes und Footnotes.) Schlussendlich erhält man eine scratch.dvi(pdf), die alle Notizen anzeigt.
Man muß die Dateien mit der Option --shell-escape kompilieren, damit in die externe Datei geschrieben werden kann, da ein Systembefehl benutzt wird.
den anderen Dateien.
%geht nicht in writelatex, wegen --shell-escape oder message
\begin{filecontents}{scratch.sty}
\RequirePackage{filecontents}
\newcounter{scratchnum}
\renewcommand \thescratchnum {\@roman\c@scratchnum}
\newcommand{\displayscratchnum}{\textsuperscript{\thescratchnum}}
\message{Message: Use latex --shell-escape filename}
\newcommand{\scratchname}{\hbox{s\raise0.1ex\hbox{c}\lower-0.2ex\hbox{r}\raise0.1ex\hbox{a}\lower0.1ex\hbox{t}\lower0.2ex\hbox{c}\lower0.3ex\hbox{h}}\ \newcommand{\scratchname}{\Huge\hbox{\raise0.1ex\hbox{s}\raise0.1ex\hbox{c}\lower-0.2ex\hbox{r}%
\raise0.1ex\hbox{a}\lower0.065ex\hbox{t}\lower0.15ex\hbox{c}\lower0.3ex\hbox{h}}\hrule }
\newcommand{\scratchfile}{\def\scratchd{scratch.scr}
\IfFileExists{./\scratchd}{}
{\immediate\write18{echo \%NEUE SCRATCHDATEI aus \jobname.tex>\scratchd}}}
\newcommand{\scratch}[1]{\refstepcounter{scratchnum}\textsuperscript{\thescratchnum}\immediate\write18{echo
\newcommand{\scratch}[1]{\refstepcounter{scratchnum}%
\displayscratchnum\immediate\write18{echo
\noexpand\\vskip0.5\noexpand\\baselineskip
\jobname:\ \noexpand\\textsuperscript{\thescratchnum} \noexpand\\textsuperscript{\thescratchnum}
\noexpand\\normalsize\ \unexpanded{#1}>>\scratchd}}
\newcommand{\scratches}{\subsection*{\scratchname}\relax
\vskip0.5\baselineskip\parindent=0pt \input \scratchd
\vskip2\baselineskip }
\newcommand{\clearscratch}{
\immediate\write18{echo \%NEUE SCRATCHDATEI aus
\jobname.tex>\scratchd}}
\scratchfile
\end{filecontents}
\begin{filecontents}{scratch.tex}
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scratch,multicol}
\begin{document}
\scratchfile
\begin{multicols}{2}
\scratches
\end{multicols}
\clearscratch
\end{document}
scratch.tex
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scratch}
\begin{document}
\scratchfile
\scratches
\clearscratch
\end{document}
scratch2.tex
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scratch}
\begin{document}
Viel Text.\scratch{Löwenzahn} Viel Text. Viel Text.\scratch{Leinsamen} Viel Text. Viel Text. Viel
Text. Viel Text. Viel Text. Viel Text. \scratch{Orchideen}Viel Text. Viel
Text. Viel Text. Viel Text. Viel Text. Viel Text. Viel
Text. \scratch{Gräser}Viel Text.
\scratches
\end{document} \end{filecontents}