ZIP I/O を使用した TeX 組版
ZIP アーカイブをソースと出力先として使用して TeX を PDF に変換する。C++ 用 API
TeX 言語は、書式設定を気にすることなくプロフェッショナルなドキュメントを作成できる組版ツールです。TeX では、出力先を制御するコマンドとともに、ドキュメントのテキスト断片を含むプレーンテキストを入力します。出力時には、目的の(指定された)形式で書式設定されたファイルが得られます。TeX の入出力の詳細については、TeX の ドキュメント を参照してください。
TeX は強力で高度なシステムでもありますが、学術界や科学界以外ではあまり広く使用されていません。一方、PDF はポータブルな形式であり、ほとんどのデバイスで簡単に表示でき、より広く受け入れられています。PDF を読み取る機能はあらゆるデバイスに備わっており、ほとんどの最新のブラウザでもサポートされています。TeX を PDF に変換することで、ドキュメントをより幅広い読者と共有できるようになり、専門的なソフトウェアを持たない人々にとってもアクセスしやすい形式が提供されます。さらに、PDF は TeX に対して、フォント レンダリングの向上、インタラクティブ機能のサポート、ページ サイズやレイアウトの制御の容易さなど、いくつかの利点を提供します。
以下の C++ コードは TeX ファイルを組版し、PDF を作成して、ローカル ファイル システム上の ZIP アーカイブに保存します。このタスクを実行するには、機能が豊富で強力、かつ使いやすいドキュメント処理および変換ツールである Aspose.TeX for C++ API を使用します。API をインストールするには、NuGet パッケージ マネージャーを開き、Aspose.TeX.Cpp を検索します。または、パッケージ マネージャー コンソールで次のコマンドを使用することもできます。
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
以下のコードでは、TeX は ZIP アーカイブからメインの入力ファイルを取得し、それを PDF に変換して、別の ZIP アーカイブに書き込みます。ガイドラインに従ってください。
- 入力作業ディレクトリとして機能する ZIP アーカイブを含むストリームを開きます。必要に応じて、アーカイブ内のサブディレクトリを指定できます。指定しない場合、ファイルはアーカイブ全体から検索されます。
- 出力作業ディレクトリとして機能する新しい ZIP アーカイブのファイル ストリームを作成します。
- Object TeX エンジン拡張機能上で Object TeX フォーマット用の組版オプションを作成します。
- InputZipDirectory クラスと OutputZipDirectory クラスを使用して、入力および出力用の ZIP アーカイブ作業ディレクトリを指定します。
- コンソールを出力ターミナルとして指定します。
- PdfSaveOptions クラスを使用して、組版オプションの保存オプションを指定します。
- メインの入力ファイル名、新しく作成した PdfDevice オブジェクト、および組版オプションを引数として渡して TeXJob クラスをインスタンス化します。Run() メソッドを呼び出して変換を実行します。
- 出力 ZIP アーカイブを確定します。
C++ コード例: ZIP 入出力を使用した TeX から PDF への変換
using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;// Open a stream on a ZIP archive that will serve as the input working directory.
System::SharedPtr<System::IO::Stream> inZipStream =
System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
try
{
System::SharedPtr<System::IO::Stream> outZipStream =
System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Clearing resources under the 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
try
{
// Create typesetting options for the default Object TeX format on the Object TeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specify a ZIP archive working directory for the input.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Specify a ZIP archive working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Specify console as output terminal.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Create and specify saving options.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Run the typesetting job.
System::MakeObject<Aspose::TeX::TeXJob>(u"hello-world", System::MakeObject<PdfDevice>(), options)->Run();
// Finalize the output ZIP archive.
(System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch(...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}よくある質問
1. ZIP ファイルを入力として使用して TeX 文書をタイプセットできますか?
Aspose.TeX は、ZIP ファイルなどの圧縮アーカイブからの TeX ソース ファイルの読み取りをサポートします。 TeX ソース ファイル、画像、追加リソースなど、必要なすべてのファイルを ZIP アーカイブ内に含めて、その ZIP ファイルを LaTeX コンパイラへの入力として指定できます。これにより、特に複数の依存関係を持つ大規模または複雑なドキュメントを扱う場合に、LaTeX プロジェクトの整理と配布が便利になります。
2. TeX 文書の植字に ZIP ファイルを使用することに利点はありますか?
はい、TeX 文書の植字に ZIP ファイルを使用すると、いくつかの利点があります。まず、ZIP ファイルは、TeX ソース ファイル、参考文献、画像、スタイル ファイルなど、LaTeX プロジェクトに関連する複数のファイルを 1 つの圧縮アーカイブにパッケージ化して整理する便利な方法を提供します。これにより、特に他のユーザーと共同作業したりプロジェクトをオンラインで共有したりする場合に、LaTeX ドキュメントの配布と共有が簡素化されます。
3. TeX ファイルをタイプセットするにはどうすればよいですか?
Aspose.TeX API ソリューションを使用して TeX ファイルをタイプセットするには、Object TeX エンジン拡張機能に基づいて Object TeX または Object LaTeX 形式の変換オプションを作成する必要があります。次に、出力用のファイル システムの作業ディレクトリを指定します。最後に、TeXJob クラスのインスタンスを作成し、TeXJob.Run() メソッドを使用して植字プロセスを実行します。
TeX What is TeX File Format
TeX は高品質な組版システムで、プログラミング言語でもあり、TeX エンジン(pdfTeX、XeTeX、LuaTeX など)で処理して PDF や DVI などの出力を生成します。