يمكننا تضمين الصيغ والمعادلات الرياضية في ملف TeX. يستخدم LaTeX ملف TeX كمستند مصدر يحتوي على مجموعة من الأوامر. تحدد هذه الأوامر تنسيق المستند ، بما في ذلك النص والرموز والتعبيرات الرياضية والرسومات. يمكننا كتابة وتقديم أي نوع من المعادلات والصيغ الرياضية برمجيًا دون استخدام LaTeX. في هذه المقالة ، سوف تتعلم كيفية عرض الصيغ والمعادلات الرياضية لـ LaTeX في Java.
سيتم تناول الموضوعات التالية في هذه المقالة:
- Java API لعرض الصيغ والمعادلات الرياضية لـ LaTeX
- عرض صيغ LaTeX الرياضية بتنسيق PNG
- تقديم المعادلات المعقدة
- عرض المعادلات الطويلة
- محاذاة عدة معادلات
- معادلات المجموعة والوسط
- تقديم الأقواس والأقواس
- المصفوفات في LaTeX
- تجسيد الكسور وذات الحدين
- العوامل الرياضية في LaTeX
- تقديم صيغ LaTeX الرياضية كـ SVG
Java API لعرض الصيغ والمعادلات الرياضية لـ LaTeX
لعرض الصيغ الرياضية لـ LaTeX ، سنستخدم Aspose.TeX for Java API. يوفر فئة PngMathRendererOptions لتحديد خيارات العرض لحفظ الصيغة الرياضية بتنسيق PNG. وبالمثل ، فإنه يوفر أيضًا فئة SvgMathRendererOptions لتحديد خيارات التجسيد لحفظ الصيغة الرياضية كـ SVG. علاوة على ذلك ، لعرض الصيغ الرياضية ، فإنه يوفر فئات PngMathRenderer و SvgMathRenderer المشتقة من فئة MathRenderer. تعرض طريقة render() لهذه الفئة الصيغة الرياضية المتوفرة. علاوة على ذلك ، تسمح API أيضًا بتنضيد ملفات TeX إلى تنسيقات ملفات مختلفة مثل PDF أو XPS أو الصور.
يرجى إما تنزيل JAR الخاص بواجهة برمجة التطبيقات أو إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى 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 باستخدام Java
يمكننا تقديم صيغ أو معادلات رياضية مضمنة بسيطة باتباع الخطوات الواردة أدناه:
- أولاً ، قم بإنشاء مثيل لفئة PngMathRendererOptions.
- بعد ذلك ، حدد الصورة الدقة ، مثل 150 نقطة في البوصة.
- ثم حدد تمهيد مستند LaTeX.
- اختياريًا ، قم بتعيين خصائص متنوعة مثل Scale و TextColor و BackgroundColor وما إلى ذلك.
- بعد ذلك ، قم بإنشاء دفق الإخراج لصورة الصيغة.
- أخيرًا ، قم باستدعاء طريقة render() لتصيير الصيغة. يأخذ سلسلة الصيغة ، والدفق ، وخيارات التقديم ، وحجم صورة الإخراج كوسائط.
يوضح نموذج التعليمات البرمجية التالي كيفية عرض صيغة رياضية على هيئة PNG برمجيًا باستخدام Java.
// يوضح مثال الكود هذا كيفية عرض الصيغ والمعادلات الرياضية على هيئة PNG
// إنشاء خيارات عرض PNG
PngMathRendererOptions options = new PngMathRendererOptions();
// حدد دقة الصورة 150 نقطة في البوصة
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);
// حدد تدفق الإخراج لملف السجل.
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());
عرض المعادلات المعقدة باستخدام Java
يمكننا تقديم أي معادلات أو صيغ معقدة باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 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);
عرض المعادلات الطويلة باستخدام Java
يمكننا عرض معادلات طويلة على عدة أسطر باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 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);
محاذاة عدة معادلات باستخدام Java
يمكننا أيضًا محاذاة وعرض العديد من المعادلات أو الصيغ في وقت واحد باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 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);
تجميع وتوسيط المعادلات باستخدام Java
يمكننا تجميع معادلات متعددة وتوسيطها أثناء التقديم باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 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);
عرض الأقواس والأقواس باستخدام Java
يمكننا أيضًا تقديم الأقواس والأقواس باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 5 كما هو موضح أدناه:
mathRenderer.render("\\begin{document}"
+ "\["
+ " \\left[ \\frac{ N } { \\left( \\frac{L}{p} \\right) - (m+n) } \\right]"
+ "\]"
+ "\\end{document}", stream, options, size);
المصفوفات في LaTeX باستخدام Java
وبالمثل ، يمكننا تقديم المصفوفات باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 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);
اعرض الكسور وذات الحدين باستخدام Java
يمكننا أيضًا عرض الكسور والقيم ذات الحدين باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 5 كما هو موضح أدناه:
mathRenderer.render("\\begin{document}"
+ "\["
+ "\\binom{n}{k} = \\frac{n!}{k!(n-k)!}"
+ "\]"
+ "\\end{document}", stream, options, size);
العوامل الرياضية في LaTeX باستخدام Java
تمثل رموز العمليات الحسابية وظائف رياضية مختلفة مثل السجل وجيب التمام والخطيئة وما إلى ذلك. يمكننا تقديم الدوال المثلثية واللوغاريتمات في LaTeX باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 5 كما هو موضح أدناه:
mathRenderer.render("\\begin{document}"
+ "\["
+ "\\sin(a + b) = \\sin a \\cos b + \\cos b \\sin a"
+ "\]"
+ "\\end{document}", stream, options, size);
عرض صيغ LaTeX الرياضية في SVG باستخدام Java
يمكننا أيضًا حفظ المعادلات أو المعادلات الرياضية المعروضة بتنسيق صورة SVG باتباع الخطوات الواردة أدناه:
- أولاً ، قم بإنشاء مثيل لفئة SvgMathRendererOptions.
- بعد ذلك ، حدد تمهيد مستند LaTeX.
- اختياريًا ، قم بتعيين خصائص متنوعة مثل Scale و TextColor و BackgroundColor وما إلى ذلك.
- بعد ذلك ، قم بإنشاء دفق الإخراج لصورة الصيغة.
- أخيرًا ، قم باستدعاء طريقة render() لتصيير الصيغة. يأخذ سلسلة الصيغة ، والدفق ، وخيارات التقديم ، وحجم صورة الإخراج كوسائط.
يوضح نموذج التعليمات البرمجية التالي كيفية عرض صيغة رياضية في صورة SVG باستخدام Java.
// يوضح مثال الكود هذا كيفية عرض الصيغ والمعادلات الرياضية على هيئة 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);
// حدد تدفق الإخراج لملف السجل.
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());
احصل على رخصة مجانية
يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبة دون قيود التقييم.
استنتاج
في هذه المقالة ، تعلمنا كيفية:
- تقديم الصيغ والمعادلات الرياضية البسيطة والمعقدة في Java ؛
- محاذاة وتجميع المعادلات برمجيًا ؛
- تصيير المصفوفات ، والأقواس ، والأقواس ، والكسور ، وذات الحدين ؛
- احفظ صور الصيغة المعروضة في PNG أو SVG باستخدام Java.
بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.TeX for Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.