
Ich muss viele Schreibbefehle verwenden, um in die temporäre Datei zu schreiben, wie folgt
\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
Ausgabe
Daten 1
Daten 2
Daten 3
Daten 4
Wie kann ich weiterhin mehrere Schreibvorgänge ausführen, aber die Ergebnisse nur in einer Zeile anzeigen?
Daten 1 Daten 2 Daten 3 Daten 4
Ich möchte nicht verwenden \immediate\write\tempfile{data 1 data 2 data 3 data 4}
.
Danke schön.
Antwort1
A \write
fügt immer eine neue Zeile hinzu, Sie können die Token jedoch auch immer sammeln und alle zusammen schreiben.
Zum Beispiel dieser einfache tex \mywrite{aaa}
und \mywrite{bbb}
erzeugt eine Datei mitaaabbb
\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