Render Rumus dan Persamaan Matematika LaTeX di Java

Kita dapat menyematkan rumus dan persamaan matematika di file TeX. LaTeX menggunakan file TeX sebagai dokumen sumber yang berisi sekumpulan perintah. Perintah ini menentukan format dokumen, termasuk teks, simbol, ekspresi matematika, dan grafik. Kita dapat menulis dan merender segala jenis persamaan dan rumus matematika secara terprogram tanpa menggunakan LaTeX. Pada artikel ini, akan dipelajari cara merender rumus dan persamaan matematika LaTeX di Java.

Topik-topik berikut akan dibahas dalam artikel ini:

Java API untuk Merender Rumus & Persamaan Matematika LaTeX

Untuk merender rumus matematika LaTeX, kami akan menggunakan API Aspose.TeX for Java. Ini menyediakan kelas PngMathRendererOptions untuk menentukan opsi rendering guna menyimpan rumus Matematika sebagai PNG. Demikian pula, ini juga menyediakan kelas SvgMathRendererOptions untuk menentukan opsi rendering guna menyimpan rumus Matematika sebagai SVG. Selain itu, untuk rendering rumus matematika, disediakan kelas PngMathRenderer dan SvgMathRenderer yang diturunkan dari kelas MathRenderer. Metode render() kelas ini merender rumus matematika yang disediakan. Selain itu, API juga memungkinkan pengaturan huruf file TeX ke berbagai format file seperti PDF, XPS, atau gambar.

Harap unduh JAR API atau tambahkan konfigurasi pom.xml berikut dalam aplikasi Java berbasis 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>

Render Rumus Matematika LaTeX sebagai PNG menggunakan Java

Kita dapat membuat rumus atau persamaan matematika sebaris sederhana dengan mengikuti langkah-langkah yang diberikan di bawah ini:

  1. Pertama, buat instance dari kelas PngMathRendererOptions.
  2. Selanjutnya, tentukan gambar resolusi, misalnya 150 DPI.
  3. Kemudian, tentukan pembukaan dokumen LaTeX.
  4. Secara opsional, setel berbagai properti seperti Skala, WarnaTeks, WarnaLatar Belakang, dll.
  5. Setelah itu, buat aliran keluaran untuk gambar rumus.
  6. Terakhir, panggil metode render() untuk merender rumus. Dibutuhkan string rumus, aliran, opsi rendering, dan ukuran gambar keluaran sebagai argumen.

Contoh kode berikut menunjukkan cara merender rumus matematika sebagai PNG secara terprogram menggunakan Java.

// Contoh kode ini menunjukkan cara merender rumus dan persamaan matematika sebagai PNG
// Buat opsi rendering PNG
PngMathRendererOptions options = new PngMathRendererOptions();

// Tentukan resolusi gambar 150 dpi
options.setResolution(150);

// Tentukan kata pengantar.
options.setPreamble("\\usepackage{amsmath}\n"
    + "\\usepackage{amsfonts}\n"
    + "\\usepackage{amssymb}\n"
    + "\\usepackage{color}");

// Tentukan faktor penskalaan 300%.
options.setScale(3000);

// Tentukan warna latar depan.
options.setTextColor(Color.BLACK);

// Tentukan warna latar belakang.
options.setBackgroundColor(Color.WHITE);

// Tentukan aliran keluaran untuk file log.
options.setLogStream(new ByteArrayOutputStream());

// Tentukan apakah akan menampilkan keluaran terminal di konsol atau tidak.
options.showTerminal(true);

// Variabel di mana dimensi gambar yang dihasilkan akan ditulis.
com.aspose.tex.Size2D size = new com.aspose.tex.Size2D.Float();

// Buat aliran keluaran untuk gambar rumus.
final OutputStream stream = new FileOutputStream("D:\\Files\\Tex\\simple-formula.png");

// Render sebagai PNG
PngMathRenderer mathRenderer = new PngMathRenderer();
mathRenderer.render("This is a sample formula $f(x) = x^2$ example.", stream, options, size);

// Tampilkan hasil lainnya.
System.out.println(options.getErrorReport());
System.out.println();
System.out.println("Size: " + size.getWidth() + "x" + size.getHeight());
Render Rumus Matematika LaTeX sebagai PNG menggunakan Java.

Render Rumus Matematika LaTeX sebagai PNG menggunakan Java

Render Persamaan Kompleks menggunakan Java

Kami dapat merender persamaan atau rumus kompleks apa pun dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

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);
Render Persamaan Kompleks menggunakan Java

Render Persamaan Kompleks menggunakan Java

Menampilkan Persamaan Panjang menggunakan Java

Kami dapat menampilkan persamaan panjang pada banyak baris dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

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); 
Menampilkan Persamaan Panjang menggunakan Java.

Menampilkan Persamaan Panjang menggunakan Java.

Sejajarkan Beberapa Persamaan menggunakan Java

Kita juga bisa menyelaraskan dan merender beberapa persamaan atau rumus sekaligus dengan mengikuti langkah-langkah yang telah disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

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);
Sejajarkan Beberapa Persamaan menggunakan Java.

Sejajarkan Beberapa Persamaan menggunakan Java.

Persamaan Grup dan Pusat menggunakan Java

