Text 用TeX/LaTeX将换行符写入文件

Text 用TeX/LaTeX将换行符写入文件,text,latex,Text,Latex,我有一个latex文档,我想用它将文本写入纯文本文件。我希望宏被扩展,因此我不能使用\filecontents(这只是将输入逐字保存到文件中) 到目前为止我有 \newwrite\metadatafile \immediate\openout\metadatafile=\jobname-meta.txt \immediate\write\metadatafile{Title: \jobname\string Tags: \coursecode.\secnum.\termcode, \cours

我有一个latex文档,我想用它将文本写入纯文本文件。我希望宏被扩展,因此我不能使用
\filecontents
(这只是将输入逐字保存到文件中)

到目前为止我有

\newwrite\metadatafile
\immediate\openout\metadatafile=\jobname-meta.txt
\immediate\write\metadatafile{Title: \jobname\string

Tags: \coursecode.\secnum.\termcode, \coursecode.\termcode, ...

Description:
...}
\immediate\closeout\metadatafile

文本文件中出现的内容将插入
\par
标记,而不是我的双换行符,并且其中根本没有任何换行符。如何获得换行符并拥有一个普通的纯文本文件?

有两个答案:一个是使用大量的
\write
语句,每一行对应一个。也就是说,
\write
向文件写入一行,包括换行符。因此,一个空行只需

\write\metadatafile{}
也可以使用原语
\newlinechar
。在纯文本中,双克拉宏
^^J
的别名为
\newlinechar
,因此您也可以使用它。参见教科书第228页和第348页

当我打开那本书时,我在
\write
之前查找了
\immediate
原语的重要性。引用的
\write
的所有用法也使用
\immediate
。我尝试过没有
\immediate
,没有它,东西就写不出来