
Sou programador e gostaria de dar uma olhada em uma definição mais técnica e específica do que é chamado de LaTeX ou TeX.
Meu interesse em sintaxe, semântica e gramática desta linguagem em geral, também gostaria de falar sobre os pacotes que presumo serem parte de algum tipo de sistema extensível tipo plugin e também gostaria de saber como isso interação é definida.
Obrigado.
Responder1
A gramática de cada comando TeX é dada mais ou menos completamente emO TeXBook. Observe, entretanto, que, diferentemente da maioria das linguagens de programação, a análise lexical e a tokenização da entrada não podem ser separadas da execução, pois a tabela catcode que controla a tokenização é dinamicamente mutável. Assim, a análise do TeX tende a derrotar a maioria das ferramentas de geração de analisadores.
LaTeX é um conjunto de macros escritas em TeX, portanto é definido por sua implementação, embora exista uma documentação bastante extensa emOCompanheiro LaTeX, o livro LaTeX (LaTeX: um sistema de preparação de documentos) e em outros lugares.
Os pacotes não são realmente semelhantes a plug-ins, o que geralmente implica algum tipo de API binária. Eles são (principalmente) inclusão no nível de origem de definições de macro, mais parecidas #include
(se você conhece o sistema de macro do pré-processador C) do que qualquer outra coisa.