Charger des fichiers sources TeX à partir d’un flux

Solution API C++ pour charger des fichiers TeX/LaTeX à partir d’un flux

 

TeX est un système de composition développé et largement utilisé dans les communautés de l’édition scientifique et technique pour créer des documents de haute qualité comprenant des formules mathématiques, des dessins techniques et d’autres fonctionnalités de composition spécialisées. Avec TeX, vous ne formatez pas votre texte dans le document, mais vous saisissez plutôt du texte brut contenant les fragments de texte du document ainsi que des commandes qui contrôlent la sortie. À la sortie, vous obtiendrez un fichier formaté dans le format souhaité (spécifié). Pour mieux comprendre les entrées et sorties TeX, consultez la section TeX I/O de la documentation.

TeX est considéré comme l’un des systèmes de composition les plus avancés et les plus puissants. Pour expliquer comment gérer les fichiers TeX à l’aide d’Aspose.TeX pour C++, nous avons placé des exemples de code des opérations avec TeX afin que vous puissiez mieux comprendre les fonctionnalités.

Le code ici explique le chargement de l’entrée TeX à partir d’un flux, l’utilisation d’un répertoire du système de fichiers pour la sortie, la sortie vers le dispositif d’imagerie, l’écriture de la sortie du terminal sur la console et la réception de l’entrée en ligne à partir de la console.

Pour commencer, installez d’abord l’API Aspose.TeX. Vous pouvez le faire soit en effectuant une recherche dans le gestionnaire de paquets NuGet, soit en utilisant la commande suivante dans la console du gestionnaire de paquets :

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Instructions pour charger TeX à partir d'un flux en C++ :

  1. Créer une instance de la classe TeXOptions avec les paramètres par défaut pour l’extension du moteur Object TeX et définir le nom du travail.
  2. Utiliser la classe InputFileSystemDirectory pour spécifier un répertoire de travail du système de fichiers pour les données d’entrée.
  3. À l’aide de la classe OutputFileSystemDirectory , spécifier un répertoire de travail du système de fichiers pour la sortie.
  4. Utiliser la classe OutputConsoleTerminal pour spécifier la console comme terminal de sortie.
  5. Utiliser la classe InputConsoleTerminal pour spécifier la console comme terminal d’entrée.
  6. Créer et spécifier les options d’enregistrement. Pour ce faire, nous instancions ici la classe PngSaveOptions et définissons la résolution.
  7. Créer une instance de la classe TeXJob et exécuter la composition à l’aide de la méthode Run() avec un ImageDevice nouvellement créé.

Exemple de code C++ : Chargement de TeX

using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Image;
// Create typesetting options for the default Object TeX format on the Object TeX engine extension.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Specify the job name.
options->set_JobName(u"stream-in-image-out");
// Specify the file system working directory for the input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(RunExamples::InputDirectory));
// Specify the file system working directory for the output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(RunExamples::OutputDirectory));
// Specify console as a input terminal.
options->set_TerminalIn(System::MakeObject<InputConsoleTerminal>()); // Default. No need to specify.
// Specify console as an output terminal. 
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>()); // Default. No need to specify.

// Create and specify saving options.
options->set_SaveOptions([&]{ auto tmp_0 = System::MakeObject<PngSaveOptions>(); tmp_0->set_Resolution(300); return tmp_0; }());

// Run the job.
System::MakeObject<Aspose::TeX::TeXJob>(
    System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"\\hrule height 10pt width 95pt\\vskip10pt\\hrule height 5pt")),
    System::MakeObject<ImageDevice>(), options)->Run();

// When the console prompts the input, type "ABC", press Enter, then type "\end" and press Enter again.



FAQ

1. Est-il possible de charger des fichiers source TeX à partir d’un flux dans LaTeX ? 

Oui, il est possible de charger des fichiers source TeX à partir d’un flux dans LaTeX. LaTeX fournit la commande \input, qui vous permet d’inclure le contenu d’un fichier TeX externe directement dans votre document principal. En spécifiant un chemin de fichier ou une URL comme argument de \input, vous pouvez charger dynamiquement des fichiers source TeX à partir de diverses sources, y compris des flux, pour incorporer du contenu supplémentaire ou modulariser la structure de votre document.

2. Comment puis-je charger des fichiers sources TeX à partir d’un flux par programme ? 

Le chargement par programme de fichiers source TeX à partir d’un flux implique l’utilisation de la gestion des fichiers et des opérations d’entrée/sortie fournies par le langage de programmation ou l’environnement avec lequel vous travaillez. Vous pouvez ouvrir un flux vers le fichier source souhaité, lire son contenu en mémoire et puis transmettez le contenu comme argument dans votre document LaTeX.

3. Y a-t-il des considérations ou des limitations lors du chargement de fichiers sources TeX à partir d’un flux ? 

Il est important de s’assurer que le flux est correctement géré et que le contenu du fichier est lu et traité correctement par LaTeX. Des considérations telles que l’encodage des fichiers, la gestion des erreurs et la gestion des ressources doivent être prises en compte pour éviter des problèmes tels que la corruption des données ou fuites de mémoire. De plus, l’entrée basée sur un flux peut ne pas convenir à tous les scénarios, en particulier si le fichier TeX est volumineux ou si un traitement en temps réel est requis.

TeX What is TeX File Format

TeX est un système de composition typographique et un langage de programmation permettant de créer des documents de haute qualité, notamment avec des formules mathématiques. Les fichiers .tex sont du texte brut traité par des moteurs TeX (pdfTeX, XeTeX, LuaTeX) pour produire du PDF ou du DVI.