Другие параметры управления TeX | Python через .NET
Настройка режима взаимодействия
Как упоминалось в параграфе взаимодействия TeX, Aspose.TeX for Python предоставляет возможность установить начальный режим взаимодействия, в котором запускается движок. Вот пример того, как это можно сделать:
1# Create conversion options instance.
2...
3# Set interaction mode.
4options.interaction = Interaction.NONSTOP_MODEУстановка имени задания
Если в качестве имени файла указан основной входной файл, результирующие выходные файлы будут иметь то же имя, но с разными расширениями. Движок TeX называет имя входного файла имя задания и использует его для выходных файлов. Исключение составляют вспомогательные файлы с явно указанными именами. Однако когда основной входной файл передается как поток, движок TeX использует имя задания по умолчанию — texput. В обоих сценариях возможно переопределение имени задания путем назначения соответствующего параметра преобразования.
1# Create conversion options instance.
2...
3# Set the job name.
4options.job_name = "my-job-name"«Остановка времени»
Чтобы автоматически генерировать заголовок на основе определенных определений в преамбуле, LaTeX предлагает функцию, которая обычно включает текущую дату. Однако могут быть случаи, когда мы хотим присвоить дате определенное значение. Вот метод достижения этой цели:
1# Create conversion options instance.
2...
3# Force the TeX engine to output the specified date in the title.
4options.date_time = datetime(2022, 12, 18)Игнорирование отсутствующих пакетов
Если у нас есть файл LaTeX, содержащий ссылки на пакеты, которые не поддерживаются библиотекой Aspose.TeX for Python, движок TeX обнаружит ошибку и остановится при попытке загрузить эти пакеты. Чтобы предотвратить это, мы можем использовать следующую опцию:
1# Create conversion options instance.
2...
3# Set to true to make the engine skip missing packages (when your file references one) without errors.
4options.ignore_missing_packages = TrueКак избежать наращивания лигатур
По умолчанию движок TeX создает лигатуры для определенных пар символов, если шрифт содержит необходимые данные. Однако мы можем указать движку обойти построение лигатуры, используя следующий код:
1# Create conversion options instance.
2...
3# Set to true to make the engine not construct ligatures where normally it would.
4options.no_ligatures = TrueПовторение задания
Как упоминалось в параграфе входного файла LaTeX, метки и ссылки, бывают ситуации, когда нам может потребоваться выполнить одно и то же задание дважды. Вот способ добиться этого:
1# Create conversion options instance.
2...
3# Ask the engine to repeat the job.
4options.repeat = TrueПревращение математических формул в растровые изображения
Если есть необходимость преобразовать математические формулы в растровые изображения вместо их отображения шрифтами, для этой цели можно использовать следующую опцию:
1# Create conversion options instance.
2...
3# Create and assign saving options instance if needed.
4...
5# Set to true if you want math formulas to be converted to raster images.
6so.rasterize_formulas = TrueПревращение графики в растровые изображения
Механизм ObjectTeX предоставляет возможность включать графические файлы в растровых форматах, таких как PNG и JPG, а также в форматах PS (EPS) и XPS (OXPS). Последние два формата обычно содержат векторные элементы и текст. Если мы хотим растеризовать и включить их в виде сплошных изображений, мы можем использовать следующую опцию:
1# Create conversion options instance.
2...
3# Create and assign saving options instance if needed.
4...
5# Set to true if you want included graphics (if it contains vector elements) to be converted to raster images.
6so.rasterize_included_graphics = TrueПодмножество шрифтов
Если мы хотим уменьшить размер выходного файла, мы можем использовать поднабор шрифтов, что означает, что шрифты в результирующем документе не будут включать данные для тех глифов, которые отсутствуют в документе. Вот решение для достижения этой цели:
1# Create conversion options instance.
2...
3# Create and assign saving options instance if needed.
4...
5# Set to true to make the device subset fonts used in the document.
6so.subset_fonts = True