Bekerja dengan format TeX kustom di Java
Perluas kemampuan kompilasi dokumen dengan membuat, memuat, dan menjalankan file format TeX kustom (.fmt) menggunakan Aspose.TeX for Java. Selain konfigurasi standar yang telah dikonfigurasi sebelumnya (seperti Plain TeX atau ObjectLaTeX), Aspose.TeX memungkinkan pengembang membuat dump format kustom dengan paket makro yang telah dimuat sebelumnya untuk mempercepat tugas penyusunan huruf yang berulang secara signifikan dan mendukung dialek TeX khusus.
Dalam ekosistem TeX, file format (.fmt) adalah dump biner dari status memori TeX setelah memuat kumpulan paket makro dan definisi perintah tertentu (seperti LaTeX atau AMS-TeX). Penggunaan file format memungkinkan mesin TeX melewati proses penguraian pustaka makro berukuran besar pada setiap eksekusi, sehingga mempercepat kompilasi dokumen secara drastis.
Aspose.TeX for Java mendukung format bawaan maupun format kustom yang ditentukan pengguna dan dibuat secara terprogram. Jenis direktori output yang didukung:
- Mesin ObjectLaTeX adalah format LaTeX standar yang didasarkan pada ekstensi mesin ObjectTeX dan digunakan untuk kompilasi dokumen LaTeX umum (artikel, laporan, dan buku).
- Mesin ObjectTeX adalah format TeX yang diperluas dengan fitur
ObjectTeX, yang digunakan untuk penyusunan huruf TeX yang ringan dan bebas makro. - Mesin Custom Format (.fmt) adalah format biner yang dibuat oleh pengembang dan berisi makro/paket yang telah dikompilasi sebelumnya, yang digunakan untuk kompilasi batch berperforma tinggi dengan kumpulan makro kustom yang telah dimuat sebelumnya.
Membuat file format TeX kustom (.fmt)
Buat dump format kustom dari file inisialisasi .tex (yang berisi definisi makro seperti \font, \catcode, atau \dump) menggunakan TeXFormatEngine.
import com.aspose.tex.*;
import java.io.IOException;
public class CreateCustomTeXFormat {
public static void main(String[] args) throws IOException {
// Set up options for creating a custom format using ObjectTeX
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectEngineOptions());
// Define input and output working directories
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/CustomMacros/"));
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Formats/"));
// Run the format generation job on the custom macro source file (e.g., 'myformat.tex')
// The source file must end with the \dump command
TeXJob job = new TeXJob("myformat", new PdfDevice(), options);
job.run();
System.out.println("Custom TeX format created successfully.");
}
}Mengompilasi dokumen dengan format TeX kustom
Muat dan jalankan file .fmt yang sudah ada atau baru dibuat untuk memproses dokumen TeX input.
import com.aspose.tex.*;
import java.io.IOException;
public class RunWithCustomTeXFormat {
public static void main(String[] args) throws IOException {
// Define working directory where the custom format file resides
IInputWorkingDirectory formatDir = new InputFileSystemDirectory("C:/TeXProject/Formats/");
// Initialize options using the custom format name ('myformat') and location
TeXOptions options = TeXOptions.consoleAppOptions(
TeXConfig.customFormat("myformat", formatDir)
);
// Set input/output directories for the target TeX document
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Output/"));
// Compile the document using the pre-loaded custom format
TeXJob job = new TeXJob("document", new PdfDevice(), options);
job.run();
System.out.println("Document compiled using custom TeX format successfully.");
}
}Menggunakan mesin dan format bawaan
Untuk pemrosesan dokumen standar, manfaatkan konfigurasi bawaan yang disediakan oleh TeXConfig.
import com.aspose.tex.*;
public class BuiltInTeXFormats {
public static void main(String[] args) throws Exception {
// Option A: Standard ObjectLaTeX (LaTeX document class support)
TeXOptions latexOptions = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
// Option B: Plain ObjectTeX (Plain TeX primitives)
TeXOptions plainTexOptions = TeXOptions.consoleAppOptions(TeXConfig.objectTeX());
System.out.println("Built-in TeX format options initialized.");
}
}Instalasi dan Penyiapan
Integrasikan Aspose.TeX for Java ke dalam proyek Anda menggunakan Maven:
Package Manager Console Command
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-tex</artifactId>
<version>Latest</version>
</dependency>
Pertanyaan yang Sering Diajukan
1. Apa keuntungan menggunakan file format khusus (.fmt)?
Membuat format khusus akan memuat paket makro terlebih dahulu ke dalam format biner. Hal ini menghilangkan overhead penguraian pada setiap proses, sehingga secara signifikan mempercepat pipeline rendering dokumen dalam volume besar.
2. Perintah apa yang harus disertakan dalam file sumber untuk membuat file .fmt?
File TeX sumber harus diakhiri dengan perintah TeX native \dump, yang memberi tahu mesin untuk membuat snapshot format biner.
3. Bisakah saya memuat file format yang disimpan di dalam arsip ZIP?
Ya. Teruskan instance InputZipDirectory sebagai parameter direktori penyedia format di TeXConfig.customFormat().