¿Cómo utilizar muchos \write para escribir texto en una sola línea?

¿Cómo utilizar muchos \write para escribir texto en una sola línea?

Tengo que usar muchos comandos de escritura para escribir en el archivo temporal de la siguiente manera

\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

Producción

datos 1

datos 2

datos 3

datos 4

Cómo seguir usando múltiples escrituras pero resultados en una sola línea como

datos 1 datos 2 datos 3 datos 4

No quiero usar \immediate\write\tempfile{data 1 data 2 data 3 data 4}.

Gracias.

Respuesta1

A \writesiempre agrega una nueva línea, sin embargo, siempre puedes recolectar los tokens y escribirlos todos juntos.

Por ejemplo, este texto sin formato \mywrite{aaa} y \mywrite{bbb}produce un archivo conaaabbb

\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

información relacionada