カスタム TeX 形式の作成

C# .NET を介してカスタム形式で TeX ファイルを組版する

 

TeX は、TeX (TeX エンジン) とも呼ばれるコンピューター ドキュメント作成システム用のプログラムを作成するために使用されるプログラミング 言語です。その主な目的は、数学的または技術的な論文の作成を支援することです。TeX 言語には、いくつかのアクションをトリガーしたり、エンジンのいくつかの内部パラメーターを調整したりして、組版プロセスを制御するコマンドが含まれています。TeX 言語の構文を使用すると、便宜上マクロとパラメーター値を定義すると、より生産的になります。これらの定義は TeX ファイルに配置し、実際のドキュメント データを含む他のすべての TeX ファイルの冒頭に含めます。あるいは、定義をロードした後にエンジンの内部状態をダンプすることで、これを回避することもできます。このようなバイナリ ダンプは 形式ファイル と呼ばれます。その場合、ドキュメント ファイルを組版する前に形式名 (TeX 形式ファイルの名前) を指定するだけで済みます。TeX エンジンは、形式ファイルを処理する必要がないため、TeX 構文の形式よりもはるかに高速にこのような形式ファイルをロードします。

今日、最も一般的に使用されている形式は LaTeX です。LaTeX は非常に幅広い目的をカバーしているため、独自の形式が必要になる可能性は極めて低いです。しかし、必要になった場合は、Aspose.TeX API ソリューションを使用して独自の TeX 形式を作成できます。ここでは、カスタム形式ファイルの作成方法と、カスタム形式を使用してドキュメントを組版する方法について説明します。これには、以下が必要です。

  • C# プラットフォーム向けの、機能が豊富で強力、かつ使いやすいドキュメント操作および変換 API である Aspose.TeX for .NET API。

  • NuGet パッケージ マネージャーを開き、Aspose.TeX を検索してインストールします。パッケージ マネージャー コンソールから次のコマンドを使用することもできます。

Package Manager Console Command

PM> Install-Package Aspose.TeX

C# でカスタム TeX ファイルを作成する手順。

  1. TeXOptions クラスの ConsoleAppOptions() メソッドを使用して、初期状態 (形式なし) の Object TeX エンジン拡張の 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. TeXOptions クラスの ConsoleAppOptions() メソッドを使用して、Object TeX エンジン拡張上にカスタム形式の変換オプションを作成します。
  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 What is TeX File Format

TeX は高品質な組版システムで、プログラミング言語でもあり、TeX エンジン(pdfTeX、XeTeX、LuaTeX など)で処理して PDF や DVI などの出力を生成します。