Java’da özel TeX biçimleriyle çalışma
Aspose.TeX for Java kullanarak özel TeX biçim dosyaları (.fmt) oluşturup yükleyerek ve çalıştırarak belge derleme özelliklerini genişletin. Standart, önceden yapılandırılmış yapılandırmaların (Plain TeX veya ObjectLaTeX gibi) yanı sıra Aspose.TeX, geliştiricilerin önceden yüklenmiş makro paketleri içeren özel biçim dökümleri oluşturmasına olanak tanır. Bu sayede tekrarlanan dizgi işlemleri önemli ölçüde hızlandırılır ve özel TeX lehçeleri desteklenir.
TeX ekosisteminde bir biçim dosyası (.fmt), belirli bir makro paketi ve komut tanımları kümesi (LaTeX veya AMS-TeX gibi) yüklendikten sonraki TeX bellek durumunun ikili dökümüdür. Biçim dosyalarının kullanılması, TeX motorunun her çalıştırmada büyük makro kitaplıklarını ayrıştırmasını önleyerek belge derlemesini önemli ölçüde hızlandırır.
Aspose.TeX for Java, hem yerleşik biçimleri hem de kullanıcı tarafından tanımlanan ve program aracılığıyla oluşturulan özel biçimleri destekler. Desteklenen çıktı dizini türleri:
- ObjectLaTeX motoru, ObjectTeX motor uzantısını temel alan standart bir LaTeX biçimidir ve genel LaTeX belge derlemesi (makaleler, raporlar ve kitaplar) için kullanılır.
- ObjectTeX motoru,
ObjectTeXözellikleriyle genişletilmiş bir TeX biçimidir ve hafif, makrosuz TeX dizgisi için kullanılır. - Custom Format (.fmt) motoru, önceden derlenmiş makrolar/paketler içeren, geliştirici tarafından oluşturulmuş bir ikili biçimdir ve önceden yüklenmiş özel makro kümeleriyle yüksek performanslı toplu derleme için kullanılır.
Özel TeX Biçim Dosyası (.fmt) Oluşturma
TeXFormatEngine kullanarak bir .tex başlatma dosyasından ( \font, \catcode veya \dump gibi makro tanımlarını içeren) özel bir biçim dökümü oluşturun.
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.");
}
}Özel TeX biçimiyle belgeleri derleme
Girdi TeX belgelerini işlemek için mevcut veya yeni oluşturulmuş bir .fmt dosyasını yükleyin ve çalıştırın.
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.");
}
}Yerleşik motorları ve biçimleri kullanma
Standart belge işleme için TeXConfig tarafından sağlanan yerleşik yapılandırmalardan yararlanın.
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.");
}
}Kurulum ve yapılandırma
Maven kullanarak Aspose.TeX for Java’yı projenize entegre edin:
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>
FAQ
1. Özel bir format dosyası (.fmt) kullanmanın avantajı nedir?
Özel bir format oluşturmak, makro paketlerini ikili formatta önceden yükler. Bu, her çalıştırmada gerçekleşen ayrıştırma yükünü ortadan kaldırarak yüksek hacimli belge işleme işlem hatlarını önemli ölçüde hızlandırır.
2. Bir .fmt dosyası oluşturmak için kaynak dosyada hangi komut bulunmalıdır?
Kaynak TeX dosyası, motora ikili format anlık görüntüsünü oluşturmasını bildiren yerel \dump TeX komutuyla sona ermelidir.
3. ZIP arşivinde depolanan format dosyalarını yükleyebilir miyim?
Evet. TeXConfig.customFormat() içindeki format sağlayıcı dizin parametresi olarak bir InputZipDirectory örneği geçirin.