ストリームから TeX ソース ファイルを読み込む

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

 

TeX は、数式、技術図面、およびその他の特殊な組版機能を含む高品質の文書を作成するために、科学および技術出版コミュニティで開発および広く使用されている組版システムです。 TeX では、ドキュメント内のテキストをフォーマットしますが、コマンドと共にプレーン テキストを入力します。出力として、必要な (指定された) 形式のフォーマット済みファイルが得られます。

この形式は、利用可能な最も高度で強力な組版システムの 1 つと考えられています。このような複雑なツールを説明するために、機能をよりよく理解できるように、TeX を使用した操作のコード例を配置しました。

ここのコードは、ストリームからの TeX 入力の読み込み、出力用のファイル システム ディレクトリの使用、イメージング デバイスへの出力、コンソールからのオンライン入力の取得、コンソールへの端末出力の書き込みについて説明しています。

最初に API の使用を開始するには、Aspose.TeX API をインストールします。これは、NuGet パッケージ マネージャーで検索するか、パッケージ マネージャー コンソールで Install-Package Aspose.TeX コマンドを使用して実行できます。

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

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

  1. TeXOptions クラスのインスタンスを ObjectTeX エンジン拡張のデフォルト設定で作成し、ジョブ名を設定します。
  2. InputFileSystemDirectory クラスを使用して、入力用のファイル システム作業ディレクトリを指定します。
  3. OutputFileSystemDirectory クラスを使用して、出力用のファイル システム作業ディレクトリを指定します。
  4. OutputConsoleTerminal クラスを使用して、コンソールを出力ターミナルとして指定します。
  5. InputConsoleTerminal クラスを使用して、コンソールを入力ターミナルとして指定します。
  6. PngSaveOptions のインスタンスを作成し、解像度を必要な数。
  7. タイプセットを実行します。

TeX をロードするための C++ コード

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 TeX ファイル形式とは

TeX は実際にはフォーマットではありません。プログラミング言語であると同時に、この言語を理解するインタープリター エンジンでもあります。 TeX ファイルは、LaTeX で作成されたドキュメントです。このドキュメントには、グラフィック、表、記号、リスト、数式、および方程式を含めることができます。