在TeX/LaTeX中向文件写入换行符

3

我有一个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标记而不是我的双重换行符,并且根本没有换行符。我该如何获得换行符并拥有一个常规的纯文本文件?

1个回答

3

有两种方法:一种是使用大量的\write语句,每行写一个。也就是说,\write将一行文本(包括换行符)写入文件中。因此,可以只用一个\write语句来写一个空行。

\write\metadatafile{}

或者您可以使用原始的\newlinechar。在纯tex中,双尖号宏^^J被别名为\newlinechar,因此您也可以使用它。请参见The TeXBook的第228页和348页。

当我翻开那本书时,我查找了\write之前\immediate原语的重要性。所有引用\write的用法也都使用\immediate。我尝试过没有\immediate,但没有它的话,东西就不会被写入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接