如何在同一文本行中按顺序写入文本文件?

如何在同一文本行中按顺序写入文本文件?

我想从 LaTeX 文档中写入具有以下格式的文本文件:

A、C、D、B

其中 A、C、D 和 B 需要从 LaTeX 文档的不同位置写入文本文件。因此,我不能立即写入

A、C、D、B

A,

进而

C,

等等。

请你帮助我好吗?

提前致谢,

保罗

答案1

您可以累积在令牌寄存器中并将它们全部写入一起

\documentclass{article}

\newtoks\mywritetoks
\newwrite\mywritefile
\def\mywrite#1{%
\expandafter\ifx\expandafter\vadjust\the\mywritetoks\vadjust
\global\mywritetoks{#1}%
\else
\global\mywritetoks\expandafter{\the\mywritetoks,#1}%
\fi
}

\begin{document}

\mywrite{A}

\mywrite{C}
\mywrite{D}
\mywrite{B}

\immediate\openout\mywritefile=\jobname.zzz
\immediate\write\mywritefile{\the\mywritetoks}
\immediate\closeout\mywritefile
\end{document}

生产

A,C,D,B

\jobname.zzz

相关内容