Другие параметры управления TeX | .NET
Как установить режим взаимодействия
Как мы упоминали здесь, Aspose.TeX для .NET позволяет нам установить начальный режим взаимодействия, в котором запускается движок. Вот как мы это делаем:
1// Create conversion options instance.
2...
3// Set the interaction mode.
4options.Interaction = Interaction.NonstopMode;
Как задать имя задания
Когда мы передаем основной входной файл в качестве имени файла, мы получаем выходные файлы с тем же именем, но с другими расширениями. Движок TeX называет имя входного файла имя задания и использует его для выходных файлов, за исключением случаев, когда записываются вспомогательные файлы с явно указанными другими именами. Когда мы передаем основной входной файл как поток, движок TeX использует имя задания по умолчанию — texput. В обоих случаях мы можем переопределить имя задания, назначив соответствующий параметр преобразования.
1// Create conversion options instance.
2...
3// Set the job name.
4options.JobName = "my-job-name";
Как «остановить время»
В LaTeX есть функция автоматического создания заголовка на основе некоторых определений в преамбуле. Этот заголовок обычно содержит текущую дату. Возможно, мы захотим заморозить дату в каком-то желаемом значении. Вот как это можно сделать:
1// Create conversion options instance.
2...
3// Force the TeX engine to output the specified date in the title.
4options.DateTime = new System.DateTime(2022, 12, 18);
Как игнорировать недостающие пакеты
Возможно, мы захотим преобразовать файл LaTeX, который ссылается на некоторые пакеты, которые не поддерживаются библиотекой Aspose.TeX для .NET. В этом случае движок 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.IgnoreMissingPackages = true;
Как избежать наращивания лигатур
Обычно движок TeX создает лигатуры для определенных пар символов, если шрифт предоставляет необходимые для этого данные. Мы можем указать движку пропустить построение лигатуры с помощью следующего кода:
1// Create conversion options instance.
2...
3// Set to true to make the engine not construct ligatures where normally it would.
4options.NoLigatures = true;
Как повторить работу
Как мы уже упоминали выше относительно меток и ссылок, бывают случаи, когда нам нужно запустить одно и то же задание дважды. Вот как это можно сделать:
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.
6options.SaveOptions.RasterizeFormulas = 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.
6options.SaveOptions.RasterizeIncludedGraphics = 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.
6options.SaveOptions.SubsetFonts = true;