Otras opciones de gestión de TeX | Java
Cómo configurar el modo de interacción
Como mencionamos aquí, Aspose.TeX para Java nos permite configurar el modo de interacción inicial en el que se inicia el motor. Así es como lo hacemos:
1// Create conversion options instance.
2...
3// Set the interaction mode.
4options.setInteraction(Interaction.NonstopMode);
Cómo configurar el nombre del trabajo
Cuando pasamos el archivo de entrada principal como nombre de archivo, obtenemos archivos de salida con el mismo nombre, aunque con otras extensiones. El motor TeX llama al nombre del archivo de entrada nombre del trabajo y lo utiliza para los archivos de salida, excepto en los casos en que se escriben archivos auxiliares con otros nombres especificados explícitamente. Cuando pasamos el archivo de entrada principal como flujo, el motor TeX usa el nombre de trabajo predeterminado, que es texput. En ambos casos, podemos anular el nombre del trabajo asignando la opción de conversión adecuada.
1// Create conversion options instance.
2...
3// Set the job name.
4options.setJobName("my-job-name");
Cómo “detener el tiempo”
LaTeX tiene una función para generar automáticamente un título a partir de algunas definiciones del preámbulo. Este título normalmente contiene la fecha actual. Es posible que deseemos congelar la fecha en algún valor deseado. Así es como se puede hacer:
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());
Cómo ignorar paquetes faltantes
Es posible que queramos convertir un archivo LaTeX que haga referencia a algunos paquetes que no son compatibles con la biblioteca Aspose.TeX para .NET. En este caso, el motor TeX se detendrá con un error al intentar cargar dicho paquete. Para evitar esto, podemos utilizar la siguiente opción:
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);
Cómo evitar la construcción de ligaduras
Normalmente, el motor TeX crea ligaduras para ciertos pares de caracteres si la fuente proporciona los datos necesarios para hacerlo. Podemos indicarle al motor que omita la creación de ligaduras con el siguiente código:
1// Create conversion options instance.
2...
3// Set to true to make the engine not construct ligatures where normally it would.
4options.noLigatures(true);
Cómo repetir el trabajo
Como mencionamos arriba con respecto a las etiquetas y referencias, hay casos en los que es posible que deseemos ejecutar el mismo trabajo dos veces. Así es como se puede hacer:
1// Create conversion options instance.
2...
3// Ask the engine to repeat the job.
4options.repeat(true);
Cómo convertir fórmulas matemáticas en imágenes rasterizadas
A veces es posible que necesitemos tener fórmulas matemáticas como imágenes rasterizadas en lugar de fuentes escritas. Para ello puede servir la siguiente opción:
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);
Cómo convertir gráficos en imágenes rasterizadas
El motor ObjectTeX nos permite incluir archivos gráficos en formatos rasterizados (PNG y JPG) así como en formatos PS(EPS) y XPS(OXPS). Los dos últimos formatos suelen contener elementos vectoriales y textos. Para tenerlas rasterizadas e incluidas como imágenes sólidas podemos utilizar la siguiente opción:
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);
Cómo subconjuntos de fuentes
En caso de que queramos reducir el tamaño del archivo de salida, podemos recurrir al subconjunto de fuentes, lo que significa que las fuentes en el documento de salida solo contendrán datos sobre los glifos que se utilizan en el documento. Así es como podemos resolver esto:
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);