Другие параметры управления TeX | Java
Каждый пример создаёт TeXOptions для LaTeX и задаёт один параметр. Передайте эти настройки в TeXJob, предоставьте подходящие входные данные LaTeX и задайте рабочую папку вывода перед запуском задания. Импортируйте com.aspose.tex.TeXOptions, TeXConfig и классы из выбранного примера: Interaction, com.aspose.tex.rendering.XpsSaveOptions или PdfSaveOptions, а для примера даты — java.util.Calendar/GregorianCalendar. Обрабатывайте или объявляйте исключения в вызывающем методе. Примеры растеризации и подмножеств шрифтов используют PdfSaveOptions; выполняйте вывод через совместимый PdfDevice. Примените лицензию согласно
руководству по лицензированию.
Как установить режим взаимодействия
Как мы упоминали здесь, Aspose.TeX для Java позволяет нам установить начальный режим взаимодействия, в котором запускается движок. Вот как мы это делаем:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setInteraction(Interaction.NonstopMode);Как задать имя задания
Когда мы передаем основной входной файл в качестве имени файла, мы получаем выходные файлы с тем же именем, но с другими расширениями. Движок TeX называет имя входного файла имя задания и использует его для выходных файлов, за исключением случаев, когда записываются вспомогательные файлы с явно указанными другими именами. Когда мы передаем основной входной файл как поток, движок TeX использует имя задания по умолчанию — texput. В обоих случаях мы можем переопределить имя задания, назначив соответствующий параметр преобразования.
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setJobName("my-job-name");Как «остановить время»
В LaTeX есть функция автоматического создания заголовка на основе некоторых определений в преамбуле. Этот заголовок обычно содержит текущую дату. Возможно, мы захотим заморозить дату в каком-то желаемом значении. Вот как это можно сделать:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setDateTime(new GregorianCalendar(2022, Calendar.DECEMBER, 18).getTime());Как игнорировать недостающие пакеты
Файл LaTeX может ссылаться на пакеты, недоступные в библиотеке Aspose.TeX for Java. Обычно движок останавливается с ошибкой при попытке загрузить такой пакет. Используйте ignoreMissingPackages(true), чтобы пропускать недоступные пакеты. Это не предоставляет команды, которые эти пакеты определяют; входные данные не должны зависеть от таких команд.
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.ignoreMissingPackages(true);Как избежать наращивания лигатур
Обычно движок TeX создает лигатуры для определенных пар символов, если шрифт предоставляет необходимые для этого данные. Мы можем указать движку пропустить построение лигатуры с помощью следующего кода:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.noLigatures(true);Как повторить работу
Как мы уже упоминали выше относительно меток и ссылок, бывают случаи, когда нам может потребоваться выполнить одно и то же задание дважды. Вот как это можно сделать:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.repeat(true);Как превратить математические формулы в растровые изображения
Иногда нам может потребоваться иметь математические формулы в виде растровых изображений, а не набирать их шрифтами. Для этой цели может служить следующий вариант:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().rasterizeFormulas(true);Как превратить графику в растровые изображения
Движок ObjectTeX позволяет включать графические файлы в растровых форматах (PNG и JPG), а также в форматах PS(EPS) и XPS(OXPS). Последние два формата обычно содержат векторные элементы и тексты. Чтобы растрировать их и включить в виде сплошных изображений, мы можем использовать следующую опцию:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().rasterizeIncludedGraphics(true);Как подмножество шрифтов
Подмножество шрифта ограничивает встроенный шрифт глифами, используемыми в документе. Влияние на размер вывода зависит от шрифта и способа его встраивания устройством вывода. Задайте параметры сохранения перед включением subsetFonts(true), как показано ниже:
1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().subsetFonts(true);