我有一个乳胶文档,我想用它来将文本写入纯文本文件。我希望扩展宏,所以我不能使用\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
令牌而不是我的双换行符,并且根本没有任何换行符。如何获取换行符并拥有常规纯文本文件?
答案 0 :(得分:2)
有两个答案:一个是使用大量\write
语句,每个语句对应一行。也就是说,\write
将行写入文件,包括换行符。所以只需
\write\metadatafile{}
或者您可以使用原语\newlinechar
。在普通tex中,双克拉宏^^J
别名为\newlinechar
,因此您也可以使用它。请参阅 The TeXBook 的第228和348页。
当我打开那本书时,我在\immediate
之前查看了\write
原语的重要性。引用的\write
的所有用法也使用\immediate
。我试过没有\immediate
,如果没有它,就不会写出来。