Альтернативні методи надання основного вхідного файлу TeX | Python

Постачання основного вхідного файлу механізму TeX за допомогою потоку

Поки що ми навчилися лише надавати основний вхідний файл механізму TeX як ім’я файлу, чи то в його повній формі, чи то в скороченій формі, з розширенням або без нього. Однак у класі TeXJob доступний інший конструктор, який приймає потік як перший аргумент. Це корисно, якщо з якоїсь причини основний вхідний файл не має форми файлу у файловій системі диска. Ось приклад того, як це можна реалізувати:

1# Create conversion options instance.
2...
3# Create some device.
4...
5# Run LaTeX to XPS conversion.
6TeXJob(BytesIO(r"\documentclass{article} \begin{document} Hello, World! \end{document}".encode("ascii")),
7      XpsDevice(), options).run()

Зауважте, що всі вихідні файли матимуть назву textput. Це тому, що механізм не має доступу до жодного іншого імені. textput — назва завдання за замовчуванням. Ви можете знайти більш детальну інформацію про назви завдань Вивід TeX і Як встановити назву завдання.

Введення основного вхідного файлу TeX через термінал

У класі TeXJob доступний ще один конструктор, який взагалі не дозволяє вказати вхідні дані. Вам може бути цікаво, що таке завдання TeX оброблятиме. У цьому випадку нам знадобиться використовувати вхідний термінал. Механізм TeX запропонує нам ввести назву файлу з терміналу.

Ось код:

1# Create conversion options instance.
2...
3# Run LaTeX to XPS conversion. When prompted, enter the /-separated path to the LaTeX file.
4TeXJob(XpsDevice(), options).run()

Щойно він запуститься, движок призупиниться і чекатиме, поки ми введемо ім’я файлу (із шляхом чи без, із розширенням чи без):

Вікно терміналу

І ось як це буде виглядати на вихідному терміналі (консолі):

 1This is ObjectTeX, Version 3.1415926-1.0 (Aspose.TeX 21.8)
 2entering extended mode
 3**<path_to_the_file>/hello-world.ltx
 4(<path_to_the_file>/hello-world.ltx
 5LaTeX2e <2011/06/27>
 6(article.cls
 7Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
 8(size10.clo))
 9No file hello-world.aux.
10[1]
11(<output_directory>\hello-world.aux) )
12Output written on hello-world.xps (1 page).
13Transcript written on hello-world.log.
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.