Qual é a diferença entre LaTeX e KaTeX?

Por 쉬었음.com

LaTeX é um sistema para escrever e compor documentos completos, como artigos, livros didáticos e relatórios, enquanto KaTeX é uma biblioteca JavaScript que renderiza expressões matemáticas no estilo LaTeX em páginas web. Como ambos usam sintaxe matemática semelhante, eles podem parecer ser o mesmo tipo de ferramenta, mas diferem quanto ao que processam, ao que produzem e à forma como são instalados e utilizados. Se você precisa de um documento finalizado centrado na saída em PDF, o LaTeX é a primeira opção natural a considerar. Se deseja exibir equações com clareza na web ou em Markdown, comece considerando o KaTeX. www.latex-project.orggithub.com

O que é LaTeX?

LaTeX é um sistema de redação e composição de documentos para gerar resultados de alta qualidade. Composição tipográfica é a organização de elementos de um documento — como texto, equações, parágrafos, páginas, títulos, tabelas e figuras — em uma forma legível para produzir um documento finalizado. Em vez de normalmente arrastar caracteres individuais para posicioná-los na tela, os usuários escrevem comandos que descrevem a estrutura e o significado do documento. Um programa de processamento então compõe o documento a partir dessa entrada. O LaTeX Project distribui o LaTeX como software livre. www.latex-project.org

Por exemplo, um autor marca no manuscrito que “esta frase é um título de seção”, “este item é uma equação” ou “esta figura é referenciada”. O LaTeX então produz um documento que corresponde a essa estrutura, incluindo numeração, margens, quebras de linha e posicionamento de equações. O ponto principal é expressar as funções e relações dentro do documento, em vez de especificar manualmente a posição visual de cada caractere.

O LaTeX abrange muito mais do que uma única equação. Ele pode lidar com elementos interligados em documentos longos, incluindo títulos e texto corrido, capítulos e seções, listas, tabelas e figuras, citações, bibliografias, índices e referências cruzadas. Isso frequentemente o torna adequado para documentos nos quais formato e estrutura importam, como artigos acadêmicos, relatórios técnicos, livros e materiais didáticos. www.latex-project.orgwww.latex-project.org

Nesse contexto, dizer que você “escreve um documento em LaTeX” significa mais do que usar notação como \frac em equações. Isso se refere ao processo completo de criar um manuscrito que inclui o início e o fim do documento, sua estrutura de conteúdo e as relações entre os elementos do documento, e depois passá-lo por um fluxo de processamento documental para obter uma saída composta.

O que é KaTeX?

KaTeX é uma biblioteca baseada em JavaScript para exibir expressões matemáticas em ambientes web. Uma biblioteca é um componente de software projetado para que outras páginas web ou aplicações o carreguem e utilizem em uma capacidade específica. No caso do KaTeX, essa capacidade é interpretar strings matemáticas no estilo TeX/LaTeX e convertê-las em uma forma que possa ser exibida em uma página web. github.com

Por exemplo, suponha que o código-fonte de uma página web contenha uma equação como $E=mc^2$ ou \frac{a}{b}. O KaTeX pode receber essa entrada e renderizar o resultado no DOM, a estrutura de documentos do navegador. O DOM é a forma como um navegador representa elementos como títulos de página, parágrafos e botões como uma estrutura de objetos. O KaTeX também pode gerar antecipadamente strings HTML para equações em ambientes JavaScript do lado do servidor. github.comkatex.org

Uma equação exibida na web não é apenas uma linha de texto. Ela precisa representar os layouts exigidos pela notação matemática, como barras de fração, sobrescritos e subscritos, símbolos de raiz e matrizes. Para isso, o KaTeX gera marcação no estilo HTML e MathML e usa arquivos CSS e de fontes para a aparência visual. Em outras palavras, usar o KaTeX resolve o problema de exibir equações em um documento web; isso não significa compor uma página web inteira como um documento LaTeX. github.com

Por que as duas ferramentas são frequentemente confundidas?

