написать новую строку в файл в TeX / LaTeX - PullRequest
2 голосов
/ 05 октября 2010

У меня есть латексный документ, который я хочу использовать для записи текста в простой текстовый файл. Я хочу, чтобы макросы были расширены, поэтому я не могу использовать \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 Ответ

2 голосов
/ 05 октября 2010

Есть два ответа: один - просто использовать множество \write операторов, по одному для каждой строки, которую вы хотите написать. То есть \write записывает в файл строку , включая символ новой строки. Таким образом, пустая строка может быть сделана только с

\write\metadatafile{}

Или вы можете использовать примитив \newlinechar. В обычном тексте макрос с двумя каратами ^^J имеет псевдоним \newlinechar, так что вы также можете использовать его. См. Стр. 228 и 348 TeXBook .

Пока я открыл эту книгу, я дошел до важности \immediate примитива до \write. Все цитируемые значения \write также используют \immediate. Я пробовал без \immediate и без него ничего не пишется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...