创建自定义 TeX 格式

通过 C# .NET 以自定义格式编写 TeX 文件

 

TeX 是一种编程语言,用于为计算机文档准备系统编写程序,也称为 TeX(TeX 引擎)。他们的主要目标是帮助撰写数学或技术文章。 TeX 语言包含控制合成过程的命令,无论是通过触发某些操作还是调整引擎的某些内部参数。如果您为了方便而定义宏和参数值,那么使用 TeX 语言语法会更加高效。您可以将这些定义放在 TeX 文件中,并将其包含在包含实际文档数据的任何其他 TeX 文件的开头。或者,您可以通过在加载定义后转储引擎的内部状态来避免这种情况。这样的二进制转储称为格式文件。然后,您只需在编写文档文件之前指定格式名称(TeX 格式的文件名称)即可。 TeX 引擎加载此类格式文件的速度比 TeX 语法格式快得多,因为格式文件不需要处理。

如今,最常用的格式是 LaTeX。您不太可能需要您的格式,因为 LaTeX 涵盖了非常广泛的应用程序。但如果您需要它,Aspose.TeX API 解决方案允许您创建自己的 TeX 格式。在这里您将找到有关如何创建自定义格式文件以及如何使用自定义格式撰写文档的信息。为此我们需要:

  • Aspose.TeX API for .NET,是一个功能丰富、强大且易于使用的 C# 平台文档操作和转换 API。

  • 打开 NuGet 包管理器,搜索 Aspose.TeX 并安装它。您还可以从包管理器控制台使用以下命令

Package Manager Console Command

PM> Install-Package Aspose.TeX

创建自定义 C# TeX 文件的步骤。

  1. 使用 TeXOptions ,实例化 TeX 引擎选项,用于在初始状态(无任何格式)扩展 Object TeX 引擎。
  2. 使用 InputFileSystemDirectory 类,为输入指定文件系统工作目录。
  3. 使用 OutputFileSystemDirectory 类指定输出的文件系统工作目录。
  4. 通过调用 TeXJob.CreateFormat() 方法创建格式文件。您作为参数提供的名称必须是包含该格式的 TeX 文件的名称。二进制格式文件将具有相同的名称。

C# 代码示例:创建自定义格式文件

using Aspose.TeX.IO;
using Aspose.TeX;
// Create the TeX engine options for no format upon ObjectTeX engine extension.
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectIniTeX);
// Specify a file system working directory for the input.
options.InputWorkingDirectory = new InputFileSystemDirectory(RunExamples.InputDirectory);
// Specify a file system working directory for the output.
options.OutputWorkingDirectory = new OutputFileSystemDirectory(RunExamples.OutputDirectory);

// Run the format creation.
TeXJob.CreateFormat("customtex", options);

以自定义 C# 格式编写 TeX 文件的步骤。

  1. 使用 InputFileSystemDirectory 类创建格式提供程序。
  2. 使用 ConsoleAppOptions() 在 Object TeX 引擎扩展上为自定义格式创建转换选项 TeXOptions 类。
  3. 如果主输入未作为流提供,请指定输入工作目录。使用 InputFileSystemDirectory 类来执行此操作。
  4. 使用 OutputFileSystemDirectory 类指定输出的文件系统工作目录。
  5. 使用 XpsDevice 创建类 TeXJob 的对象。 并通过调用 Run() 方法运行作业。这里我们还展示了如何将主 TeX 输入文件作为流传递。

C# 代码示例:将 TeX 文件组合成自定义格式

using Aspose.TeX.IO;
using Aspose.TeX.Presentation.Xps;
using Aspose.TeX.ResourceProviders;
using System.IO;
using System.Text;
// Create the format provider using the file system input working directory.
// We use the project output directory as our custom format file is supposed to be located there.
using (FormatProvider formatProvider =
    new FormatProvider(new InputFileSystemDirectory(RunExamples.OutputDirectory), "customtex"))
{
    // Create conversion options for a custom format upon ObjectTeX engine extension.
    TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX(formatProvider));
    options.JobName = "typeset-with-custom-format";
    // Specify the input working directory. This is not required here as we are providing the main input as a stream.
    // But it is required when the main input has dependencies (e.g. images).
    options.InputWorkingDirectory = new InputFileSystemDirectory(RunExamples.InputDirectory);
    // Specify a file system working directory for the output.
    options.OutputWorkingDirectory = new OutputFileSystemDirectory(RunExamples.OutputDirectory);

    // Run the job.
    new TeXJob(new MemoryStream(Encoding.ASCII.GetBytes(
            "Congratulations! You have successfully typeset this text with your own TeX format!\\end")),
            new XpsDevice(), options).Run();
}



常问问题

1. 什么是 LaTeX 模板?

模板是一组已保存的属性、设置或结构,可应用于新创建的文档以节省时间。对于 LaTeX,这可以是包含有关页面格式、字体、文档类、包含的包等信息的文件。

2. 如何使用 LaTeX 模板?

如果您没有使用任何其他软件并且模板只是一个 TeX 文件,只需打开它并开始工作。请记住,您不会直接将更改保存在本文档中,而是使用“另存为”选项。

3. 如何设置LaTeX文档的类型?

要指定 LaTeX 中的文档类型(例如文章、书籍或演示文稿),请使用命令“\documentclass{…}”以及大括号内受支持的类名称之一。

4. 如何创建自定义 TeX 格式?

要使用 Aspose.TeX API 解决方案创建自定义 TeX 格式,您首先需要创建适当的 TeX 引擎选项。然后为输入和输出指定文件系统工作目录。最后,通过调用 TeXJob.CreateFormat() 方法创建格式。

TeX 什么是TeX文件格式

TeX 实际上不是一种格式。它同时是一种编程语言,也是理解这种语言的解释器引擎。 TeX 文件是在 LaTeX 中创建的文档。该文档可以包括图形、表格、符号、列表、公式和方程式。