Інші параметри керування TeX | Java
Як встановити режим взаємодії
Як ми згадували тут, Aspose.TeX для Java дозволяє нам встановити початковий режим взаємодії, у якому запускається двигун. Ось як ми це робимо:
1// Create conversion options instance.
2...
3// Set the interaction mode.
4options.setInteraction(Interaction.NonstopMode);
Як встановити назву роботи
Коли ми передаємо основний вхідний файл як ім’я файлу, ми отримуємо вихідні файли з такою ж назвою, але з іншими розширеннями. Механізм TeX називає ім’я вхідного файлу ім’ям завдання і використовує його для вихідних файлів, за винятком випадків, коли записуються допоміжні файли з явно вказаними іншими іменами. Коли ми передаємо основний вхідний файл як stream, механізм TeX використовує назву завдання за замовчуванням, яка є texput. В обох випадках ми можемо змінити назву завдання, призначивши відповідний параметр перетворення.
1// Create conversion options instance.
2...
3// Set the job name.
4options.setJobName("my-job-name");
Як «зупинити час»
LaTeX має функцію автоматичного створення заголовка з деяких визначень у преамбулі. Цей заголовок зазвичай містить поточну дату. Ми можемо забажати закріпити дату в якомусь бажаному значенні. Ось як це можна зробити:
1// Create conversion options instance.
2...
3// Force the TeX engine to output the specified date in the title.
4options.setDateTime(new GregorianCalendar(2022, Calendar.DECEMBER, 18).getTime());
Як ігнорувати відсутні пакети
Ми можемо захотіти перетворити файл 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.getSaveOptions().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.getSaveOptions().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.getSaveOptions().subsetFonts(true);