עיבוד נוסחאות ומשוואות מתמטיות של 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 של ה-API או הוסף את תצורת 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 DPI.
  3. לאחר מכן, ציין את ההקדמה של מסמך LaTeX.
  4. לחלופין, הגדר מאפיינים שונים כגון קנה מידה, צבע טקסט, צבע רקע וכו'.
  5. לאחר מכן, צור את זרם הפלט עבור תמונת הנוסחה.
  6. לבסוף, קרא למתודה render() כדי לעבד את הנוסחה. זה לוקח מחרוזת נוסחה, זרם, אפשרויות עיבוד וגודל תמונת הפלט כארגומנטים.

דגימת הקוד הבאה מראה כיצד לעבד נוסחה מתמטית כ-PNG באופן תכנותי באמצעות Java.

// דוגמה זו מדגימה כיצד להציג נוסחאות ומשוואות מתמטיות כ-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);

// ציין את זרם הפלט עבור קובץ היומן.
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

סמלי האופרטור המתמטיים מייצגים פונקציות מתמטיות שונות כגון log, cos, sin וכו’. אנו יכולים להציג פונקציות טריגונומטריות ולוגיריתמים ב-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. לחלופין, הגדר מאפיינים שונים כגון קנה מידה, צבע טקסט, צבע רקע וכו'.
  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 עבור Java API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו בפורום.

ראה גם