Kita dapat mengelompokkan dan memusatkan beberapa persamaan sambil merender dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

mathRenderer.render("\\begin{gather*}"
		+ "2x - 5y =  8 \\\\"
		+ "3x^2 + 9y =  3a + c\\\\"
		+ "(a-b) = a^2 + b^2 -2ab"
		+ "\\end{gather*}", stream, options, size);
Persamaan Grup dan Pusat menggunakan Java.

Persamaan Grup dan Pusat menggunakan Java.

Render Tanda Kurung dan Kurung menggunakan Java

Kami juga dapat merender tanda kurung dan tanda kurung dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

mathRenderer.render("\\begin{document}"
	     + "\["
	     + " \\left[  \\frac{ N } { \\left( \\frac{L}{p} \\right)  - (m+n) }  \\right]"
	     + "\]"
	     + "\\end{document}", stream, options, size);
Render Tanda Kurung dan Kurung menggunakan Java.

Render Tanda Kurung dan Kurung menggunakan Java.

Matriks dalam LaTeX menggunakan Java

Demikian pula, kita dapat merender matriks dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

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);
Matriks dalam LaTeX menggunakan Java.

Matriks dalam LaTeX menggunakan Java.

Render Pecahan dan Binomial menggunakan Java

Kita juga dapat merender pecahan dan binomial dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

mathRenderer.render("\\begin{document}"
	            + "\["
	            + "\\binom{n}{k} = \\frac{n!}{k!(n-k)!}"
	            + "\]"
	            + "\\end{document}", stream, options, size);
Render Pecahan dan Binomial menggunakan Java.

Render Pecahan dan Binomial menggunakan Java.

Operator Matematika di LaTeX menggunakan Java

Simbol operator matematika mewakili berbagai fungsi matematika seperti log, cos, sin, dll. Kita dapat merender fungsi trigonometri dan logaritma di LaTeX dengan mengikuti langkah-langkah yang disebutkan sebelumnya. Namun, kita hanya perlu mengatur string rumus di langkah #5 seperti yang ditunjukkan di bawah ini:

mathRenderer.render("\\begin{document}"
	            + "\["
	            + "\\sin(a + b) = \\sin a \\cos b + \\cos b \\sin a"
	            + "\]"
	            + "\\end{document}", stream, options, size);
Operator Matematika di LaTeX menggunakan Java.

Operator Matematika di LaTeX menggunakan Java.

Render Rumus Matematika LaTeX di SVG menggunakan Java

Kita juga dapat menyimpan rumus atau persamaan matematika yang telah dirender dalam format gambar SVG dengan mengikuti langkah-langkah berikut:

  1. Pertama, buat instance dari kelas SvgMathRendererOptions.
  2. Selanjutnya, tentukan pembukaan dokumen LaTeX.
  3. Secara opsional, setel berbagai properti seperti Skala, WarnaTeks, WarnaLatar Belakang, dll.
  4. Setelah itu, buat aliran keluaran untuk gambar rumus.
  5. Terakhir, panggil metode render() untuk merender rumus. Dibutuhkan string rumus, aliran, opsi rendering, dan ukuran gambar keluaran sebagai argumen.

Contoh kode berikut menunjukkan cara merender rumus matematika dalam gambar SVG menggunakan Java.

// Contoh kode ini menunjukkan cara merender rumus dan persamaan matematika sebagai SVG
// Buat opsi rendering SVG
SvgMathRendererOptions options = new SvgMathRendererOptions();

// Tentukan kata pengantar.
options.setPreamble("\\usepackage{amsmath}\n"
    + "\\usepackage{amsfonts}\n"
    + "\\usepackage{amssymb}\n"
    + "\\usepackage{color}");

// Tentukan faktor penskalaan 300%.
options.setScale(3000);

// Tentukan warna latar depan.
options.setTextColor(Color.BLACK);

// Tentukan warna latar belakang.
options.setBackgroundColor(Color.WHITE);

// Tentukan aliran keluaran untuk file log.
options.setLogStream(new ByteArrayOutputStream());

// Tentukan apakah akan menampilkan keluaran terminal di konsol atau tidak.
options.showTerminal(true);

// Variabel di mana dimensi gambar yang dihasilkan akan ditulis.
com.aspose.tex.Size2D size = new com.aspose.tex.Size2D.Float();

// Buat aliran keluaran untuk gambar rumus.
final OutputStream stream = new FileOutputStream("D:\\Files\\Tex\\simple-math-rendering.svg");

// Render sebagai 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);

// Tampilkan hasil lainnya.
System.out.println(options.getErrorReport());
System.out.println();
System.out.println("Size: " + size.getWidth() + "x" + size.getHeight());
Render Formula Matematika LaTeX di SVG menggunakan Java.

Render Rumus Matematika LaTeX di SVG menggunakan Java.

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba perpustakaan tanpa batasan evaluasi.

Kesimpulan

Dalam artikel ini, kita telah mempelajari cara:

  • membuat rumus dan persamaan matematika sederhana dan kompleks di Jawa;
  • menyelaraskan dan mengelompokkan persamaan secara terprogram;
  • render Matriks, Kurung, Kurung, Pecahan, dan Binomial;
  • simpan gambar formula yang dirender dalam PNG atau SVG menggunakan Java.

Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.TeX for Java API menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga