![如何\immediate\write 多行?](https://linux22.com/image/342912/%E5%A6%82%E4%BD%95%5Cimmediate%5Cwrite%20%E5%A4%9A%E8%A1%8C%EF%BC%9F.png)
将 LuaLaTeX 与 TeXlive 2016 结合使用,尽管我认为这个问题几乎适用于所有事情:
我知道如何\immediate\write
逐行创建文件。但我想为多行执行此操作,其中行数是事先不知道的(这是在宏中收集文本项的结果)。如下所示:
\newwrite\file
\immediate\openout\file=pickafilename.txt
\immediate\write\file{Hello! I am a new file.}
\immediate\write\file{\MacroContainingTextMacros}
\closeout\file
其中\MacroContainingTextMacros
有几个小宏,我希望在文件写入时展开它们。每个小宏都包含几行纯文本。所以我不能使用逐字或filecontents
。
有任何想法吗?
答案1
您只需要写入\newlinechar
预设为^^J
乳胶的内容。
\def\MacroContainingTextMacros{
aa^^Jbb^^Jcc}
\newwrite\file
\immediate\openout\file=pickafilename.txt
\immediate\write\file{Hello!^^JI am a new file.}
\immediate\write\file{\MacroContainingTextMacros}
\closeout\file
\stop
生产
Hello!
I am a new file.
aa
bb
cc