رندر معادلات و فرمول های ریاضی با استفاده از سی شارپ

LaTeX یک نرم افزار قدرتمند برای حروفچینی ریاضی است. این اجازه می دهد تا فرمول ها و معادلات ریاضی را در فایل TEX جاسازی کنید، که یک سند منبع تهیه شده توسط LaTeX است. دستورات زیادی برای تعیین فرمت سند از جمله متن، نمادها، عبارات ریاضی و گرافیک ارائه می دهد. ما می توانیم معادلات اولیه و فرمول های ریاضی را به صورت برنامه نویسی بدون استفاده از LaTeX بنویسیم. در این مقاله نحوه رندر معادلات لاتک و فرمول های ریاضی با استفاده از سی شارپ را خواهیم آموخت.

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

  1. C# API برای رندر معادلات LaTeX و فرمول‌های ریاضی
  2. Render LaTeX Inline Math Formulas
  3. Render-Complex Equations
  4. نمایش معادلات طولانی
  5. تراز کردن چند معادله
  6. [معادلات گروهی و مرکزی](#گروه-و-معادلات-مرکز-با استفاده از-CSharp)
  7. رندر ماتریس‌ها، پرانتزها و براکت‌ها
  8. Render Fractions and Binomials

C# API برای رندر معادلات LaTeX و فرمول های ریاضی

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

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

PM> Install-Package Aspose.TeX

رندر فرمول های ریاضی درون خطی LaTeX با استفاده از سی شارپ

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

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

نمونه کد زیر نشان می دهد که چگونه یک فرمول ریاضی را به صورت برنامه نویسی با استفاده از C# ارائه کنید.

// این مثال کد نحوه ارائه فرمول ها و معادلات ریاضی را نشان می دهد
// گزینه های رندر را ایجاد کنید که وضوح تصویر 150 dpi را مشخص می کند
MathRendererOptions options = new PngMathRendererOptions() { Resolution = 150 };

// مقدمه را مشخص کنید.
options.Preamble = @"\usepackage{amsmath}
                    \usepackage{amsfonts}
                    \usepackage{amssymb}
                    \usepackage{color}";

// ضریب مقیاس را 300% مشخص کنید.
options.Scale = 3000;

// رنگ پیش زمینه را مشخص کنید.
options.TextColor = System.Drawing.Color.Black;

// رنگ پس زمینه را مشخص کنید.
options.BackgroundColor = System.Drawing.Color.White;

// جریان خروجی را برای فایل log مشخص کنید.
options.LogStream = new MemoryStream();

// مشخص کنید که خروجی ترمینال روی کنسول نمایش داده شود یا خیر.
options.ShowTerminal = true;

// متغیری که ابعاد تصویر حاصل در آن نوشته خواهد شد.
System.Drawing.SizeF size = new System.Drawing.SizeF();

// جریان خروجی را برای تصویر فرمول ایجاد کنید.
using (Stream stream = File.Open(@"D:\Files\Tex\math-formula.png", FileMode.Create))
    // اجرای رندر.
    MathRenderer.Render(@"This is a sample formula $f(x) = x^2$ example.", stream, options, out size);

// نمایش نتایج دیگر
System.Console.Out.WriteLine(options.ErrorReport);
System.Console.Out.WriteLine();
System.Console.Out.WriteLine("Size: " + size);
رندر فرمول های ریاضی درون خطی با استفاده از سی شارپ

رندر فرمول های ریاضی درون خطی با استفاده از سی شارپ

رندر معادلات پیچیده در سی شارپ

ما می توانیم هر معادله یا فرمول پیچیده ای را با دنبال کردن مراحل ذکر شده در بالا ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

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);
رندر معادلات پیچیده در سی شارپ

رندر معادلات پیچیده در سی شارپ

نمایش معادلات طولانی در سی شارپ

با دنبال کردن مراحلی که قبلا ذکر شد می‌توانیم معادلات طولانی را در چندین خط نمایش دهیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

MathRenderer.Render(@"\begin{document}
                    \begin{multline*}
	            p(x) = x^1+x^2+x^3+x^4\\ 
	            - x^4 - x^3 - x^2 - x
	            \end{multline*}
                    \end{document}", stream, options, out size);
معادلات نمایش طولانی

نمایش معادلات طولانی در سی شارپ

تراز کردن چندین معادله با استفاده از سی شارپ

همچنین می‌توانیم چندین معادله یا فرمول را با انجام مراحلی که قبلاً ذکر شد، تراز و ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

MathRenderer.Render(@"\begin{document}
                         \begin{align*}
                         a+b   &  a-b   &  (a+b)(a-b)\\
                         x+y   &  x-y   &  (x+y)(x-y)\\
                         p+q   &  p-q   &  (p+q)(p-q)
                         \end{align*}
                         \end{document}", stream, options, out size);
تراز کردن چندین معادله با استفاده از سی شارپ

تراز کردن چندین معادله با استفاده از سی شارپ

معادلات گروه و مرکز با استفاده از سی شارپ

با دنبال کردن مراحلی که قبلا ذکر شد می‌توانیم چندین معادله را در حین رندر گروه‌بندی و مرکز کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

MathRenderer.Render(@"\begin{gather*} 
                (a+b)=a^2+b^2+2ab \\ 
                (a-b)=a^2+b^2-2ab \\
                (a-b)=a^2+b^2-2ab
                \end{gather*}", stream, options, out size);
Group-and-Center-Equations-using-CSharp

معادلات گروه و مرکز با استفاده از سی شارپ

رندر ماتریس، پرانتز و براکت در سی شارپ {#Render-Matrices,-Parenthesis,-and-Brackets-in-CSharp}

همچنین می‌توانیم ماتریس‌ها، پرانتزها و براکت‌ها را با انجام مراحلی که قبلاً ذکر شد، ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

MathRenderer.Render(@"\begin{document}
	            [ 
	            \left \{
	              \begin{tabular}{ccc}
	              1 & 4 & 7 \\
	              2 & 5 & 8 \\
	              3 & 6 & 9 
	              \end{tabular}
	            \right \}
	            ]
	            \end{document}", stream, options, out size);
رندر ماتریس، پرانتز و براکت در سی شارپ

رندر ماتریس، پرانتز و براکت در سی شارپ

رندر کسری و دوجمله ای با استفاده از سی شارپ

ما می‌توانیم کسرها و دوجمله‌ای را نیز با انجام مراحلی که قبلا ذکر شد، ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 4 همانطور که در زیر نشان داده شده است ارائه دهیم:

MathRenderer.Render(@"\begin{document}
	            [
	                \binom{n}{k} = \frac{n!}{k!(n-k)!}
	            ]
	            \end{document}", stream, options, out size);
رندر کسری و دوجمله ای با استفاده از سی شارپ

رندر کسری و دوجمله ای با استفاده از سی شارپ

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

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله یاد گرفتیم که چگونه:

  • فرمول ها و معادلات ریاضی ساده و پیچیده را در سی شارپ ارائه دهید
  • معادلات را به صورت برنامه ای تراز و گروه بندی کنید
  • ماتریس ها، پرانتزها، براکت ها، کسری ها و دوجمله ای ها را رندر کنید

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

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