Wie verwende ich \@writefile, ohne einen Schreibstrom zu blockieren?

Wie verwende ich \@writefile, ohne einen Schreibstrom zu blockieren?

So wie ich es verstehe, \@writefilemuss man für die ordnungsgemäße Verwendung einen Schreibdatenstrom blockieren, und zwar wie folgt:

\documentclass{article}

\usepackage{lipsum}

\begin{document}

\makeatletter
\newwrite\tf@foo
\openout\tf@foo=\jobname.foo
\newcommand\foo[1]{%
    Writing ``#1'' to \texttt{\jobname.foo}!%
    \protected@write\@auxout{}{\string\@writefile{foo}{#1}}%
    }
\makeatother

\foo{Bar}

\end{document}

(Dadurch wird tatsächlich eine Datei .foomit einer Zeile erstellt, die enthält Bar.)

Gibt es eine Möglichkeit, die Blockierung des Schreibstroms zu umgehen?

verwandte Informationen