Я использую LaTeX на именованном канале fifo в Unix. Я создаю fifo как-то так:
$ mkfifo fifo
Затем я запускаю LaTeX примерно так:
$ latex fifo
Этот процесс блокируется и не выводится, пока я не запишу в fifo из другой оболочки:
$ echo "\\end" > fifo
Тогда вывод $ latex fifo становится:
This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
%&-line parsing enabled.
entering extended mode
Однако процесс LaTeX никогда не заканчивается. Как вы можете получить LaTeX до конца? Я попытался отправить его chr (0) и chr (4) (т.е. ctrl-d ), но ни один не работает. Есть какая-нибудь команда, которая скажет LaTeX выйти (то есть что-то вроде \ exit)?
Спасибо за чтение.
EDIT
Примечательно, что когда вы запускаете tex вместо варианта latex , тогда работает следующее, как и ожидалось:
$ echo "story\\end" > fifo
(между тем в текстовой консоли)
$ tex fifo
This is TeX, Version 3.1415926 (Web2C 7.5.7)
(./fifo [1] )
Output written on fifo.dvi (1 page, 212 bytes).
Transcript written on fifo.log.
Однако, хотя Лесли Лампорт и отмечает в Системе подготовки документов LaTeX на стр. 233, что \ end был заменен \ end {document}, ни одно из следующих действий не завершает сеанс LaTeX:
$ echo "\begin{document}story\end{document}"
$ echo "\\begin{document}story\\end{document}"