Outros formatos de saída de conversão Tex | .NET

É altamente improvável que você queira converter um arquivo tex escrito em qualquer outro formato que não seja o LATEX. Mas isso é possível se você estiver estudando o idioma tex e/ou internos por algum motivo. De qualquer forma, Aspose.TeX para .NET permite converter arquivos escritos no formato Tex simples. Ele também permite criar formatos personalizados e documentos de tiponete projetados nesses formatos.

Começaremos com a criação de um formato personalizado.

Criando um formato personalizado

Lembre -se de que o arquivo de formato é um depósito binário do estado interno do mecanismo Tex.

 1// Create a custom TeX format file
 2
 3// Create TeX engine options for no format upon ObjectTeX engine extension.
 4TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectIniTeX);
 5
 6// Specify a file system working directory for the input.
 7options.InputWorkingDirectory = new InputFileSystemDirectory(DataDir);
 8
 9// Specify a file system working directory for the output.
10options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
11
12// Run format creation.
13TeXJob.CreateFormat("customtex", options);
14
15// For further output to look fine.
16options.TerminalOut.Writer.WriteLine();

Como você pode ver, o código é semelhante ao código para converter um arquivo tex. Mas existem algumas diferenças.

Primeiro, aqui usamos a configuração do trabalho texconfig.objectinitex. Esta é uma configuração especial que deixa o estado do motor “virgem”, ou seja, os parâmetros internos têm seus valores padrão e o conjunto de sequências de controle coincide com o conjunto de primitivas. Em nosso exemplo, o conjunto de primitivas é estendido no sentido mencionado aqui.

Em seguida, configuramos os diretórios de trabalho de entrada e saída, como de costume. O diretório de trabalho de entrada precisa conter o arquivo de origem do formato principal e todas as suas dependências.

E a segunda diferença importante é a maneira como executamos o trabalho. Desta vez, usamos o método estático createFormat (), que, juntamente com as opções, pega o nome do arquivo de origem principal, que deve ser o mesmo que o nome do formato.

Tipando um arquivo tex em seu formato personalizado

Agora que temos nosso próprio formato Tex, queremos digitar um arquivo tex escrito neste formato. Aqui está o código:

 1// Typeset a TeX file using a custom TeX format
 2
 3// Create the file system input working directory.
 4// Create the format provider using the file system input working directory.
 5// We use the project output directory as our custom format file is supposed to be located there.
 6
 7using (FormatProvider formatProvider =
 8    new FormatProvider(new InputFileSystemDirectory(OutputDir), "customtex"))
 9{
10    // Create conversion options for a custom format upon ObjectTeX engine extension.
11    TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX(formatProvider));
12    options.JobName = "typeset-with-custom-format";
13    
14    // Specify the input working directory. This is not required here as we are providing the main input as a stream.
15    // But it is required when the main input has dependencies (e.g. images).
16    options.InputWorkingDirectory = new InputFileSystemDirectory(DataDir);
17    
18    // Specify a file system working directory for the output.
19    options.OutputWorkingDirectory = new OutputFileSystemDirectory(OutputDir);
20
21    // Run the job.
22    new TeXJob(new MemoryStream(Encoding.ASCII.GetBytes(
23            "Congratulations! You have successfully typeset this text with your own TeX format!\\end")),
24            new XpsDevice(), options).Run();
25
26    // For further output to look fine.
27    options.TerminalOut.Writer.WriteLine();
28}

Obviamente, temos que especificar o formato de alguma forma. Primeiro de tudo, precisamos criar uma instância da classe FormatProvider. Em seguida, no construtor de opções, usamos a configuração TeXConfig.ObjectIniTeX, que toma nosso provedor de formato como um argumento e carrega o formato no topo do estado “virgem” do motor.

O restante do código deve ser familiar para você. Ele usa os recursos discutidos anteriormente neste guia.

Tipando um arquivo tex no formato PLAin Tex

Se jogarmos fora o provedor de formato do código que acabamos de demonstrar, o motor carregará o formato padrão, que é objeto tex em seu quarto sentido. Assim, se você tiver um arquivo tex escrito no formato PLAIN TEX, dessa maneira poderá convertê -lo em qualquer formato de destino suportado.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.