Discorso Matematico

:discourse2: Riepilogo Discourse Math utilizza MathJax (predefinito) o KaTeX per visualizzare la matematica nel tuo forum Discourse.
:open_book: Guida all’installazione Questo plugin è integrato nel core di Discourse. Non è necessario installare il plugin separatamente.

Abilitazione della matematica

Il plugin Math può essere abilitato dalle sue impostazioni, accessibili dalla pagina admin/plugins:

Impostazioni Math

Funzionalità

Una volta abilitato, puoi visualizzare la matematica in linea racchiudendola con un singolo $ come segue: $E=mc^2$.

Puoi visualizzare blocchi di matematica racchiudendoli con $$

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

Discourse Math utilizza un’euristica per assicurarsi che frasi come: “Ho speso 20$ e altri 100$” non vengano convertite.

Delimitatori LaTeX

Quando abilitati nelle impostazioni del sito, puoi anche utilizzare i delimitatori LaTeX standard:

  • In linea: \(...\) - Esempio: \(E=mc^2\)
  • Blocco: \[...\] - Esempio:
    \[
    \frac{1}{2}
    \]
    

AsciiMath (solo MathJax)

Quando si utilizza MathJax, è possibile abilitare l’elaborazione asciimath che utilizza % come delimitatore: %E=mc^2%

Integrazione con il Composer

Il composer include un pulsante Inserisci Matematica nella barra degli strumenti con la scorciatoia da tastiera Shift+M. Questo apre una finestra modale in cui puoi:

  • Alternare tra modalità in linea e blocco
  • Scrivere la tua espressione LaTeX
  • Anteprima e inserimento nel tuo messaggio

Nell’editor di testo ricco, le espressioni matematiche appaiono come nodi modificabili con un pulsante di modifica per alterare l’espressione.

Supporto nella Chat

Le espressioni matematiche vengono inoltre visualizzate nei messaggi di Discourse Chat utilizzando le stesse impostazioni e il motore di rendering.

Motori di Rendering

MathJax (Predefinito)

  • Versione: 4.1
  • Formati di output: HTML (predefinito) o SVG
  • Funzionalità:
    • Menu contestuale (clic destro sulla matematica)
    • Arricchimento per l’accessibilità e per i lettori dello schermo
    • Zoom con alt-click (zoom al 175%)
    • Supporto per AsciiMath

KaTeX (Alternativa)

  • Funzionalità:
    • Rendering veloce
    • Estensione Mhchem per le equazioni chimiche
    • Estensione CopyTex - clicca sulla matematica per copiare il codice sorgente LaTeX negli appunti
    • Supporto per i riferimenti incrociati con le macro \label, \ref e \eqref

Impostazioni del Sito

Visualizza tutte le impostazioni del sito rilevanti cercando “math” nelle impostazioni di amministrazione.

Nome Descrizione
discourse math enabled Abilita il plugin Discourse Math (aggiunge elaborazione speciale ai blocchi $ e $$)
discourse math provider Provider di rendering matematico: mathjax (predefinito) o katex
discourse math enable latex delimiters Abilita i delimitatori in stile LaTeX: \(...\) per la matematica in linea e \[...\] per la matematica a blocco
discourse math mathjax output Formato di output MathJax: html (predefinito) o svg (solo MathJax)
discourse math enable menu Abilita il menu contestuale per le espressioni matematiche (solo MathJax)
discourse math enable accessibility Abilita le funzionalità di accessibilità come l’arricchimento del testo (solo MathJax con menu)
discourse math zoom on click Zoom del 175% sull’interazione alt-click (solo MathJax con menu)
discourse math enable asciimath Abilita l’elaborazione asciimath con delimitatore % (solo MathJax)

:discourse2: Ospitato da noi? Questo plugin è disponibile su tutti i nostri piani di hosting Math | Discourse - Civilized Discussion

70 Mi Piace

2 messaggi sono stati spostati in un nuovo argomento: Aggiungere il supporto per la formattazione email di MathJax

2 messaggi sono stati spostati in un nuovo argomento: Can Mathjax be upgraded to Version 3?

6 messaggi sono stati spostati in un nuovo argomento: Aggiungere il supporto per blocchi e inline in stile Latex per la matematica

Un post è stato diviso in un nuovo argomento: Le equazioni non vengono visualizzate correttamente nei blocchi

Un post è stato diviso in un nuovo argomento: La matematica non viene visualizzata nell’anteprima

15 messaggi sono stati spostati in un nuovo argomento: Soluzioni alternative per matematica e IA

26 messaggi sono stati spostati in un nuovo argomento: Aggiornamento di Mathjax alla versione 4

Solo una nota rapida (positiva) dal mondo reale dopo il passaggio alla più recente integrazione di MathJax (v4.1) in Discourse Math.

Un miglioramento della qualità della vita che ho notato è che MathJax ora fornisce un feedback molto specifico e localizzato quando l’input non è valido o una macro non è definita:

  • Visualizza ancora correttamente la struttura valida circostante (ad esempio \\frac{...}{...}, parentesi, ecc.)
  • Ma lascia il comando non riconosciuto visibile letteralmente (ad esempio mostrando \\sinc come testo) anziché invalidare l’intera espressione o produrre un errore parziale confuso.

In pratica, questo rende immediatamente ovvio cosa deve essere corretto, senza oscurare ciò che è già corretto — il che è particolarmente utile nei contesti didattici e quando si iterano su post ricchi di matematica.

Ad esempio, invece di fare affidamento sul fatto che \\sinc sia definito, l’approccio robusto è scriverlo esplicitamente come operatore:

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

con:

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

Nel complesso, questo comportamento di “renderizza ciò che puoi, mostra il resto chiaramente” sembra una grande vittoria in termini di usabilità rispetto alle modalità di errore precedenti/meno trasparenti. Grazie a tutti coloro che hanno lavorato all’aggiornamento di MathJax.

3 Mi Piace

Voglio solo avvisare tutti quelli che sono arrivati qui tramite Google che questo plugin non è disponibile per il piano di hosting gratuito. :expressionless_face:

Ciao, capisco la tua frustrazione. Mi dispiace che tu la veda così. Per casi futuri, puoi dare un’occhiata alla directory dei Plugin in base al piano qui.

Il plugin Math è elencato in questa pagina come plugin per piani Pro, Business o Enterprise. Quindi si potrebbe pensare che sia disponibile anche per il piano gratuito. Non sto suggerendo che dovresti renderlo gratuito; penso solo che la cosa dovrebbe essere resa un po’ più chiara.

1 Mi Piace

Esatto. La pagina Discourse pricing | Discourse - Civilized Discussion elenca tutti i piani e i relativi limiti, inclusi i plugin, dove puoi vedere rapidamente quali plugin sono consentiti.

1 Mi Piace

Vedo un nuovo strumento, RaTeX,
scritto in Rust, 100% compatibile con 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

Potrebbe essere un’ottima alternativa.