![فرمول ها و معادلات ریاضی LaTeX را در جاوا ارائه دهید](images/render-latex-math-formulas-and-equations-in-java.jpg#center)
ما می توانیم فرمول ها و معادلات ریاضی را در فایل TeX قرار دهیم. LaTeX از فایل TeX به عنوان یک سند منبع استفاده می کند که حاوی مجموعه ای از دستورات است. این دستورات فرمت سند شامل متن، نمادها، عبارات ریاضی و گرافیک را مشخص می کند. ما می توانیم هر نوع معادله و فرمول ریاضی را به صورت برنامه نویسی و بدون استفاده از لاتک بنویسیم و ارائه کنیم. در این مقاله نحوه رندر فرمول ها و معادلات ریاضی LaTeX در جاوا را یاد می گیریم.
موضوعات زیر در این مقاله پوشش داده خواهد شد:
- Java API برای ارائه فرمولها و معادلات ریاضی LaTeX
- فرمول های ریاضی LaTeX را به صورت PNG رندر کنید
- رندر معادلات پیچیده
- نمایش معادلات طولانی
- تراز کردن چندین معادله
- معادلات گروه و مرکز
- پرانتز و براکت را رندر کنید
- ماتریس ها در لاتک
- کسری و دوجمله ای را رندر کنید
- عملگرهای ریاضی در لاتک
- فرمول های ریاضی LaTeX را به صورت SVG رندر کنید
Java API برای ارائه فرمولها و معادلات ریاضی LaTeX
برای ارائه فرمول های ریاضی LaTeX، از API Aspose.TeX for Java استفاده خواهیم کرد. کلاس PngMathRendererOptions را برای تعیین گزینه های رندر برای ذخیره فرمول ریاضی به عنوان PNG فراهم می کند. به طور مشابه، کلاس SvgMathRendererOptions را نیز برای تعیین گزینه های رندر برای ذخیره فرمول ریاضی به عنوان SVG فراهم می کند. علاوه بر این، برای رندر کردن فرمول های ریاضی، کلاس های PngMathRenderer و SvgMathRenderer مشتق شده از کلاس MathRenderer را ارائه می دهد. متد render() این کلاس فرمول ریاضی ارائه شده را ارائه می کند. علاوه بر این، API همچنین امکان تایپ فایلهای TeX را به فرمتهای فایل مختلف مانند PDF، XPS یا تصاویر میدهد.
لطفاً JAR API را دانلود کنید یا پیکربندی pom.xml زیر را در یک برنامه جاوا مبتنی بر Maven اضافه کنید.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-tex</artifactId>
<version>22.4</version>
<type>jar</type>
</dependency>
فرمول های ریاضی LaTeX را با استفاده از جاوا به صورت PNG ارائه دهید
ما می توانیم فرمول ها یا معادلات ریاضی درون خطی ساده را با دنبال کردن مراحل زیر ارائه کنیم:
- ابتدا یک نمونه از کلاس PngMathRendererOptions ایجاد کنید.
- در مرحله بعد، تصویر رزولوشن را مشخص کنید، مانند 150 DPI.
- سپس، مقدمه سند LaTeX را مشخص کنید.
- به صورت اختیاری، ویژگی های مختلفی مانند Scale، TextColor، BackgroundColor و غیره را تنظیم کنید.
- پس از آن، جریان خروجی را برای تصویر فرمول ایجاد کنید.
- در نهایت، متد render() را برای رندر کردن فرمول فراخوانی کنید. رشته فرمول، جریان، گزینه های رندر و اندازه تصویر خروجی را به عنوان آرگومان می گیرد.
نمونه کد زیر نشان می دهد که چگونه یک فرمول ریاضی را با استفاده از جاوا به صورت برنامه نویسی PNG ارائه کنید.
// این مثال کد نحوه ارائه فرمول ها و معادلات ریاضی را به صورت PNG نشان می دهد
// گزینه های رندر PNG را ایجاد کنید
PngMathRendererOptions options = new PngMathRendererOptions();
// وضوح تصویر 150 dpi را مشخص کنید
options.setResolution(150);
// مقدمه را مشخص کنید.
options.setPreamble("\\usepackage{amsmath}\n"
+ "\\usepackage{amsfonts}\n"
+ "\\usepackage{amssymb}\n"
+ "\\usepackage{color}");
// ضریب مقیاس را 300% مشخص کنید.
options.setScale(3000);
// رنگ پیش زمینه را مشخص کنید.
options.setTextColor(Color.BLACK);
// رنگ پس زمینه را مشخص کنید.
options.setBackgroundColor(Color.WHITE);
// جریان خروجی را برای فایل log مشخص کنید.
options.setLogStream(new ByteArrayOutputStream());
// مشخص کنید که خروجی ترمینال روی کنسول نمایش داده شود یا خیر.
options.showTerminal(true);
// متغیری که ابعاد تصویر حاصل در آن نوشته خواهد شد.
com.aspose.tex.Size2D size = new com.aspose.tex.Size2D.Float();
// جریان خروجی را برای تصویر فرمول ایجاد کنید.
final OutputStream stream = new FileOutputStream("D:\\Files\\Tex\\simple-formula.png");
// رندر به صورت PNG
PngMathRenderer mathRenderer = new PngMathRenderer();
mathRenderer.render("This is a sample formula $f(x) = x^2$ example.", stream, options, size);
// نمایش نتایج دیگر
System.out.println(options.getErrorReport());
System.out.println();
System.out.println("Size: " + size.getWidth() + "x" + size.getHeight());
![فرمول های ریاضی LaTeX را با استفاده از جاوا به صورت PNG ارائه دهید.](images/math-formula-1024x57.png#center)
فرمول های ریاضی LaTeX را با استفاده از جاوا به صورت PNG ارائه دهید
معادلات پیچیده را با استفاده از جاوا رندر کنید
ما می توانیم هر معادله یا فرمول پیچیده ای را با دنبال کردن مراحل ذکر شده در بالا ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{equation*}"
+ "(1+x)^n = 1 + nx + \\frac{n(n-1)}{2!}x^{\\color{red}2}"
+ "+ \\frac{n(n-1)(n-2)}{3!}x^{\\color{red}3}"
+ "+ \\frac{n(n-1)(n-2)(n-3)}{4!}x^{\\color{red}4}"
+ "+ \\cdots"
+ "\\end{equation*}", stream, options, size);
![معادلات پیچیده را با استفاده از جاوا رندر کنید](images/Render-Complex-Equations-using-Java-1024x62.png#center)
معادلات پیچیده را با استفاده از جاوا رندر کنید
نمایش معادلات طولانی با استفاده از جاوا
با دنبال کردن مراحلی که قبلا ذکر شد میتوانیم معادلات طولانی را در چندین خط نمایش دهیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{multline*}"
+ "p(x) = 3x^6 + 14x^5y + 590x^4y^2 + 19x^3y^3\\\\"
+ "- 12x^2y^4 - 12xy^5 + 2y^6 - a^3b^3"
+ "\\end{multline*}", stream, options, size);
![نمایش معادلات طولانی با استفاده از جاوا.](images/Display-Long-Equations-using-Java-1024x85.png#center)
نمایش معادلات طولانی با استفاده از جاوا.
تراز کردن چندین معادله با استفاده از جاوا
همچنین میتوانیم چندین معادله یا فرمول را با انجام مراحلی که قبلاً ذکر شد، تراز و ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{align}"
+ "f(u) & =\\sum_{j=1}^{n} x_jf(u_j)\\\\"
+ "& =\\sum_{j=1}^{n} x_j \\sum_{i=1}^{m} a_{ij}v_i\\\\"
+ "& =\\sum_{j=1}^{n} \\sum_{i=1}^{m} a_{ij}x_jv_i"
+ "\\end{align}", stream, options, size);
![تراز کردن چندین معادله با استفاده از جاوا](images/Align-Several-Equations-using-Java-1024x455.png#center)
تراز کردن چندین معادله با استفاده از جاوا
معادلات گروه و مرکز با استفاده از جاوا
با دنبال کردن مراحلی که قبلا ذکر شد میتوانیم چندین معادله را در حین رندر گروهبندی و مرکز کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{gather*}"
+ "2x - 5y = 8 \\\\"
+ "3x^2 + 9y = 3a + c\\\\"
+ "(a-b) = a^2 + b^2 -2ab"
+ "\\end{gather*}", stream, options, size);
![معادلات گروه و مرکز با استفاده از جاوا.](images/Group-and-Center-Equations-using-Java.png#center)
معادلات گروه و مرکز با استفاده از جاوا.
پرانتز و براکت را با استفاده از جاوا رندر کنید
همچنین میتوانیم پرانتز و براکتها را با انجام مراحلی که قبلاً ذکر شد ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مطابق شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{document}"
+ "\["
+ " \\left[ \\frac{ N } { \\left( \\frac{L}{p} \\right) - (m+n) } \\right]"
+ "\]"
+ "\\end{document}", stream, options, size);
![پرانتز و براکت را با استفاده از جاوا رندر کنید.](images/Render-Parenthesis-and-Brackets-using-Java.png#center)
پرانتز و براکت را با استفاده از جاوا رندر کنید.
ماتریس در LaTeX با استفاده از جاوا
به طور مشابه، ما می توانیم ماتریس ها را با دنبال کردن مراحل ذکر شده قبلی ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{document}"
+ "\["
+ "\\left \\{"
+ "\\begin{tabular}{ccc}"
+ " 1 & 4 & 7 \\\\"
+ " 2 & 5 & 8 \\\\"
+ " 3 & 6 & 9 "
+ "\\end{tabular}"
+ "\\right \\}"
+ "\]"
+ "\\end{document}", stream, options, size);
![ماتریس در LaTeX با استفاده از جاوا.](images/Matrices-in-LaTeX-using-Java.png#center)
ماتریس در LaTeX با استفاده از جاوا.
کسری و دوجمله ای را با استفاده از جاوا رندر کنید
ما میتوانیم کسرها و دوجملهای را نیز با دنبال کردن مراحلی که قبلا ذکر شد، ارائه کنیم. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مطابق شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{document}"
+ "\["
+ "\\binom{n}{k} = \\frac{n!}{k!(n-k)!}"
+ "\]"
+ "\\end{document}", stream, options, size);
![کسری ها و دوجمله ها را با استفاده از جاوا رندر کنید.](images/Render-Fractions-and-Binomials-using-Java.png#center)
کسری و دوجمله ای را با استفاده از جاوا رندر کنید.
عملگرهای ریاضی در لاتک با استفاده از جاوا
نمادهای عملگر ریاضی نشان دهنده توابع مختلف ریاضی مانند log، cos، sin و غیره هستند. با این حال، ما فقط باید رشته فرمول را در مرحله 5 مانند شکل زیر تنظیم کنیم:
mathRenderer.render("\\begin{document}"
+ "\["
+ "\\sin(a + b) = \\sin a \\cos b + \\cos b \\sin a"
+ "\]"
+ "\\end{document}", stream, options, size);
![عملگرهای ریاضی در لاتک با استفاده از جاوا.](images/Mathematical-Operators-in-LaTeX-using-Java.png#center)
عملگرهای ریاضی در لاتک با استفاده از جاوا.
فرمول های ریاضی LaTeX را در SVG با استفاده از جاوا رندر کنید
همچنین میتوانیم فرمولها یا معادلات ریاضی ارائهشده را در قالب تصویر SVG با دنبال کردن مراحل زیر ذخیره کنیم:
- ابتدا یک نمونه از کلاس SvgMathRendererOptions ایجاد کنید.
- سپس مقدمه سند LaTeX را مشخص کنید.
- به صورت اختیاری، ویژگی های مختلفی مانند Scale، TextColor، BackgroundColor و غیره را تنظیم کنید.
- پس از آن، جریان خروجی را برای تصویر فرمول ایجاد کنید.
- در نهایت، متد render() را برای رندر کردن فرمول فراخوانی کنید. رشته فرمول، جریان، گزینه های رندر و اندازه تصویر خروجی را به عنوان آرگومان می گیرد.
نمونه کد زیر نحوه ارائه فرمول ریاضی را در یک تصویر SVG با استفاده از جاوا نشان می دهد.
// این مثال کد نحوه ارائه فرمول ها و معادلات ریاضی را به صورت SVG نشان می دهد
// گزینه های رندر SVG را ایجاد کنید
SvgMathRendererOptions options = new SvgMathRendererOptions();
// مقدمه را مشخص کنید.
options.setPreamble("\\usepackage{amsmath}\n"
+ "\\usepackage{amsfonts}\n"
+ "\\usepackage{amssymb}\n"
+ "\\usepackage{color}");
// ضریب مقیاس را 300% مشخص کنید.
options.setScale(3000);
// رنگ پیش زمینه را مشخص کنید.
options.setTextColor(Color.BLACK);
// رنگ پس زمینه را مشخص کنید.
options.setBackgroundColor(Color.WHITE);
// جریان خروجی را برای فایل log مشخص کنید.
options.setLogStream(new ByteArrayOutputStream());
// مشخص کنید که خروجی ترمینال روی کنسول نمایش داده شود یا خیر.
options.showTerminal(true);
// متغیری که ابعاد تصویر حاصل در آن نوشته خواهد شد.
com.aspose.tex.Size2D size = new com.aspose.tex.Size2D.Float();
// جریان خروجی را برای تصویر فرمول ایجاد کنید.
final OutputStream stream = new FileOutputStream("D:\\Files\\Tex\\simple-math-rendering.svg");
// به صورت SVG رندر کنید
SvgMathRenderer mathRenderer = new SvgMathRenderer();
mathRenderer.render("\\begin{equation} \\label{eqn}"
+ " E = {mc^2}"
+ " \\end{equation}"
+ " The equation states mass equivalence relationship.", stream, options, size);
// نمایش نتایج دیگر
System.out.println(options.getErrorReport());
System.out.println();
System.out.println("Size: " + size.getWidth() + "x" + size.getHeight());
![فرمول های ریاضی LaTeX را در SVG با استفاده از جاوا رندر کنید.](images/Render-LaTeX-Math-Formulas-in-SVG-using-Java-1024x337.jpg#center)
فرمول های ریاضی LaTeX را در SVG با استفاده از جاوا رندر کنید.
مجوز رایگان دریافت کنید
شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله یاد گرفتیم که چگونه:
- فرمول ها و معادلات ریاضی ساده و پیچیده را در جاوا ارائه دهید.
- تراز و گروه بندی معادلات به صورت برنامه ای
- ماتریس ها، پرانتزها، براکت ها، کسرها و دوجمله ای ها را ارائه دهید.
- با استفاده از جاوا، تصاویر فرمول رندر شده را در PNG یا SVG ذخیره کنید.
علاوه بر این، میتوانید با استفاده از مستندات درباره Aspose.TeX for Java API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهامی، لطفاً با ما در تالار تماس بگیرید.