فرمول LaTeX به SVG در سی شارپ

LaTeX یک نرم افزار قدرتمند برای حروفچینی ریاضی است. ارائه فرمول های LaTeX به تصاویر SVG یک روش محبوب برای نمایش معادلات در وب است. می‌توانیم معادلات اولیه و فرمول‌های ریاضی را بدون استفاده از LaTeX به صورت برنامه‌نویسی بنویسیم و به عنوان فرمت تصویر SVG ذخیره کنیم. در این مقاله نحوه رندر فرمول های LaTeX به SVG در سی شارپ را به شما نشان خواهیم داد.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

  1. C# API برای ارائه فرمول LaTeX به SVG
  2. مراحل ارائه فرمول LaTeX به SVG
  3. رندر فرمول LaTeX به SVG

C# API برای رندر فرمول LaTeX به SVG

برای رندر کردن فرمول‌های LaTeX به فرمت SVG، از Aspose.TeX for .NET API استفاده خواهیم کرد. این اجازه می دهد تا فایل های TeX را به فرمت های مختلف فایل مانند PDF، XPS یا تصاویر حروفچینی کنید.

کلاس MathRendererOptions از API را قادر می سازد تا گزینه های رایج رندر فرمول ریاضی را مشخص کند. کلاس SvgMathRenderer متد Render(string, Stream, MathRendererOptions, out SizeF) را برای پیاده سازی رندر فرمول ریاضی در SVG فراهم می کند.

لطفاً یا DLL API را دانلود کنید یا با استفاده از NuGet آن را نصب کنید.

PM> Install-Package Aspose.TeX

نحوه رندر فرمول LaTeX به SVG در سی شارپ

با دنبال کردن مراحل زیر می‌توانیم فرمول‌های ریاضی درون خطی یا معادلات پیچیده را به فرمت SVG ارائه کنیم:

  1. گزینه های رندر ریاضی SVG را راه اندازی و مشخص کنید.
  2. مقدمه سند LaTeX را مشخص کنید.
  3. رندر ریاضی SVG را راه اندازی کنید.
  4. فرمول را با استفاده از روش Renderer به SVG رندر کنید.

در بخش زیر نحوه تبدیل این مراحل به C# و رندر فرمول LaTeX به SVG توضیح داده شده است.

رندر فرمول LaTeX به SVG با استفاده از C#

لطفاً مراحل زیر را برای ارائه فرمول های ریاضی به فرمت SVG دنبال کنید.

  1. ابتدا یک نمونه از کلاس MathRendererOptions ایجاد کنید
  2. سپس مقدمه سند LaTeX را مشخص کنید.
  3. به صورت اختیاری، ویژگی های مختلفی مانند Scale، TextColor، BackgroundColor و غیره را تنظیم کنید.
  4. بعد، جریان خروجی را برای تصویر فرمول ایجاد کنید.
  5. پس از آن، یک نمونه از کلاس SvgMathRenderer ایجاد کنید.
  6. در نهایت متد Render() را برای رندر کردن فرمول فراخوانی کنید. رشته فرمول، استریم، MathRendererOptions و اندازه تصویر خروجی را به عنوان آرگومان می گیرد.

نمونه کد زیر نحوه ارائه یک فرمول ریاضی به 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;

// جریان خروجی را برای فایل log مشخص کنید.
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);
رندر فرمول LaTeX به SVG با استفاده از C#

رندر فرمول LaTeX به SVG با استفاده از C#

مجوز رایگان دریافت کنید

می‌توانید [یک مجوز موقت رایگان] دریافت کنید11 تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله یاد گرفتیم که چگونه فرمول ها و معادلات ریاضی را به SVG در سی شارپ ارائه کنیم. علاوه بر این، می توانید با استفاده از documentation درباره Aspose.TeX for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید