LaTeX は、タイプセット演算用の強力なソフトウェアです。 LaTeX 数式を SVG 画像にレンダリングすることは、Web 上で数式を表示する一般的な方法です。 LaTeXを使用せずにプログラムで基本的な方程式と数式を記述し、SVG画像形式として保存できます。この記事では、C# で LaTeX 数式を SVG にレンダリングする方法を紹介します。
この記事では、次のトピックについて説明します。
LaTeX 式を SVG にレンダリングする C# API
LaTeX 式を SVG 形式にレンダリングするには、Aspose.TeX for .NET API を使用します。 TeX ファイルを PDF、XPS、画像などのさまざまなファイル形式に組版できます。
API の MathRendererOptions クラスを使用すると、一般的な数式レンダリング オプションを指定できます。 SvgMathRenderer クラスは、数式の SVG へのレンダリングを実装するための Render(string, Stream, MathRendererOptions, out SizeF) メソッドを提供します。
APIのDLLをダウンロードするか、NuGetでインストールしてください。
PM> Install-Package Aspose.TeX
C# で LaTeX 数式を SVG にレンダリングする方法
以下の手順に従って、インライン数式または複雑な方程式を SVG 形式にレンダリングできます。
- SVG 数学レンダラー オプションを初期化して指定します。
- LaTeX ドキュメントのプリアンブルを指定します。
- SVG 数学レンダラーを初期化します。
- Renderer メソッドを使用して式を SVG にレンダリングします。
次のセクションでは、これらの手順を C# に変換し、LaTeX 式を SVG にレンダリングする方法について説明します。
C# を使用して LaTeX 式を SVG にレンダリングする
数式を SVG 形式にレンダリングするには、以下の手順に従ってください。
- まず、MathRendererOptions クラスのインスタンスを作成します。
- 次に、LaTeX ドキュメントのプリアンブルを指定します。
- 必要に応じて、Scale、TextColor、BackgroundColor などのさまざまなプロパティを設定します。
- 次に、フォーミュラ イメージの出力ストリームを作成します。
- その後、SvgMathRenderer クラスのインスタンスを作成します。
- 最後に、Render() メソッドを呼び出して数式をレンダリングします。数式文字列、ストリーム、MathRendererOptions、および出力画像サイズを引数として取ります。
次のコード サンプルは、C# で数式を SVG にレンダリングする方法を示しています。
// このコード例は、数式と方程式を SVG としてレンダリングする方法を示しています。
// SVG レンダリング オプションの作成
MathRendererOptions options = new SvgMathRendererOptions();
// プリアンブルを指定します。
options.Preamble = @"\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{color}";
// 倍率 300% を指定します。
options.Scale = 3000;
// 前景色を指定します。
options.TextColor = Color.Black;
// 背景色を指定します。
options.BackgroundColor = Color.White;
// ログ ファイルの出力ストリームを指定します。
options.LogStream = new MemoryStream();
// コンソールに端末出力を表示するかどうかを指定します。
options.ShowTerminal = true;
// 結果の画像の寸法が書き込まれる変数。
System.Drawing.SizeF size = new System.Drawing.SizeF();
// フォーミュラ イメージの出力ストリームを作成します。
using (Stream stream = File.Open(@"C:\Files\math-formula.svg", FileMode.Create))
{
// SVG としてレンダリング
SvgMathRenderer mathRenderer = new SvgMathRenderer();
mathRenderer.Render(@"\begin{equation*}
e^x = x^{\color{red}0} + x^{\color{red}1} +
\frac{x^{\color{red}2}}{2} +
\frac{x^{\color{red}3}}{6} +
\cdots = \sum_{n\geq 0} \frac{x^{\color{red}n}}{n!}
\end{equation*}", stream, options, out size);
}
// 他の結果を表示します。
Console.WriteLine(options.ErrorReport);
Console.WriteLine();
Console.WriteLine("Size: " + size.Width + "x" + size.Height);
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしでライブラリを試すことができます。
結論
この記事では、数式と方程式を C# で SVG にレンダリングする方法を学びました。また、ドキュメンテーション を使用して、Aspose.TeX for .NET API の詳細を学ぶことができます。ご不明な点がございましたら、無料サポート フォーラム までお気軽にお問い合わせください。