Buat gambar dokumen dengan LaTeX
Render teks, tabel, dan grafik LaTeX dalam PNG atau SVG menggunakan C++
LaTeX, terkenal sebagai sistem penyusunan huruf, menonjol sebagai alat yang sangat dihargai untuk membuat figur yang ditujukan untuk publikasi. Fitur dan kelebihannya memposisikannya sebagai pilihan optimal untuk tugas-tugas tersebut, dan inilah alasannya:
- Tipografi berkualitas tinggi: LaTeX memberikan kontrol yang tepat atas font, spasi karakter, jeda baris, dan tata letak keseluruhan, memastikan gambar yang dihasilkan mencapai tampilan berkualitas tinggi.
- Penyusunan huruf matematika: Awalnya dirancang untuk penyusunan huruf matematika, sistem ini unggul dalam menangani persamaan dan simbol matematika yang rumit secara efektif.
- LaTeX terutama berhubungan dengan grafik vektor, memastikan bahwa angka Anda mempertahankan skalabilitas tanpa mengurangi kualitas. Grafik semacam itu tidak bergantung pada resolusi sehingga sangat bermanfaat untuk ilustrasi ilmiah atau teknis.
- Konsistensi dengan dokumen: Karena LaTeX adalah sistem persiapan dokumen, Anda dapat dengan mudah menerapkan gaya dan format yang seragam di semua gambar, memastikan tampilan yang kohesif di seluruh dokumen Anda.
Singkatnya, LaTeX menawarkan landasan yang dapat diandalkan untuk membuat gambar, menyediakan tipografi yang luar biasa, penyusunan huruf matematis, skalabilitas, konsistensi seluruh dokumen, reproduktifitas, kontrol versi, integrasi dengan paket, dan kemampuan otomatisasi.
Dalam solusi Aspose.TeX API, di antara fitur-fitur lainnya, terdapat kemampuan untuk memotong dan merender setiap fragmen LaTeX yang mewakili gambar dalam PNG atau SVG. Di bawah, Anda akan menemukan cuplikan kode yang menunjukkan operasi ini, dan hasilnya disimpan sebagai file PNG. Contoh kode lainnya dapat ditemukan di sini.
Untuk menjalankan contoh yang kita butuhkan:
- Aspose.TeX untuk C++ API, - API pemrosesan dan konversi dokumen yang kaya fitur, kuat, dan mudah digunakan untuk platform C++.
- Buka manajer paket NuGet, cari Aspose.TeX dan instal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console:
Package Manager Console Command
PM> Install-Package Aspose.TeX
Langkah-langkah untuk merender angka LaTeX di SVG C++
Cuplikan kode menunjukkan cara menggunakan API rendering gambar Aspose.TeX untuk menghasilkan gambar diagram matematika. Berikut urutannya:
- Buat instance kelas SvgFigurRendererOptions .
- Tentukan properti Pembukaan dari objek opsi.
- Atur faktor skala dan warna latar belakang.
- Konfigurasikan objek MemoryStream untuk menangkap output log yang dihasilkan selama proses rendering. Tetapkan aliran ini ke properti LogStream. Jika properti ShowTerminal diatur ke true, output terminal akan ditampilkan di konsol.
- Gunakan objek kelas System.Drawing.SizeF untuk menyimpan dimensi gambar yang dihasilkan. Kemudian buat aliran file untuk menyimpan gambar keluaran.
- Buat instance kelas SvgFigurRenderer dan jalankan proses rendering dengan memanggil metode Render()."
- Ambil laporan kesalahan dan ukuran gambar keluaran.
// Create rendering options.
System::SharedPtr<Features::SvgMathRendererOptions> options = System::MakeObject<Features::SvgMathRendererOptions>();
// Specify the preamble.
options->set_Preamble("\usepackage{pict2e}");
// Specify the background color.
options->set_BackgroundColor(System::Drawing::Color:get_White());
// Specify the output stream for the log file.
options.set_LogStream(new System::IO::MemoryStream());
// Specify whether to show the terminal output on the console or not.
options.set_ShowTerminal(true);
// Create the output stream for the formula image.
System::SharedPtr<System::IO::Stream> stream = System::IO::File::Open(
System::IO::Path::Combine(RunExamples::OutputDirectory, u"math-formula.png"), System::IO::FileMode::Create);
// Clearing resources under 'using' statement
System::Details::DisposeGuard<1> __dispose_guard_0({ stream });
try
{
// Run rendering.
System::MakeObject<Features::SvgFigureRenderer>()->Render(
"\setlength{\unitlength}{0.8cm}\r\n" +
"\begin{picture}(6,5)\r\n" +
"\thicklines\r\n" +
"\put(1,0.5){\line(2,1){3}} \put(4,2){\line(-2,1){2}} \put(2,3){\line(-2,-5){1}}\r\n" +
"\put(0.7,0.3){$A$} \put(4.05,1.9){$B$} \put(1.7,2.95){$C$}\r\n" +
"\put(3.1,2.5){$a$} \put(1.3,1.7){$b$} \put(2.5,1.05){$c$}\r\n" +
"\put(0.3,4){$F=\sqrt{s(s-a)(s-b)(s-c)}$} \put(3.5,0.4){$\displaystyle s:=\frac{a+b+c}{2}$}\r\n" +
"\end{picture}",
stream, options);
}
catch(...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
// Show other results.
System::Console::get_Out()->WriteLine(options->get_ErrorReport());
System::Console::get_Out()->WriteLine();
System::Console::get_Out()->WriteLine(System::String(u"Size: ") + size);
LaTeX Apa itu Format File LaTeX
LaTeX adalah format TeX jika dikatakan secara singkat. File LaTeX adalah file teks biasa dalam penyandian ASCII yang ditulis dalam bahasa markupnya sendiri. Mereka mungkin memerlukan penyertaan data lain seperti gambar dan/atau file LaTeX lainnya. LaTeX dapat memberi Anda banyak fitur canggih untuk membuat tabel, menyertakan grafik, menulis persamaan matematika, dan berbagai rumus, dll. Semua fitur ini tersedia dalam apa yang disebut paket.