Andere TeX-Verwaltungsoptionen | Java

Jedes Beispiel erstellt LaTeX-TeXOptions und konfiguriert eine Option. Übergeben Sie diese Optionen an einen TeXJob, stellen Sie geeignete LaTeX-Eingaben bereit und legen Sie vor der Ausführung ein Ausgabearbeitsverzeichnis fest. Importieren Sie com.aspose.tex.TeXOptions, TeXConfig und die Klassen aus dem gewählten Beispiel: Interaction, com.aspose.tex.rendering.XpsSaveOptions oder PdfSaveOptions sowie java.util.Calendar/GregorianCalendar für das Datumsbeispiel. Behandeln oder deklarieren Sie Ausnahmen in der aufrufenden Methode. Die Beispiele zur Rasterisierung und zu Schriftteilmengen verwenden PdfSaveOptions; rendern Sie mit einem kompatiblen PdfDevice. Wenden Sie eine Lizenz gemäß dem Lizenzleitfaden an.

So legen Sie den Interaktionsmodus fest

Wie wir hier erwähnt haben, können wir mit Aspose.TeX für Java den anfänglichen Interaktionsmodus festlegen, in dem die Engine startet. So machen wir es:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setInteraction(Interaction.NonstopMode);

So legen Sie den Jobnamen fest

Wenn wir die Haupteingabedatei als Dateinamen übergeben, erhalten wir Ausgabedateien mit demselben Namen, allerdings mit anderen Erweiterungen. Die TeX-Engine nennt den Namen der Eingabedatei den Jobnamen und verwendet ihn für Ausgabedateien, außer in Fällen, in denen Hilfsdateien mit explizit angegebenen anderen Namen geschrieben werden. Wenn wir die Haupteingabedatei als stream übergeben, verwendet die TeX-Engine den Standard-Jobnamen, der texput ist. In beiden Fällen können wir den Jobnamen überschreiben, indem wir die entsprechende Konvertierungsoption zuweisen.

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setJobName("my-job-name");
Example-JobName.java hosted with ❤ by GitHub

Wie man „die Zeit anhält“

LaTeX verfügt über eine Funktion zum automatischen Generieren eines Titels aus einigen Definitionen in der Präambel. Dieser Titel enthält normalerweise das aktuelle Datum. Möglicherweise möchten wir das Datum auf einen gewünschten Wert einfrieren. So geht’s:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.setDateTime(new GregorianCalendar(2022, Calendar.DECEMBER, 18).getTime());
Example-DateTime.java hosted with ❤ by GitHub

So ignorieren Sie fehlende Pakete

Eine LaTeX-Datei kann auf Pakete verweisen, die in der Bibliothek Aspose.TeX für Java nicht verfügbar sind. Die Engine stoppt normalerweise mit einem Fehler, wenn sie versucht, ein solches Paket zu laden. Verwenden Sie ignoreMissingPackages(true), um nicht verfügbare Pakete zu überspringen. Dadurch werden die Befehle dieser Pakete nicht bereitgestellt; die Eingabe darf nicht von ihnen abhängen.

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.ignoreMissingPackages(true);

So vermeiden Sie die Bildung von Ligaturen

Normalerweise erstellt die TeX-Engine Ligaturen für bestimmte Zeichenpaare, wenn die Schriftart die dafür erforderlichen Daten bereitstellt. Mit dem folgenden Code können wir die Engine anweisen, die Ligaturbildung zu überspringen:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.noLigatures(true);
Example-NoLigatures.java hosted with ❤ by GitHub

So wiederholen Sie den Job

Wie wir oben in Bezug auf Etiketten und Referenzen erwähnt haben, gibt es Fälle, in denen wir denselben Job möglicherweise zweimal ausführen möchten. So kann es gemacht werden:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new XpsSaveOptions());
4options.repeat(true);
Example-Repeat.java hosted with ❤ by GitHub

So wandeln Sie mathematische Formeln in Rasterbilder um

Manchmal benötigen wir möglicherweise mathematische Formeln als Rasterbilder, anstatt sie in Schriftarten einzugeben. Hierzu kann folgende Möglichkeit dienen:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().rasterizeFormulas(true);

So wandeln Sie Grafiken in Rasterbilder um

Mit der ObjectTeX-Engine können wir Grafikdateien in Rasterformaten (PNG und JPG) sowie in den Formaten PS (EPS) und XPS (OXPS) einbinden. Die letzten beiden Formate enthalten normalerweise Vektorelemente und Texte. Um sie zu gerastern und als Vollbilder einzubinden, können wir die folgende Option verwenden:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().rasterizeIncludedGraphics(true);

So unterteilen Sie Schriftarten

Schriftteilmengen begrenzen eingebettete Schriftarten auf die im Dokument verwendeten Glyphen. Die Auswirkung auf die Ausgabegröße hängt von der Schriftart und ihrer Einbettung durch das Ausgabegerät ab. Weisen Sie Speicheroptionen zu, bevor Sie subsetFonts(true) aktivieren, wie unten gezeigt:

1// Configure options, then pass them to a TeXJob with suitable LaTeX input and output.
2TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
3options.setSaveOptions(new PdfSaveOptions());
4options.getSaveOptions().subsetFonts(true);
Example-SubsetFonts.java hosted with ❤ by GitHub