2010-10-05 51 views
2

我有一個我想用來將文本寫入純文本文件的latex文檔。我想宏進行擴展,所以我不能使用\filecontents(這只是保存逐字輸入到文件)在TeX/LaTeX中寫入換行符到文件

到目前爲止,我有

\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記號代替我的雙換行符,並沒有任何換行符。我如何獲得換行符並且有一個普通的純文本文件?

回答

2

有兩個答案:一個是隻使用很多\write語句,一個用於你想寫的每一行。即,\write寫入文件,包括換行符。所以一條空白線可以用

\write\metadatafile{} 

或者你可以使用原始的\newlinechar。在普通tex中,雙克拉宏^^J的別名爲\newlinechar,因此您也可以使用它。請參閱的第228和348頁TeXBook

雖然我已經打開了這本​​書,但我在\write之前查找了\immediate原始圖元的重要性。引用的所有用法\write也使用\immediate。我試過沒有\immediate,沒有它的東西不寫。