Другие параметры управления TeX | .NET
Как установить режим взаимодействия
Как мы упоминали здесь, Aspose.TeX для .NET позволяет нам установить начальный режим взаимодействия, в котором запускается движок. Вот как мы это делаем:
1// How to set the interaction mode
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Set the interaction mode.
7options.Interaction = Interaction.NonstopMode;Как задать имя задания
Когда мы передаем основной входной файл в качестве имени файла, мы получаем выходные файлы с тем же именем, но с другими расширениями. Движок TeX называет имя входного файла имя задания и использует его для выходных файлов, за исключением случаев, когда записываются вспомогательные файлы с явно указанными другими именами. Когда мы передаем основной входной файл как поток, движок TeX использует имя задания по умолчанию — texput. В обоих случаях мы можем переопределить имя задания, назначив соответствующий параметр преобразования.
1// How to set the job name
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Set the job name.
7options.JobName = "my-job-name";Как «остановить время»
В LaTeX есть функция автоматического создания заголовка на основе некоторых определений в преамбуле. Этот заголовок обычно содержит текущую дату. Возможно, мы захотим заморозить дату в каком-то желаемом значении. Вот как это можно сделать:
1// How to "stop time"
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Force the TeX engine to output the specified date in the title.
7options.DateTime = new System.DateTime(2022, 12, 18);Как игнорировать недостающие пакеты
Возможно, мы захотим преобразовать файл LaTeX, который ссылается на некоторые пакеты, которые не поддерживаются библиотекой Aspose.TeX для .NET. В этом случае движок TeX остановится с ошибкой при попытке загрузить такой пакет. Чтобы избежать этого, мы можем использовать следующий вариант:
1// How to ignore missing packages
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Set to true to make the engine skip missing packages (when your file references one) without errors.
7options.IgnoreMissingPackages = true;Как избежать наращивания лигатур
Обычно движок TeX создает лигатуры для определенных пар символов, если шрифт предоставляет необходимые для этого данные. Мы можем указать движку пропустить построение лигатуры с помощью следующего кода:
1// How to avoid building ligatures
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Set to true to make the engine not construct ligatures where normally it would.
7options.NoLigatures = true;Как повторить работу
Как мы уже упоминали выше относительно меток и ссылок, бывают случаи, когда нам нужно запустить одно и то же задание дважды. Вот как это можно сделать:
1// How to repeat the job
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Ask the engine to repeat the job.
7options.Repeat = true;Как превратить математические формулы в растровые изображения
Иногда нам может потребоваться иметь математические формулы в виде растровых изображений, а не набирать их шрифтами. Для этой цели может служить следующий вариант:
1// How to turn math formulas to raster images
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Create and assign saving options instance if needed.
7options.SaveOptions = new PdfSaveOptions();
8// ...
9// Set to true if you want math formulas to be converted to raster images.
10options.SaveOptions.RasterizeFormulas = true;Как превратить графику в растровые изображения
Движок ObjectTeX позволяет включать графические файлы в растровых форматах (PNG и JPG), а также в форматах PS(EPS) и XPS(OXPS). Последние два формата обычно содержат векторные элементы и тексты. Чтобы растрировать их и включить в виде сплошных изображений, мы можем использовать следующую опцию:
1// How to turn graphics to raster images
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Create and assign saving options instance if needed.
7options.SaveOptions = new PdfSaveOptions();
8// ...
9// Set to true if you want included graphics (if it contains vector elements) to be converted to raster images.
10options.SaveOptions.RasterizeIncludedGraphics = true;Как подмножество шрифтов
Если мы хотим уменьшить размер выходного файла, мы можем прибегнуть к поднабору шрифтов, что означает, что шрифты в выходном документе будут содержать только данные о глифах, которые используются в документе. Вот как мы можем это решить:
1// How to subset fonts
2
3// Create conversion options instance.
4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());
5// ...
6// Create and assign saving options instance if needed.
7options.SaveOptions = new PdfSaveOptions();
8// ...
9// Set to true to make the device subset fonts used in the document.
10options.SaveOptions.SubsetFonts = true;