O principal motivo é que a sintaxe de entrada delas parece semelhante. Comandos usados para escrever equações no LaTeX também são normalmente usados como entrada do KaTeX na web. Por exemplo, a equação a seguir é familiar nos dois contextos.

E=mc2E = mc^2

Frações e subscritos também são escritos assim.

x2+y2randan\frac{x^2 + y^2}{r} \quad\text{and}\quad a_n

No entanto, aceitar uma string de equação com a mesma aparência não significa que as ferramentas tenham o mesmo escopo. O LaTeX se concentra na estrutura e na composição de um documento inteiro, enquanto o KaTeX se concentra na exibição de expressões matemáticas incorporadas nesse documento ou em conteúdo web. “Pode usar sintaxe LaTeX” e “pode compilar um documento LaTeX” são afirmações diferentes. www.latex-project.orggithub.com

Os resultados que os usuários veem também podem parecer semelhantes. Um PDF criado com LaTeX tem equações bonitas, e uma página web que usa KaTeX também pode ter equações bonitas. Mas, no primeiro caso, as equações fazem parte da composição de um documento finalizado; no segundo, elas são um recurso para exibir equações em um navegador. Distinguir as ferramentas pela unidade de trabalho que realizam, e não pela aparência da saída, reduz a confusão.

Como a entrada, o ambiente de processamento e a saída diferem?

A maneira mais prática de comparar as duas ferramentas é perguntar: “O que você insere, onde isso é processado e o que você obtém?”

CategoriaLaTeXKaTeX
Foco principalDocumento completoExpressões matemáticas
Entrada típicaUm manuscrito de documento contendo títulos, texto corrido, capítulos e seções, tabelas, figuras, citações e equaçõesStrings matemáticas para incorporar em uma página web ou aplicação
Ambiente de processamentoUma distribuição LaTeX e um mecanismo de processamento de documentosUm navegador ou ambiente JavaScript do lado do servidor
Saída principalUm documento finalizado composto, geralmente em um fluxo centrado em PDFMarcação no estilo HTML e MathML para equações incorporadas em uma página web, juntamente com saída de estilização
Casos de uso típicosArtigos, relatórios, livros didáticos e livrosBlogs, aplicações web, documentos baseados em Markdown e páginas de cursos on-line

Em um fluxo de trabalho com LaTeX, todo o manuscrito é processado. Ele pode gerenciar informações que conectam várias partes de um documento, como sumários, números de seção, números de figuras e referências internas. Pense em como a numeração e as referências relacionadas podem ser organizadas conforme a estrutura do documento quando você altera um título ou adiciona um item em um lugar. Esse é um escopo mais amplo do que o de uma ferramenta responsável apenas por exibir uma equação. www.latex-project.orgwww.latex-project.org

Em contraste, o KaTeX geralmente renderiza as partes de equação de um documento web já existente. Alguns exemplos são alterar apenas uma equação em um parágrafo de texto, exibir uma expressão matemática inserida por um usuário ou tornar visíveis blocos de equação em um artigo escrito em Markdown. O próprio KaTeX é responsável por exibir matemática na web; em geral, não se espera que ele lide automaticamente com funções como gerenciamento de posts, construção do sumário de um documento ou gerenciamento de dados bibliográficos. github.comkatex.org

Quando você deve escolher o LaTeX?

Se a entrega final for um documento finalizado e autônomo, como o PDF de um artigo acadêmico, um relatório técnico, o manuscrito de um livro didático ou um livro, ela se alinha bem à finalidade do LaTeX. À medida que um documento fica mais longo, a consistência em todo ele se torna mais importante: hierarquias de títulos, organização de capítulos e seções, numeração de tabelas e figuras, números de equações, citações e bibliografias e referências internas. O LaTeX foi projetado para esse tipo de redação e composição estruturada de documentos. www.latex-project.orgwww.latex-project.org

Por exemplo, se um relatório de pesquisa contém muitas ligações como “veja a Tabela 2”, “use a definição da Equação 4” e “consulte o apêndice abaixo”, a questão central não é apenas como as equações parecem. O que importa é como estruturar e compor os muitos elementos do documento. Nesse caso, exibir apenas equações com KaTeX não cobre totalmente o escopo de trabalho necessário.

