Как использовать \@writefile, не блокируя поток записи?

Как использовать \@writefile, не блокируя поток записи?

Насколько я понимаю, для правильного использования \@writefileнеобходимо заблокировать поток записи, например так:

\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}

(Это на самом деле создает файл .fooс одной строкой, содержащей Bar.)

Есть ли способ обойти блокировку потока записи?

Связанный контент