Créer des figures de documents avec LaTeX
Rendre le texte, les tableaux et les graphiques LaTeX au format PNG ou SVG à l’aide de C++
LaTeX, réputé comme système de composition, s’impose comme un outil très apprécié pour la création de figures destinées aux publications. Ses caractéristiques et avantages le positionnent comme le choix optimal pour de telles tâches, et voici pourquoi :
- Typographie de haute qualité : LaTeX offre un contrôle précis sur les polices, l’espacement des caractères, les sauts de ligne et la disposition générale, garantissant ainsi aux figures obtenues une apparence de haute qualité.
- Composition mathématique : initialement conçu pour la composition mathématique, ce système excelle dans la gestion efficace des équations et des symboles mathématiques complexes.
- LaTeX s’occupe principalement des graphiques vectoriels, garantissant que vos figures restent évolutives sans compromettre la qualité. Ces graphiques sont indépendants de la résolution, ce qui est particulièrement avantageux pour les illustrations scientifiques ou techniques.
- Cohérence avec le document : Puisque LaTeX est un système de préparation de documents, vous pouvez sans effort maintenir un style et un formatage uniformes sur toutes les figures, garantissant ainsi une apparence cohérente dans tout votre document.
En résumé, LaTeX offre une base fiable pour la création de figures, offrant une typographie exceptionnelle, une composition mathématique, une évolutivité, une cohérence à l'échelle du document, une reproductibilité, un contrôle de version, une intégration avec des packages et des capacités d'automatisation.
Au sein de la solution API Aspose.TeX, entre autres fonctionnalités, se trouve la possibilité de recadrer et de restituer n’importe quel fragment LaTeX représentant une figure au format PNG ou SVG. Ci-dessous, vous découvrirez un extrait de code illustrant ces opérations, avec le résultat enregistré sous forme de fichier PNG. Plus d’ exemples de code peuvent être trouvés ici.
Pour exécuter les exemples dont nous avons besoin :
- L’API Aspose.TeX pour C++, une API de traitement et de conversion de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C++.
- Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.TeX et installez-le. Vous pouvez également utiliser la commande suivante depuis la console Package Manager :
Package Manager Console Command
PM> Install-Package Aspose.TeX
Étapes pour restituer les figures LaTeX en SVG C++
L’extrait de code montre comment utiliser l’API de rendu de figures d’Aspose.TeX pour générer une image d’un diagramme mathématique. Voici la commande :
- Créez une instance de la classe SvgFigureRendererOptions .
- Spécifiez la propriété Préambule de l’objet options.
- Définissez le facteur de mise à l’échelle et la couleur d’arrière-plan.
- Configurez un objet MemoryStream pour capturer la sortie du journal générée au cours du processus de rendu. Attribuez ce flux à la propriété LogStream. Si la propriété ShowTerminal est définie sur true, la sortie du terminal sera affichée sur la console.
- Utilisez un objet de la classe System.Drawing.SizeF pour stocker les dimensions de l’image résultante. Créez ensuite un flux de fichiers pour enregistrer l’image de sortie.
- Instanciez la classe SvgFigureRenderer et exécutez le processus de rendu en appelant la méthode Render()."
- Récupérez le rapport d’erreur et la taille de l’image de sortie.
// 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 Qu'est-ce que le format de fichier LaTeX
LaTeX est un format TeX si dit brièvement. Les fichiers LaTeX sont des fichiers de texte brut en codage ASCII écrits dans leur propre langage de balisage. Ils peuvent nécessiter l'inclusion d'autres données comme des images et/ou d'autres fichiers LaTeX. LaTeX peut vous fournir un tas de fonctionnalités avancées pour créer des tableaux, inclure des graphiques, écrire des équations mathématiques et différentes formules, etc. Toutes ces fonctionnalités sont disponibles dans ce que l'on appelle des paquets.