Інші методи надання основного вхідного файлу 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.