A abordagem do LaTeX à redação de documentos pode parecer incomum no início. Em vez de ajustar imediatamente à mão o resultado desejado na tela, você escreve comandos e estrutura, processa o resultado e o revisa. No entanto, se o formato e a estrutura do documento são estáveis e você cria repetidamente documentos com estrutura semelhante, essa característica pode ajudar. Por outro lado, se a tarefa principal é revisar rapidamente um aviso curto enquanto edita imediatamente a aparência de cada parágrafo, os recursos de composição documental do LaTeX podem ser mais do que você precisa.

Quando você deve escolher o KaTeX?

Se você quer incluir equações em conteúdo lido em um navegador — como páginas web, posts de blog, aplicações web ou aulas on-line — o KaTeX tem uma função clara. Você pode criar o corpo da página com tecnologias web padrão ou um sistema de conteúdo e fazer com que o KaTeX renderize apenas as partes que exigem notação matemática. github.comkatex.org

Por exemplo, você pode querer mostrar uma expressão como a seguinte em uma página de aprendizagem de cálculo.

abf(x)dx\int_a^b f(x)\,dx

Se o objetivo é que os estudantes leiam a equação em um navegador, uma ferramenta que exibe notação matemática por meio de HTML é uma solução mais direta do que uma ferramenta para compor um livro didático inteiro como PDF. O KaTeX oferece suporte tanto à renderização no navegador quanto à geração de strings de resultado no servidor para inclusão em uma resposta web. katex.orgkatex.org

É fácil pensar que o uso do KaTeX termina com a preparação da entrada da equação, mas a exibição real também requer CSS e fontes. O site ou a aplicação também precisa decidir quais elementos contam como matemática, como distinguir matemática em linha de blocos separados de matemática exibida e como mostrar entradas inválidas. O KaTeX fornece renderização matemática, mas não prescreve um único conjunto de regras de autoria de conteúdo nem métodos de integração de páginas. github.comkatex.org

KaTeX é um substituto web para o LaTeX?

Não. Dizer “quero usar LaTeX na web, então posso usar KaTeX” é correto apenas em algumas situações e impreciso de modo geral. O KaTeX não é uma ferramenta que transfere todo o sistema de documentos LaTeX para o navegador. Ele é um renderizador de matemática que exibe rapidamente na web um subconjunto da sintaxe matemática semelhante à do LaTeX. github.comwww.latex-project.org

Portanto, você não deve esperar que o KaTeX processe um artigo inteiro ao fornecer comandos de início de documento como \documentclass. Recursos gerais de documentos LaTeX — como classes de documento, pacotes de documento, gerenciamento de bibliografia e estrutura de capítulos e seções — não são os principais alvos de processamento do KaTeX. O fato de o KaTeX exibir equações não significa que ele aceite um manuscrito LaTeX completo e o componha como um documento finalizado.

Por outro lado, ter LaTeX não significa que um renderizador de matemática para a web seja desnecessário. O conteúdo lido na web é exibido no ambiente de HTML, CSS e JavaScript do navegador. Mesmo que você não crie um documento separado com LaTeX, ainda há necessidade de apresentar equações naturalmente em um serviço web. O KaTeX pode ser apropriado para essa necessidade.

Como analogia simples, o LaTeX está mais próximo de uma oficina de composição que cria um livro inteiro, da estrutura do manuscrito ao layout das páginas, enquanto o KaTeX está mais próximo de um componente que organiza expressões matemáticas nas frases de uma página web de forma legível. A analogia não explica todos os detalhes, mas ajuda a ilustrar a diferença de escopo entre eles.

Se a sintaxe matemática é semelhante, eles são totalmente compatíveis?

Nem sempre. O KaTeX usa sintaxe matemática TeX/LaTeX como entrada, mas isso não significa que ofereça suporte a todos os comandos, ambientes, pacotes ou macros avançadas do LaTeX. Em particular, se um manuscrito LaTeX existente depende de recursos de pacotes específicos ou de macros complexas definidas pelo usuário, você deve verificar se o KaTeX oferece suporte a essas expressões antes de levar as equações para a web. github.comkatex.org

