Outros formatos de saída de conversão Tex | Python
É improvável que você precise converter um arquivo tex escrito em um formato que não seja o LATEX. No entanto, se você estiver estudando o idioma Tex ou os internos da TEX por qualquer motivo, ainda é possível. De qualquer forma, Aspose.TeX for python permite converter arquivos escritos no formatoPLAIN TEXe também permite criar formatos personalizados e documentos digitados projetados nesses formatos.
Para começar, criaremos um formato personalizado.
Criando um formato personalizado
Lembre -se de que o arquivo de formato é uma representação binária do estado interno do mecanismo Tex.
1# Create TeX engine options for no format upon ObjectTeX engine extension.
2options = TeXOptions.console_app_options(TeXConfig.object_ini_tex)
3# Specify a file system working directory for the input.
4options.input_working_directory = InputFileSystemDirectory(Util.input_directory)
5# Specify a file system working directory for the output.
6options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
7
8# Run format creation.
9TeXJob.create_format("customtex", options)
10
11# For further output to look fine.
12options.terminal_out.writer.write_line()
Como você pode ver, o código tem uma semelhança com o código para converter um arquivo tex. No entanto, existem algumas distinções.
Em primeiro lugar, neste caso, utilizamos o trabalho texconfig.object_ini_tex. Essa configuração garante que o estado do mecanismo seja “virgem”, o que significa que os parâmetros internos têm seus valores padrão e o conjunto de sequências de controle se alinha ao conjunto de primitivas. Em nosso exemplo, o conjunto de primitivas é expandido no artigo Aspose.TeX e Object tex.
Depois disso, prosseguimos com a configuração dos diretórios de trabalho de entrada e saída, como de costume. O diretório de trabalho de entrada deve incluir o arquivo de origem do formato principal e todas as suas dependências.
E a segunda grande diferença é o método pelo qual executamos o trabalho. Nesse caso, utilizamos o método estático create_format (), que, em conjunto com as opções, requer o nome do arquivo de origem principal para ser idêntico ao nome do formato.
Tipando um arquivo tex em seu formato personalizado
Agora que criamos nosso próprio formato TEX, podemos prosseguir para digitar um arquivo tex escrito neste formato. Aqui está o código:
1# Create the format provider using the file system input working directory.
2# We use the project output directory as our custom format file is supposed to be located there.
3with FormatProvider(InputFileSystemDirectory(Util.output_directory), "customtex") as format_provider:
4 # Create conversion options for a custom format upon ObjectTeX engine extension.
5 options = TeXOptions.console_app_options(TeXConfig.object_tex(format_provider))
6 options.job_name = "typeset-with-custom-format"
7 # Specify the input working directory. This is not required here as we are providing the main input as a stream.
8 # But it is required when the main input has dependencies (e.g. images).
9 options.input_working_directory = InputFileSystemDirectory(Util.input_directory)
10 # Specify a file system working directory for the output.
11 options.output_working_directory = OutputFileSystemDirectory(Util.output_directory)
12
13 # Run the job.
14 TeXJob(BytesIO("Congratulations! You have successfully typeset this text with your own TeX format!\\end".encode('ascii')),
15 XpsDevice(), options).run()
16
17 # For further output to look fine.
18 options.terminal_out.writer.write_line()
Para especificar o formato, precisamos criar uma instância da classe FormatProvider. No construtor de opções, usamos a configuração texconfig.object_tex(), que requer nosso provedor de formato como argumento e carrega o formato na parte superior do estado “virgem” do motor.
O código restante deve ser familiar para você, pois utiliza os recursos discutidos anteriormente neste guia.
Tipando um arquivo tex no formato PLAin Tex
Se removermos o provedor de formato do código mostrado acima, o motor carregará o formato padrão, que é objeto tex em seu quarto sentido. Portanto, se você tiver um arquivo tex escrito no formato Plear Tex, poderá convertê -lo em qualquer formato de destino suportado usando essa abordagem.