Python, используйте jinja2 для рендеринга .tex файла, а затем используйте fifo pipe для отправки в latex - PullRequest
0 голосов
/ 15 марта 2019

Я использую jinja в python для рендеринга файла .tex, а затем я хочу использовать xelatex для рендеринга его в pdf. Хотя мне удалось заставить его работать с промежуточным файлом, я бы предпочел не иметь промежуточный файл.

Я хочу попробовать сделать это с трубкой. Я пишу в трубу следующим образом, после запуска рендера jinja2:

with open("./utils/xelatex_pipe", "w") as pipe:
    pipe.write(output)

Кажется, это нормально, потому что, если я запускаю cat ./utils/xelatex_pipe, я получаю ожидаемые данные (файл .tex).

Сейчас я пытаюсь настроить bash-скрипт, который прослушивает этот канал и запускает xelatex для всего, что проходит через него. Я пробовал что-то вроде этого:

pipe=./xelatex_pipe

xelatex -output-directory=/tmp/ $pipe

Это не работает. Кажется, что он обрабатывает каждую строку индивидуально, что, очевидно, заставляет xelatex сходить с ума ... Я думаю, что мне нужно собрать все строки в файл, но я не уверен, как сделать что-то вроде ", пока есть строки в конвейере объедините их с некоторой переменной, а затем запустите xelatex для этой переменной, если строк больше нет "

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