Matemática do Discourse

:discourse2: Resumo Discourse Math usa MathJax (padrão) ou KaTeX para renderizar fórmulas matemáticas no seu fórum Discourse.
:open_book: Guia de Instalação Este plugin já vem incluído no núcleo do Discourse. Não há necessidade de instalá-lo separadamente.

Ativando Matemática

O plugin de Matemática pode ser ativado em suas configurações, acessadas pela página admin/plugins:

Configurações de Matemática

Funcionalidades

Após ativado, você pode renderizar matemática inline envolvendo-a com um único $, assim: $E=mc^2$.

Você pode renderizar blocos de matemática envolvendo-os com $$:

$$
\sqrt{(-1)} \; 2^3 \; \sum \; \pi
$$

O Discourse Math usa uma heurística para garantir que frases como: “Gastei 20$ e mais 100$” não sejam convertidas.

Delimitadores LaTeX

Quando ativado nas configurações do site, você também pode usar delimitadores LaTeX padrão:

  • Inline: \(...\) - Exemplo: \(E=mc^2\)
  • Bloco: \[...\] - Exemplo:
    \[
    \frac{1}{2}
    \]
    

AsciiMath (apenas MathJax)

Ao usar MathJax, você pode ativar o processamento asciimath, que usa % como delimitador: %E=mc^2%

Integração com o Editor (Composer)

O editor inclui um botão Inserir Matemática na barra de ferramentas com o atalho de teclado \u003ckbd\u003eShift\u003c/kbd\u003e+\u003ckbd\u003eM\u003c/kbd\u003e. Isso abre uma janela modal onde você pode:

  • Alternar entre modo inline e bloco
  • Escrever sua expressão LaTeX
  • Visualizar e inserir no seu post

No editor de texto rico, as expressões matemáticas aparecem como nós editáveis com um botão de edição para modificar a expressão.

Suporte no Chat

As expressões matemáticas também são renderizadas nas mensagens do Chat do Discourse, usando as mesmas configurações e engine de renderização.

Engines de Renderização

MathJax (Padrão)

  • Versão: 4.1
  • Formatos de saída: HTML (padrão) ou SVG
  • Funcionalidades:
    • Menu contextual (clique direito na fórmula)
    • Enriquecimento de acessibilidade para leitores de tela
    • Zoom ao clicar com Alt (zoom de 175%)
    • Suporte a AsciiMath

KaTeX (Alternativa)

  • Funcionalidades:
    • Renderização rápida
    • Extensão Mhchem para equações químicas
    • Extensão CopyTex - clique na fórmula para copiar o código LaTeX para a área de transferência
    • Suporte a referências cruzadas com as macros \label, \ref e \eqref

Configurações do Site

Veja todas as configurações relevantes do site pesquisando por “math” nas configurações de administrador.

Nome Descrição
discourse math enabled Ativa o plugin Discourse Math (adiciona processamento especial aos blocos $ e $$)
discourse math provider Provedor de renderização matemática: mathjax (padrão) ou katex
discourse math enable latex delimiters Ativa delimitadores estilo LaTeX: \(...\) para inline e \[...\] para blocos de matemática
discourse math mathjax output Formato de saída do MathJax: html (padrão) ou svg (apenas MathJax)
discourse math enable menu Ativa menu contextual para expressões matemáticas (apenas MathJax)
discourse math enable accessibility Ativa recursos de acessibilidade como enriquecimento de texto (apenas MathJax com menu)
discourse math zoom on click Zoom de 175% ao clicar com Alt (apenas MathJax com menu)
discourse math enable asciimath Ativa processamento asciimath com delimitador % (apenas MathJax)

:discourse2: Hospedado por nós? Este plugin está disponível em todos os nossos planos de hospedagem: Math | Discourse - Civilized Discussion

70 curtidas

2 publicações foram movidas para um novo tópico: Adicionar suporte para formatação de e-mail do MathJax

2 publicações foram movidas para um novo tópico: O Mathjax pode ser atualizado para a Versão 3?

6 publicações foram movidas para um novo tópico: Adicionar suporte para blocos e textos em linha no estilo Latex para Matemática

Uma postagem foi dividida em um novo tópico: Equações não são renderizadas corretamente em blocos

Uma postagem foi dividida em um novo tópico: Math not rendering in Preview

15 publicações foram movidas para um novo tópico: Soluções alternativas de Matemática e IA

26 publicações foram movidas para um novo tópico: Atualizando Mathjax para a versão 4

Apenas uma nota rápida (positiva) do mundo real após a migração para a integração mais recente do MathJax (v4.1) no Discourse Math.

Uma melhoria na qualidade de vida que notei é que o MathJax agora fornece feedback muito específico e localizado quando a entrada é inválida ou uma macro não está definida:

  • Ele ainda renderiza a estrutura válida circundante corretamente (por exemplo, \\frac{...}{...}, parênteses, etc.)
  • Mas ele deixa o comando não reconhecido visível literalmente (por exemplo, mostrando \\sinc como texto) em vez de falhar toda a expressão ou produzir um erro parcial confuso.

Na prática, isso torna imediatamente óbvio o que precisa ser corrigido, sem obscurecer o que já está correto — o que é especialmente útil em contextos de ensino e ao iterar em postagens com muito conteúdo matemático.

Por exemplo, em vez de depender de \\sinc estar definido, a abordagem robusta é escrevê-lo explicitamente como um operador:

\n\\frac{\\Delta}{T}\\operatorname{sinc}\\!\\left(\\frac{\\omega_r\\Delta}{2}\\right)\n

com:

\n\\operatorname{sinc}(x)=\\frac{\\sin x}{x}\n

No geral, esse comportamento de “renderizar o que for possível, mostrar o restante claramente” parece uma grande vitória de usabilidade em comparação com modos de falha mais antigos/menos transparentes. Agradecimentos a todos os envolvidos no trabalho de atualização do MathJax.

3 curtidas

Quero apenas avisar a todos que chegaram aqui pelo Google que este plugin não está disponível no plano de hospedagem gratuito. :expressionless_face:

Olá, compreendo a sua frustração. Lamento que você se sinta assim. Para casos futuros, você pode conferir o diretório de Plugins por plano aqui.

O plugin de matemática está listado nesta página como um plugin profissional/para negócios/empresarial. Portanto, pode-se assumir que ele está disponível para o plano gratuito. Não estou sugerindo que você o disponibilize gratuitamente; apenas acho que deveria ficar um pouco mais claro.

1 curtida

Certo. A página em Discourse pricing | Discourse - Civilized Discussion lista todos os planos e seus limites, incluindo plugins, onde você pode ver rapidamente quais plugins são permitidos.

1 curtida