ストリームからの TeX ソース ファイルのロード

ストリームから TeX/LaTeX ファイルをロードするための C++ API ソリューション

 

TeX は、数式、技術図面、およびその他の特殊な組版機能を含む高品質なドキュメントを作成するために、科学技術出版コミュニティで開発され、広く使用されている組版システムです。TeX では、ドキュメント内のテキストをフォーマットするのではなく、ドキュメントのテキスト フラグメントと、出力を制御するコマンドを含むプレーン テキストを入力します。出力では、目的の (指定された) 形式のフォーマットされたファイルが取得されます。TeX の入力と出力をよりよく理解するには、ドキュメントの TeX I/O セクションを参照してください。

TeX は、最も先進で強力な組版システムの 1 つと考えられています。Aspose.TeX for C++ を使用して TeX ファイルを処理する方法を説明するために、機能をよりよく理解できるように TeX 操作のコード例を掲載しました。

ここでのコードは、ストリームからの TeX 入力のロード、出力用のファイル システム ディレクトリの使用、イメージング デバイスへの出力、ターミナル出力のコンソールへの書き込み、およびコンソールからのオンライン入力の受信について説明しています。

開始するには、まず Aspose.TeX API をインストールします。これを行うには、NuGet パッケージ マネージャーで検索するか、パッケージ マネージャー コンソールで次のコマンドを使用します。

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

C++ でストリームから TeX をロードする手順:

  1. Object TeX エンジン拡張機能のデフォルト設定を使用して TeXOptions クラスのインスタンスを作成し、ジョブ名を設定します。
  2. InputFileSystemDirectory クラスを使用して、入力データのファイル システム作業ディレクトリを指定します。
  3. OutputFileSystemDirectory クラスを使用して、出力用のファイル システム作業ディレクトリを指定します。
  4. OutputConsoleTerminal クラスを使用して、コンソールを出力ターミナルとして指定します。
  5. InputConsoleTerminal クラスを使用して、コンソールを入力ターミナルとして指定します。
  6. 保存オプションを作成して指定します。これを行うために、ここでは PngSaveOptions クラスをインスタンス化し、解像度を設定します。
  7. TeXJob クラスのインスタンスを作成し、新しく作成した ImageDevice を使用して Run() メソッドを使用して組版を実行します。

C++ コード例: TeX のロード

using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Image;
// Create typesetting options for the default Object TeX format on the Object TeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specify the job name.
options->set_JobName(u"stream-in-image-out");
// Specify the file system working directory for the input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(RunExamples::InputDirectory));
// Specify the file system working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
// Specify console as a input terminal.
options->set_TerminalIn(System::MakeObject<InputConsoleTerminal>()); // Default. No need to specify.
// Specify console as an output terminal. 
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>()); // Default. No need to specify.

// Create and specify saving options.
options->set_SaveOptions([&]{ auto tmp_0 = System::MakeObject<PngSaveOptions>(); tmp_0->set_Resolution(300); return tmp_0; }());

// Run the job.
System::MakeObject<Aspose::TeX::TeXJob>(
    System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"\\hrule height 10pt width 95pt\\vskip10pt\\hrule height 5pt")),
    System::MakeObject<ImageDevice>(), options)->Run();

// When the console prompts the input, type "ABC", press Enter, then type "\end" and press Enter again.



よくある質問

1. LaTeX のストリームから TeX ソース ファイルをロードすることはできますか?

はい、LaTeX のストリームから TeX ソース ファイルを読み込むことができます。 LaTeX には \input コマンドが用意されており、これを使用すると、外部 TeX ファイルの内容をメイン文書に直接組み込むことができます。 \input への引数としてファイル パスまたは URL を指定すると、ストリームを含むさまざまなソースから TeX ソース ファイルを動的にロードして、追加のコンテンツを組み込んだり、文書構造をモジュール化したりできます。

2. プログラムでストリームから TeX ソース ファイルをロードするにはどうすればよいですか?

ストリームから TeX ソース ファイルをプログラム的にロードするには、使用しているプログラミング言語または環境によって提供されるファイル処理と入出力操作を使用する必要があります。目的のソース ファイルへのストリームを開き、その内容をメモリに読み取り、その内容を LaTeX ドキュメントの引数として渡すことができます。

3. TeX ソース ファイルをストリームからロードするときに考慮事項や制限はありますか?

ストリームが適切に管理され、ファイルの内容が LaTeX によって正しく読み取られて処理されることを確認することが重要です。データ破損やメモリ リークなどの問題を防ぐために、ファイル エンコード、エラー処理、リソース管理などを考慮する必要があります。さらに、ストリームベースの入力は、特に TeX ファイルが大きい場合やリアルタイム処理が必要な場合には、すべてのシナリオに適しているとは限りません。

TeX What is TeX File Format

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