Outras maneiras de fornecer o principal arquivo de entrada tex principal | C ++
Fornecendo o arquivo de entrada principal para o mecanismo TEX como um fluxo
Até este ponto, sabíamos apenas como passar o
arquivo de entrada principal para o mecanismo TEX como nome de arquivo, totalmente especificado ou de curta forma, seja com uma extensão ou sem ele. Mas há outro
construtor da classe texjob
, que leva um fluxo como o primeiro argumento. Isso é conveniente se, por algum motivo, tivermos o arquivo de entrada principal em um formulário que não seja um arquivo no sistema de arquivos de disco. Veja como pode ser implementado:
1// Create conversion options instance.
2...
3// Create some device.
4...
5// Run LaTeX to XPS conversion.
6System::MakeObject<Aspose::TeX::TeXJob>(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(
7 u"\\documentclass{article} \\begin{document} Hello, World! \\end{document}")), device, options)->Run();
Observe que todos os arquivos de saída terão o nome texput. Isso porque o motor não pode obter nenhum outro nome em nenhum lugar. Texput é o nome da tarefa padrão. Aqui e aqui são detalhes sobre nomes de trabalho.
Entrando no principal arquivo de entrada tex do terminal
Há ainda outro
construtor da classe texjob
, que não nos permite especificar a entrada. Então, o que é um trabalho tão tex que vai processar, você pode se perguntar? Desta vez, precisaremos de um terminal de entrada. O mecanismo TEX nos pedirá para inserir o nome do arquivo no terminal.
Aqui está o código:
1// Create conversion options instance.
2...
3// Run LaTeX to XPS conversion.
4System::MakeObject<Aspose::TeX::TeXJob>(System::MakeObject<XpsDevice>(), options)->Run();
Assim que é executado, o motor gruda, esperando que insira o nome do arquivo (com ou sem um caminho, com ou sem uma extensão):
E é assim que ficaria no terminal de saída, que é o console:
1This is ObjectTeX, Version 3.1415926-1.0 (Aspose.TeX 21.8)
2entering extended mode
3**<path_to_the_file>/hello-world.ltx
4(<path_to_the_file>/hello-world.ltx
5LaTeX2e <2011/06/27>
6(article.cls
7Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
8(size10.clo))
9No file hello-world.aux.
10[1]
11(<output_directory>\hello-world.aux) )
12Output written on hello-world.xps (1 page).
13Transcript written on hello-world.log.