ConTeXt e o gerenciamento de documentos complexos

Sat 21 May 2011

Filed under ConTeXt

Na maioria das vezes, trabalhar com combinação de

\input

e

\starttext ... \stoptext

é o suficiente.

Porém, um dos recursos do ConTeXt que mais me chamou a atenção foi o poderoso gerenciamento de documentos. Nele, existem quatro níveis de abstração:

projeto:
Conjunto de textos que devem ser manuseados como um todo. Geralmente, apenas listam ambientes e produtos
ambiente:
macros e características de leiaute são preferencialmente definidas à parte.
produto:
textos que pertencem a um projeto. São processados de forma aninhada no projeto. Além disso, cada produto pode ser processado de forma indepentente e pode pertencer a mais de um projeto.
componente:
textos que compõe um produto. São processados de forma aninhada em um produto. Podem ser processados independentemente e podem pertencer a mais de um produto.

Observações: Projetos devem enunciar produtos e estes, componentes. Já o inverso, componente enunciar produto ou projeto e produto enunciar projeto não é obrigatório, mas é permitido. Ambientes são aceitos em qualquer uma das partes.

Com os próximos comandos, projetos, ambientes, produtos ou componentes podem ser:

  • delimitados:

    \startproject ... \stopproject
    
    \startenvironment ... \stopenvironment
    
    \startproduct ... \stopproduct
    
    \startcomponent ... \stopcomponent
    

    Observação: comandos podem ser inseridos antes dos pares start-stop nos arquivos, no chamado preâmbulo. Use com cautela.

  • inseridos:

    \project
    
    \environment
    
    \product
    
    \component
    

    Observação: se um arquivo inseridos não for encontrado no mesmo diretório da requisição, ConTeXt procurará em um nível acima. Isso facilita a organização.

Exemplo

  • Ambiente 1: ambiente1.tex

    \startenvironment ambiente1
    ... configurações...
    \stopenvironment
    
  • Ambiente 2: ambiente2.tex

    \startenvironment ambiente2
    ... configurações...
    \stopenvironment
    
  • Componente 1: componente1.tex

    \startcomponent componente1
        \chapter {A}
        ..... text .....
        \chapter {B}
        ..... text .....
    \stopcomponent
    
  • Componente 2: componente2.tex

    \startcomponent componente2
        \chapter {C}
        ..... text .....
        \chapter {D}
        ..... text .....
    \stopcomponent
    
  • Componente 3: componente3.tex

    \startcomponent componente3
        \chapter {E}
        ..... text .....
        \chapter {F}
        ..... text .....
    \stopcomponent
    
  • Produto 1: produto1.tex

    \startproduct produto1
        \environment ambiente2
        \component componente1
        \component componente2
    \stopproduct
    
  • Produto 2: produto2.tex

    \startproduct produto2
        \component componente3
    \stopproduct
    
  • Projeto: exemplo.tex

    \startproject exemplo
        \environment ambiente1
        \product  produto1
        \product  produto2
    \stopproject
    

Comments


TECEPE ENG BR © tecepe Powered by Pelican and Twitter Bootstrap. Icons by Font Awesome and Font Awesome More