Hozzon létre dokumentumfigurákat a LaTeX segítségével

Rendereljen LaTeX szöveget, táblázatokat és grafikákat PNG vagy SVG formátumban C++ használatával

 

A Szedőrendszerként ismert LaTeX a kiadványokhoz szánt figurák elkészítésének nagy becsben tartott eszköze. Tulajdonságai és előnyei optimális választást jelentenek az ilyen feladatokhoz, és ez az oka:

  • Kiváló minőségű tipográfia: A LaTeX precíz vezérlést biztosít a betűtípusok, a karaktertávolság, a sortörések és az általános elrendezés felett, így biztosítva, hogy az így kapott számok kiváló minőségű megjelenést kapjanak.
  • Matematikai szedés: Eredetileg matematikai szedésre tervezték, ez a rendszer kiemelkedik az összetett matematikai egyenletek és szimbólumok hatékony kezelésében.
  • A LaTeX elsősorban vektorgrafikával foglalkozik, biztosítva, hogy figurái a minőség romlása nélkül megőrizzék a méretezhetőséget. Az ilyen grafikák felbontásfüggetlenek, ami különösen előnyös tudományos vagy műszaki illusztrációk esetében.
  • Konzisztencia a dokumentummal: Mivel a LaTeX egy dokumentum-előkészítő rendszer, könnyedén megőrizheti az egységes stílust és formázást az összes ábrán, így biztosítva az egységes megjelenést a dokumentumban.

Összefoglalva, a LaTeX megbízható alapot kínál az ábrák készítéséhez, kivételes tipográfiát, matematikai szedést, méretezhetőséget, dokumentumszintű konzisztenciát, reprodukálhatóságot, verziókezelést, csomagokkal való integrációt és automatizálási képességeket biztosít.

Az Aspose.TeX API-megoldáson belül, többek között, benne rejlik a PNG vagy SVG formátumú alakzatot képviselő LaTeX fragmentum kivágásának és renderelésének képessége. Az alábbiakban egy kódrészletet talál, amely bemutatja ezeket a műveleteket, és az eredményt PNG-fájlként menti. További kódpéldák itt találhatók.

A példák futtatásához szükségünk van:

  • Az Aspose.TeX for C++ API – funkciókban gazdag, hatékony és könnyen használható dokumentumfeldolgozási és -konverziós API a C++ platformhoz.
  • Nyissa meg a NuGet csomagkezelőt, keresse meg az Aspose.TeX fájlt, és telepítse. A következő parancsot is használhatja a Csomagkezelő konzolból:

Package Manager Console Command

PM> Install-Package Aspose.TeX

A LaTeX-figurák SVG C++-ban történő megjelenítésének lépései

A kódrészlet bemutatja, hogyan kell az Aspose.TeX ábra-megjelenítő API-ját használni egy matematikai diagram képének előállításához. Íme a sorrend:

  1. Hozzon létre egy példányt a SvgFigureRendererOptions osztályból.
  2. Adja meg az options objektum Preamble tulajdonságát.
  3. Állítsa be a méretezési tényezőt és a háttérszínt.
  4. Konfiguráljon egy MemoryStream objektumot a renderelési folyamat során generált naplókimenet rögzítésére. Rendelje hozzá ezt az adatfolyamot a LogStream tulajdonsághoz. Ha a ShowTerminal tulajdonság értéke true, akkor a terminál kimenete megjelenik a konzolon.
  5. A kapott kép méreteinek tárolásához használja a System.Drawing.SizeF osztály egyik objektumát. Ezután hozzon létre egy fájlfolyamot a kimeneti kép mentéséhez.
  6. Példányosítsa a SvgFigureRenderer osztályt, és futtassa a renderelési folyamatot a Render() metódus meghívásával."
  7. Kérje le a hibajelentést és a kimeneti kép méretét.
Példa C++ kódra: Ábra renderelése SVG-ben
LaTeX Fragment
LaTeX Preamble
Output Format
Select the target format
                
// 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 Mi a LaTeX fájlformátum

A LaTeX egy TeX formátum, ha röviden mondjuk. A LaTeX fájlok egyszerű szöveges fájlok ASCII kódolású, saját jelölőnyelvükön írva. Előfordulhat, hogy más adatok, például képek és/vagy más LaTeX-fájlok felvételére is szükség lehet. A LaTeX egy csomó fejlett szolgáltatást kínálhat táblázatok létrehozásához, grafikák beépítéséhez, matematikai egyenletek és különböző képletek írásához stb. Mindezek a szolgáltatások úgynevezett csomagokban érhetők el.