عرض الصيغ والمعادلات الرياضية لـ LaTeX في Java

يمكننا تضمين الصيغ والمعادلات الرياضية في ملف TeX. يستخدم LaTeX ملف TeX كمستند مصدر يحتوي على مجموعة من الأوامر. تحدد هذه الأوامر تنسيق المستند ، بما في ذلك النص والرموز والتعبيرات الرياضية والرسومات. يمكننا كتابة وتقديم أي نوع من المعادلات والصيغ الرياضية برمجيًا دون استخدام LaTeX. في هذه المقالة ، سوف تتعلم كيفية عرض الصيغ والمعادلات الرياضية لـ LaTeX في Java.

سيتم تناول الموضوعات التالية في هذه المقالة:

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

يمكننا تقديم صيغ أو معادلات رياضية مضمنة بسيطة باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بإنشاء مثيل لفئة PngMathRendererOptions.
  2. بعد ذلك ، حدد الصورة الدقة ، مثل 150 نقطة في البوصة.
  3. ثم حدد تمهيد مستند LaTeX.
  4. اختياريًا ، قم بتعيين خصائص متنوعة مثل Scale و TextColor و BackgroundColor وما إلى ذلك.
  5. بعد ذلك ، قم بإنشاء دفق الإخراج لصورة الصيغة.
  6. أخيرًا ، قم باستدعاء طريقة 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());
اعرض صيغ LaTeX الرياضية على هيئة PNG باستخدام Java.

اعرض صيغ LaTeX الرياضية على هيئة PNG باستخدام Java

عرض المعادلات المعقدة باستخدام 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

عرض المعادلات المعقدة باستخدام Java

عرض المعادلات الطويلة باستخدام 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.

عرض المعادلات الطويلة باستخدام Java.

محاذاة عدة معادلات باستخدام 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.

محاذاة عدة معادلات باستخدام Java.

تجميع وتوسيط المعادلات باستخدام 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.

تجميع وتوسيط المعادلات باستخدام Java.

عرض الأقواس والأقواس باستخدام Java

يمكننا أيضًا تقديم الأقواس والأقواس باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 5 كما هو موضح أدناه:

mathRenderer.render("\\begin{document}"
	     + "\["
	     + " \\left[  \\frac{ N } { \\left( \\frac{L}{p} \\right)  - (m+n) }  \\right]"
	     + "\]"
	     + "\\end{document}", stream, options, size);
عرض الأقواس والأقواس باستخدام Java.

عرض الأقواس والأقواس باستخدام Java.

المصفوفات في 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);
المصفوفات في LaTeX باستخدام Java.

المصفوفات في LaTeX باستخدام Java.

اعرض الكسور وذات الحدين باستخدام Java

يمكننا أيضًا عرض الكسور والقيم ذات الحدين باتباع الخطوات المذكورة سابقًا. ومع ذلك ، نحتاج فقط إلى تعيين سلسلة الصيغة في الخطوة رقم 5 كما هو موضح أدناه:

mathRenderer.render("\\begin{document}"
	            + "\["
	            + "\\binom{n}{k} = \\frac{n!}{k!(n-k)!}"
	            + "\]"
	            + "\\end{document}", stream, options, size);
اعرض الكسور وذات الحدين باستخدام Java.

اعرض الكسور وذات الحدين باستخدام Java.

العوامل الرياضية في 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 باستخدام Java.

العوامل الرياضية في LaTeX باستخدام Java.

عرض صيغ LaTeX الرياضية في SVG باستخدام Java

يمكننا أيضًا حفظ المعادلات أو المعادلات الرياضية المعروضة بتنسيق صورة SVG باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بإنشاء مثيل لفئة SvgMathRendererOptions.
  2. بعد ذلك ، حدد تمهيد مستند LaTeX.
  3. اختياريًا ، قم بتعيين خصائص متنوعة مثل Scale و TextColor و BackgroundColor وما إلى ذلك.
  4. بعد ذلك ، قم بإنشاء دفق الإخراج لصورة الصيغة.
  5. أخيرًا ، قم باستدعاء طريقة 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());
عرض صيغ LaTeX الرياضية في SVG باستخدام Java.

عرض صيغ LaTeX الرياضية في SVG باستخدام Java.

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبة دون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • تقديم الصيغ والمعادلات الرياضية البسيطة والمعقدة في Java ؛
  • محاذاة وتجميع المعادلات برمجيًا ؛
  • تصيير المصفوفات ، والأقواس ، والأقواس ، والكسور ، وذات الحدين ؛
  • احفظ صور الصيغة المعروضة في PNG أو SVG باستخدام Java.

بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.TeX for Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا