한 줄에 텍스트를 쓰기 위해 많은 \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

관련 정보