TeX ファイルの組版
C++ でカスタム TeX フォーマットを使用して TeX ファイルを組版する
組版(Typesetting)とは、ページ上のテキストや画像を視覚的に魅力的で読みやすい方法で配置するプロセスです。このプロセスには、テキストの間隔、フォント、レイアウトの調整が含まれます。TeX の文脈では、組版とは TeX ファイルを読み取り、それを PDF などの組版されたドキュメントに変換するプロセスを指します。これは TeX エンジンと呼ばれるプログラムを使用して行われ、TeX コードを解釈して組版されたドキュメントを生成します。
TeX と LaTeX は、複雑な数式や記号を処理する能力や、高品質なドキュメントを作成する能力など、その強力な組版機能で知られています。その他の組版ツールには、Microsoft Word、Adobe InDesign、QuarkXPress などがあります。
適切なコマンドを実行してコマンドラインから TeX ファイルを組版することも、さまざまなプログラミング言語の TeX ライブラリを使用してプログラムで TeX ファイルを組版することもできます。たとえば、Aspose.TeX for C++ を使用して TeX ファイルを組版できます。ここでは、そのようなタスクのコード例を示します。
例を実行するには、以下が必要です。
- Aspose.TeX for C++ API。C++ プラットフォーム向けの機能豊富で強力かつ使いやすいドキュメント処理および変換 API です。
- NuGet パッケージ マネージャーを開き、Aspose.TeX.Cpp を検索してインストールします。パッケージ マネージャー コンソールから次のコマンドを使用することもできます。
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
C++ を使用して TeX を組版する手順。
- TeXOptions クラスの ConsoleAppOptions() メソッドを使用して、Object TeX エンジン拡張機能上で Object TeX/Object LaTeX の組版オプションをインスタンス化します。組版する TeX ファイルが Plain TeX 形式である場合、またはテキスト データのほかに TeX プリミティブのみが含まれている場合は、 ObjectTeX() 構成を使用します。TeX ファイルが LaTeX 形式の場合は、代わりに get_ObjectLaTeX() 構成を使用する必要があります。
- OutputFileSystemDirectory クラスを使用して、出力用のファイル システム作業ディレクトリを指定します。
- 新しく作成した XpsDevice オブジェクトを使用して TeXJob クラスのインスタンスを作成し、Run() メソッドを呼び出してジョブを実行します。
C++ コード例: TeX/LaTeX ファイルの組版
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Xps;// Create conversion options for the Object TeX/Object LaTeX format upon the Object TeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX()); // TeXConfig::get_ObjectLaTeX()
// Specify a file system working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
// Run the job.
System::MakeObject<Aspose::TeX::TeXJob>(System::IO::Path::Combine(RunExamples::InputDirectory, u"hello-world"),
System::MakeObject<XpsDevice>(), options)->Run();TeX What is TeX File Format
TeX は高品質な組版システムで、プログラミング言語でもあり、TeX エンジン(pdfTeX、XeTeX、LuaTeX など)で処理して PDF や DVI などの出力を生成します。