Essa diferença decorre da distinção entre “sintaxe que parece matemática LaTeX” e “todos os recursos disponíveis em qualquer instalação LaTeX”. O intervalo possível de expressão em um documento LaTeX pode variar de acordo com os pacotes e macros utilizados. O KaTeX define os comandos e opções que oferece suporte dentro de seu objetivo de renderização de matemática na web. Portanto, presumir que uma equação copiada e colada funcionará de forma idêntica em todos os ambientes pode causar problemas.

Na prática, é realista renderizar primeiro equações curtas e básicas e inspecionar separadamente apenas aquelas que produzem erros ou têm aparência diferente. Por exemplo, notações simples como frações, subscritos e raízes geralmente estão no escopo usual da renderização matemática, enquanto comandos fornecidos por pacotes específicos ou comandos complexos definidos pelo usuário exigem verificação separada. O ponto importante é não concluir que o KaTeX aceita uma expressão apenas porque ela apareceu em um arquivo LaTeX.

Você também deve distinguir entre uma equação ser renderizada com sucesso e o significado originalmente pretendido ser transmitido com precisão. Mesmo que um comando seja processado sem erro, pode ser necessário que uma pessoa verifique se o tamanho dos delimitadores, o alinhamento ou a seleção de símbolos diferem do esperado. Pequenas diferenças visuais nas equações podem afetar sua leitura, portanto revisar a saída renderizada é especialmente prudente em documentos educacionais, de pesquisa e técnicos.

O que você deve verificar quando ocorre um erro?

Se você fornecer ao KaTeX uma entrada sem suporte ou uma sintaxe inválida, ele poderá produzir um erro de análise por padrão. Análise sintática é o processo de interpretar uma string de entrada segundo regras gramaticais. Os erros podem ter muitas causas, incluindo um simples erro de digitação, um delimitador não fechado, uso incorreto de comando ou uma expressão sem suporte. Dependendo das configurações, o KaTeX também oferece uma opção para exibir a entrada original em vez de produzir um erro. github.comkatex.org

Ao resolver um erro, é útil seguir esta ordem:

  1. Primeiro, verifique se os delimitadores da equação, as chaves e os colchetes estão corretamente fechados e correspondidos.
  2. Verifique se os comandos usados estão dentro do escopo de suporte do KaTeX.
  3. Procure recursos de pacotes ou macros definidas pelo usuário importadas de um documento LaTeX.
  4. Se você usar uma configuração que mostra o código-fonte em vez de um erro, considere que os leitores poderão ver uma equação quebrada.
  5. Depois de fazer alterações, verifique tanto a aparência da equação quanto seu contexto na página web real.

Uma configuração de exibição do código-fonte pode ajudar a evitar que uma página publicada pareça completamente vazia. No entanto, você deve entender que ela não elimina o erro; apenas expõe uma entrada que não pôde ser renderizada. Se os leitores precisarem entender a equação, pode ser mais apropriado reescrevê-la usando sintaxe compatível ou reorganizar a expressão de outra maneira, em vez de apenas alterar a política de exibição.

Os erros também podem ter uma natureza diferente no lado do LaTeX. Como o LaTeX processa um documento inteiro, os problemas podem ocorrer em um intervalo mais amplo do que apenas a sintaxe matemática, incluindo estrutura do documento, referências e uso de pacotes. Portanto, distinguir primeiro se você está “corrigindo um erro de equação” ou “corrigindo um erro de composição do documento” reduz a chance de escolher a ferramenta ou a solução errada.

Você pode usar as duas ferramentas juntas?

Sim. Uma pessoa não precisa escolher apenas uma delas. Por exemplo, você pode gerenciar o manuscrito para impressão e distribuição de um artigo acadêmico ou livro didático no LaTeX e, em seguida, usar o KaTeX para exibir apenas as equações necessárias em uma página web que apresenta o conteúdo ou em materiais didáticos complementares. Nesse caso, as ferramentas não são tanto concorrentes, mas uma divisão de funções para entregas diferentes. www.latex-project.orggithub.com

