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

相關內容