
Мне приходится использовать много команд записи для записи во временный файл следующим образом
\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