Как использовать many \write для записи текста всего в одну строку?

Как использовать many \write для записи текста всего в одну строку?

Мне приходится использовать много команд записи для записи во временный файл следующим образом

\newwrite\tempfile
\immediate\openout\tempfile=tempt.txt
\immediate\write\tempfile{data 1}
\immediate\write\tempfile{data 2}
\immediate\write\tempfile{data 3}
\immediate\write\tempfile{data 4}
\immediate\closeout\tempfile

Выход

данные 1

данные 2

данные 3

данные 4

Как по-прежнему использовать множественные записи, но результаты будут только на одной строке, как

данные 1 данные 2 данные 3 данные 4

Я не хочу использовать \immediate\write\tempfile{data 1 data 2 data 3 data 4}.

Спасибо.

решение1

A \writeвсегда добавляет новую строку, однако вы всегда можете собрать токены и записать их все вместе.

Например, это простой текст \mywrite{aaa} и \mywrite{bbb}создает файл сaaabbb

\newwrite\zz
\newtoks\zzz

\def\mywrite#1{\zzz\expandafter{\the\zzz#1}}

\mywrite{aaa}
\mywrite{bbb}




\immediate\openout\zz=\jobname.zz
\immediate\write\zz{\the\zzz}
\immediate\closeout\zz

\bye

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