No entanto, usá-las em conjunto traz questões de reutilização do manuscrito e compatibilidade. Como não é garantido que toda equação de um manuscrito LaTeX seja renderizada diretamente no KaTeX, as equações destinadas à web devem ser verificadas em um ambiente KaTeX real. Em particular, se o manuscrito usa pacotes ou macros separados, pode ser necessário simplificar as equações web e usar notação compatível com o KaTeX. github.comkatex.org

O inverso também é verdadeiro. Mesmo que você tenha trechos de equações convenientemente escritos para KaTeX em uma página web, isso por si só não completa um documento LaTeX inteiro. Um documento LaTeX requer separadamente uma classe de documento, estrutura e regras de composição. Compartilhar parte da mesma linguagem matemática não significa automaticamente compartilhar o mesmo método de gerenciamento de conteúdo.

Em fluxos de trabalho paralelos, o critério importante não é simplesmente “manter uma única fonte”, mas “quais padrões de qualidade cada entrega exige”. Para documentos impressos, a consistência das páginas e das referências pode ser o mais importante; para conteúdo web, a exibição no navegador e o tratamento de erros de entrada podem ser preocupações mais imediatas. Se os objetivos diferem, o processo de revisão também deve diferir.

Que perguntas você deve fazer ao escolher uma ferramenta?

A semelhança dos comandos pode dificultar a escolha. Para evitar isso, pergunte sobre a entrega e o ambiente de trabalho antes de se concentrar na sintaxe.

Primeiro, identifique a saída final. Se o objetivo principal é um documento independente para download ou impressão, há bons motivos para examinar o escopo de composição de documentos do LaTeX. Se o objetivo é permitir que leitores vejam algumas ou muitas equações em conteúdo baseado em navegador, o KaTeX é uma opção direta. www.latex-project.orggithub.com

Segundo, identifique o escopo que você precisa gerenciar. Se o documento interliga capítulos, seções, figuras, tabelas, citações, bibliografias e referências cruzadas, apenas um renderizador de matemática pode não ser suficiente. Por outro lado, se você já tem uma página web e precisa apenas adicionar a exibição de equações, adotar um sistema completo de composição documental não é necessariamente necessário.

Terceiro, avalie a complexidade das equações e as dependências nos manuscritos existentes. É importante saber se a notação matemática básica é o conteúdo principal ou se o conteúdo depende muito de pacotes e macros LaTeX específicos. Neste último caso, compare antecipadamente os requisitos com o escopo de suporte do KaTeX e considere a possibilidade de que entradas sem suporte possam causar erros. github.com

Quarto, decida como e para quem os erros devem ser mostrados. Em uma ferramenta interna de autoria, mensagens de erro podem ser melhores para alertar os autores sobre problemas. Em uma página web pública, você precisa de uma política para escolhas como mostrar entradas inválidas como texto-fonte ou bloqueá-las por meio de validação antes da publicação. As opções de tratamento de erros do KaTeX se conectam a essas decisões. katex.org

Quinto, teste no ambiente que os leitores realmente usarão. Como CSS e fontes afetam a renderização web do KaTeX, é uma boa ideia verificar se as equações são exibidas como pretendido na página real, em vez de olhar apenas para o código em desenvolvimento. Com LaTeX, você também deve revisar se as equações, as referências e o layout das páginas correspondem às expectativas na saída do documento processado. github.comwww.latex-project.org

Quais são alguns equívocos comuns?

O primeiro equívoco é que “KaTeX é uma versão mais leve do LaTeX”. As ferramentas de fato compartilham parte da sintaxe matemática, mas o KaTeX não é simplesmente um produto que reduz todos os recursos documentais do LaTeX. Ele é uma biblioteca que resolve o problema separado de renderização de matemática na web. Não perceber essa distinção pode levar você a adotar apenas um renderizador quando precisa de uma ferramenta de produção de documentos, ou a escolher um fluxo documental excessivamente grande quando precisa de exibição de equações na web. github.comwww.latex-project.org

