Công thức LaTeX thành SVG trong C#

LaTeX là một phần mềm mạnh mẽ cho phép toán sắp chữ. Kết xuất công thức LaTeX thành hình ảnh SVG là một cách phổ biến để hiển thị phương trình trên web. Chúng ta có thể viết các phương trình và công thức toán học cơ bản theo lập trình mà không cần sử dụng LaTeX và lưu dưới dạng ảnh SVG. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách hiển thị công thức LaTeX thành SVG trong C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. C# API để hiển thị công thức LaTeX thành SVG
  2. Các bước để hiển thị công thức LaTeX thành SVG
  3. Kết xuất công thức LaTeX thành SVG

API C# để hiển thị công thức LaTeX thành SVG

Để hiển thị công thức LaTeX sang định dạng SVG, chúng tôi sẽ sử dụng API Aspose.TeX for .NET. Nó cho phép sắp chữ các tệp TeX sang các định dạng tệp khác nhau như PDF, XPS hoặc hình ảnh.

Lớp MathRendererOptions của API cho phép chỉ định các tùy chọn hiển thị công thức Toán học phổ biến. Lớp SvgMathRenderer cung cấp phương thức Render (string, Stream, MathRendererOptions, out SizeF) để triển khai kết xuất công thức toán học tới SVG.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.TeX

Cách hiển thị công thức LaTeX thành SVG trong C#

Chúng tôi có thể hiển thị các công thức toán học nội tuyến hoặc các phương trình phức tạp sang định dạng SVG bằng cách làm theo các bước dưới đây:

  1. Khởi tạo và Chỉ định các tùy chọn kết xuất toán học SVG.
  2. Chỉ định phần mở đầu của tài liệu LaTeX.
  3. Khởi tạo trình kết xuất toán học SVG.
  4. Kết xuất công thức tới SVG bằng phương pháp Kết xuất.

Phần sau đây mô tả cách chuyển các bước này thành C# và hiển thị công thức LaTeX thành SVG.

Kết xuất Công thức LaTeX thành SVG bằng C#

Vui lòng làm theo các bước dưới đây để hiển thị các công thức toán học ở định dạng SVG.

  1. Đầu tiên, tạo một phiên bản của lớp MathRendererOptions
  2. Tiếp theo, chỉ định phần mở đầu tài liệu LaTeX.
  3. Tùy chọn, đặt các thuộc tính khác nhau như Scale, TextColor, BackgroundColor, v.v.
  4. Tiếp theo, tạo luồng đầu ra cho hình ảnh công thức.
  5. Sau đó, tạo một thể hiện của lớp SvgMathRenderer.
  6. Cuối cùng, gọi phương thức Render() để hiển thị công thức. Nó lấy chuỗi công thức, luồng, MathRendererOptions và kích thước hình ảnh đầu ra làm đối số.

Mẫu mã sau đây trình bày cách hiển thị một công thức toán học tới SVG trong C#.

// Ví dụ mã này trình bày cách hiển thị các công thức và phương trình toán học dưới dạng SVG
// Tạo các tùy chọn kết xuất SVG
MathRendererOptions options = new SvgMathRendererOptions();

// Chỉ định phần mở đầu.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// Chỉ định hệ số tỷ lệ 300%.
options.Scale = 3000;

// Chỉ định màu nền trước.
options.TextColor = Color.Black;

// Chỉ định màu nền.
options.BackgroundColor = Color.White;

// Chỉ định luồng đầu ra cho tệp nhật ký.
options.LogStream = new MemoryStream();

// Chỉ định có hiển thị đầu ra đầu cuối trên bảng điều khiển hay không.
options.ShowTerminal = true;

// Biến trong đó kích thước của hình ảnh kết quả sẽ được ghi.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// Tạo luồng đầu ra cho hình ảnh công thức.
using (Stream stream = File.Open(@"C:\Files\math-formula.svg", FileMode.Create))
{
    // Kết xuất dưới dạng 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);
}

// Hiển thị các kết quả khác.
Console.WriteLine(options.ErrorReport);
Console.WriteLine();
Console.WriteLine("Size: " + size.Width + "x" + size.Height);
Kết xuất Công thức LaTeX thành SVG bằng C#

Kết xuất Công thức LaTeX thành SVG bằng C#

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng ta đã học cách hiển thị các công thức và phương trình toán học sang SVG trong C#. Bên cạnh đó, bạn có thể tìm hiểu thêm về Aspose.TeX for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm