Matemática do Discurso

||||
-|-|
:discourse2: | Resumo | O Discourse Math usa MathJax (padrão) ou KaTeX para renderizar matemática no seu fórum Discourse.
:open_book: | Guia de Instalação | Este plugin vem embutido no núcleo do Discourse. Não há necessidade de instalar o plugin separadamente.

Habilitando Matemática

O plugin Math pode ser habilitado em suas configurações, acessadas pela sua página admin/plugins:

Configurações do Math

Recursos

Uma vez habilitado, 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 habilitado 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 o MathJax, você pode habilitar o processamento asciimath, que usa % como delimitador: %E=mc^2%

Integração com o Composer

O composer inclui um botão Inserir Matemática na barra de ferramentas com o atalho de teclado Shift+M. Isso abre um modal onde você pode:

  • Alternar entre modo inline e bloco
  • Escrever sua expressão LaTeX
  • Pré-visualizar e inserir em sua publicação

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

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

Mecanismos de Renderização

MathJax (Padrão)

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

KaTeX (Alternativa)

  • Recursos:
    • Renderização rápida
    • Extensão Mhchem para equações químicas
    • Extensão CopyTex - clique na matemática para copiar a fonte LaTeX para a área de transferência
    • Suporte a referências cruzadas com macros \label, \ref e \eqref

Configurações do Site

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

Nome Descrição
discourse math enabled Habilitar 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 Habilitar delimitadores estilo LaTeX: \(...\) para inline e \[...\] para bloco
discourse math mathjax output Formato de saída do MathJax: html (padrão) ou svg (apenas MathJax)
discourse math enable menu Habilitar menu contextual para expressões matemáticas (apenas MathJax)
discourse math enable accessibility Habilitar recursos de acessibilidade como enriquecimento de texto (apenas MathJax com menu)
discourse math zoom on click Zoom de 175% na interação com clique Alt (apenas MathJax com menu)
discourse math enable asciimath Habilitar 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

Vejo uma nova ferramenta, RaTeX,
escrita em Rust, 100% compatível com Katex.

GitHub - erweixin/RaTeX: >99.5% KaTeX syntax coverage. LaTeX math renderer in pure Rust. No JavaScript, no WebView, no DOM. One Rust core → iOS, Android, Flutter, Web, PNG. C ABI · WASM · Server-side PNG/SVG. · GitHub

Pode ser uma boa substituição.

encontrei um problema interessante.

Estou resolvendo problemas de física, descobri que \dot, \ddot funcionam bem, mas não existe \dddot, e assim que essa função contém \dddot, todas as fórmulas seguintes param de funcionar.

1 curtida

@xiasummer Vamos tentar \dddot{r} e

\dddot{r}.

Parecem funcionar aqui. Eu testei em meu site usando tanto MathJax quanto KaTeX.

1 curtida