O segundo equívoco é que “você precisa aprender LaTeX para usar KaTeX”. A familiaridade com a notação matemática no estilo TeX/LaTeX ajuda ao escrever equações no KaTeX, mas você não precisa aprender classes de documento, bibliografias e todo o fluxo de composição antes de exibir uma única equação na web. Por outro lado, conseguir escrever algumas equações KaTeX não significa que você já aprendeu a autoria de documentos LaTeX como um todo.

O terceiro equívoco é que “depois que renderiza, não há problemas de compatibilidade”. À medida que o conteúdo cresce e novos comandos ou macros são adicionados, podem surgir novos problemas que antes não existiam. Isso é especialmente importante ao importar equações de outros manuscritos LaTeX, quando você precisa continuar verificando se expressões específicas são compatíveis com o KaTeX. github.comkatex.org

O quarto equívoco é que “a beleza visual da saída da equação é tudo o que importa ao escolher uma ferramenta”. A exibição clara de equações é importante, mas a escolha central é se você precisa criar um documento inteiro ou mostrar equações dentro de conteúdo web. É necessário considerar juntos o ciclo de vida da saída, os ambientes de autores e leitores e os métodos de revisão para escolher a ferramenta adequada.

Conclusão: trate a composição de documentos e a exibição de matemática na web como tarefas separadas

A diferença entre LaTeX e KaTeX é uma diferença de funções, não uma questão de um ser melhor do que o outro. LaTeX é um sistema para compor manuscritos estruturados em documentos finalizados, como artigos, relatórios e livros didáticos. KaTeX é uma biblioteca para exibir expressões matemáticas no estilo LaTeX na web, em navegadores ou em ambientes JavaScript do lado do servidor. www.latex-project.orggithub.com

Portanto, use o LaTeX como ponto de partida quando precisar criar e compor sistematicamente um documento inteiro, e use o KaTeX como ponto de partida quando precisar renderizar equações em conteúdo web existente. Mesmo ao usar os dois juntos, verifique o escopo de suporte à sintaxe e a abordagem de tratamento de erros do KaTeX. Distinguir o escopo da tarefa que você deseja resolver antes de se concentrar na sintaxe é o ponto de partida mais prático. github.comkatex.org

Perguntas frequentes

O KaTeX sozinho pode criar um PDF a partir de um documento LaTeX?

Não. O KaTeX é uma biblioteca de renderização para exibir expressões matemáticas na web. Ele não substitui o papel do LaTeX no processamento de capítulos, seções, citações, pacotes e outros elementos de todo o documento para compor um documento completo.

Todas as equações LaTeX funcionam sem alterações no KaTeX?

Nem sempre. O KaTeX usa sintaxe matemática semelhante à do LaTeX, mas não oferece suporte a todos os comandos, ambientes, pacotes ou macros avançadas. Você deve verificar se as expressões que pretende usar são compatíveis.

Posso usar LaTeX e KaTeX juntos em um site?

Sim. Por exemplo, você pode compor o manuscrito de um artigo ou livro didático com LaTeX enquanto usa o KaTeX para exibir equações selecionadas do mesmo conteúdo em documentos web separados ou em páginas de cursos. No entanto, é necessário verificar separadamente a compatibilidade da sintaxe das equações.

O que significam as mensagens de erro do KaTeX?

Em geral, elas indicam que a string matemática de entrada tem sintaxe inválida ou usa um comando que o KaTeX não oferece suporte. Dependendo da configuração, o KaTeX pode mostrar a entrada original em vez de exibir um erro.

Equações entre cifrões no Markdown são automaticamente KaTeX?

Não. Convenções como cifrões podem ser usadas para escrever matemática, mas é o serviço de Markdown ou o renderizador conectado ao site que de fato interpreta e exibe o conteúdo. Se esse renderizador é o KaTeX e qual sintaxe ele permite dependem da configuração do ambiente.