如何使用多个 \write 在一行上写入文本?

如何使用多个 \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

相关内容