Extension:Math
Math État de la version : stable |
|
---|---|
Implémentation | Balise |
Description | Permet d'afficher des formules mathématiques |
Auteur(s) |
|
Dernière version | continuous updates |
Politique de compatibilité | Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière. |
MediaWiki | >= 1.43 |
Modifie la base de données |
Oui |
Tables | math mathoid mathlatexml |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
|
|
<math> |
|
Téléchargements trimestriels | 131 (Ranked 40th) |
Utilisé par les wikis publics | 7,934 (Ranked 18th) |
Traduire l’extension Math sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension Math fournit une gestion pour l'affichage de formules mathématiques. Un tour d'horizon de ce qui peut actuellement être fait avec cette extension est disponible dans Affichage d'une formule.
D'autres informations sur la manière d'installer et de configurer cette extension, y compris pour des versions plus anciennes, peuvent être trouvées sur Extension:Math/advancedSettings .
See an overview of what can currently be done with this extension at Extension:Math/Syntax.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
Math
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Math - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'Math' );
- Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
- Pour voir les formules mathématiques au-delà d'une sortie en texte brut, suivez les instructions ci-dessous pour activer divers modes d'affichage mathématiques.
- Si vous avez des problèmes pour représenter les formules en utilisant RESTBase, essayez le correctif suivant
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Installation Vagrant :
- Si vous utilisez Vagrant , installez avec
vagrant roles enable math --provision
Vous devriez également aller à la page Special:MathStatus pour voir si tous les composants de l’extension Math fonctionnent maintenant. Pour tout problème que vous voyez, le mieux est de créer une tâche sur https://phabricator.wikimedia.org
Malheureusement, il n'y a pas de guide bien testé sur l'installation de Mathoid et RESTBase pour fonctionner avec l'extension Math, mais il existe au moins une préversion de travail. Extension:Math/RESTBase auquel vous pouvez contribuer.
De plus le Guide pour installer et configurer Mediawiki avec RESTBase et Mathoid en MW1.28 est disponible.
Utilisation
Une fois installé, vous pouvez utiliser des formules avec la syntaxe TeX à l'intérieur de balises <math>
. Par exemple :
<math>E=mc^2</math>
donne :
Afficher les formules mathématiques
Le type de sortie dépend du logiciel que vous utilisez pour lire la page. Dans la mesure du possible, l'extension Math essaie de produire un affichage MathML. Sinon, elle génère les images au format SVG (en convertissant les caractères en éléments de chemins <path>) ou en PNG. La prise en charge des formules mathématiques de base fonctionne avec tous les navigateurs. Mais, pour de meilleurs résultats, vous devrez peut être modifier vos paramètres :
- Pour les navigateurs Firefox et ceux à base de Gecko, installer l'extension Native MathML ainsi que les polices mathématiques.
Le support pour l'accessibilité est fourni par les lecteurs d'écran NVDA, VoiceOver et Orca. NVDA nécessite le greffon MathPlayer pour lire les formules mathématiques. - Pour les navigateurs Safari et les autres navigateurs de type WebKit, vous pouvez aussi installer les polices mathématiques et activer le rendu MathML natif en insérant quelques règles CSS dans la feuille de style personnalisée des préférences de votre navigateur.
Le support d'accessibilité est fourni par le lecteur d'écran VoiceOver. Quant à Orca, il ne le fait pas encore. - Pour Chrome vous devez insérer des règles CSS dans la feuille de style personnelle de votre navigateur pour avoir le support d'accessibilité avec le lecteur d'écran ChromeVox ou l'affichage visuel avec le greffon MathJax.
Paramètres de configuration
Nom de paramètre | Valeur par défaut | Description |
---|---|---|
$wgMathValidModes | [ 'source', 'mathml' ]
|
Définit le mode autorisé sur le serveur. |
$wgMathDisableTexFilter | 'never'
|
Option pour désactiver le filtre Tex. Si défini à true toute expression LaTeX est analysée, cela peut être un risque de sécurité potentiel. Si défini à false , seul un sous-ensemble des commandes TeX est autorisé. Voir la page wikipedia Help:Math pour plus de détails. Utilisez 'always' pour désactiver cette fonctionnalité.
|
$wgMathFullRestbaseURL | false | L’extension Math récupère la configuration par défaut à partir de l’éditeur visuel, si disponible. Détails. |
$wgMathPreferRestbaseURL | true | Indique s'il faut autoriser l'utilisation du chemin interne de RESTBase au lieu de $wgMathFullRestbaseURL et $wgVisualEditorFullRestbaseURL. Mettre à false si vous souhaitez toujours utiliser le RESTBase externe.
|
Modes de sortie de Math
Le paramètre $wgMathValidModes contient un tableau avec le nom des modes de sortie pouvant être utilisé pour le rendu. Si plusieurs modes sont activés, les utilisateurs connectés peuvent définir une préférence personnelle dans le volet d'apparence de leur page de préférences utilisateur.
Vous pouvez également utiliser le paramètre $wgDefaultUserOptions pour définir lequel de ces modes doit être la valeur par défaut, par exemple :
$wgDefaultUserOptions['math'] = 'mathml';
Mathoid
Mode : 'mathml'
Vous pouvez utiliser Mathoid, une application qui utilise MathJax côté serveur pour convertir l'entrée texvc en rendu MathML+SVG. C'est l'option la plus recommandée ; Mathoid est le mode de rendu utilisé sur Wikipedia.
Mathoid en tant que service
Mathoid en tant que service est l'approche recommandée pour l'extension Math et celle définie par défaut. Si vous n'ajoutez aucun paramètre supplémentaire dans LocalSettings.php, Math va utiliser Mathoid et les services RESTBase des clusters bêta pour générer le rendu de toutes les formules mathématiques. Les paramètres par défaut sont :
// Définir MathML comme option de rendu par défaut
$wgDefaultUserOptions['math'] = 'mathml';
$wgMathUseInternalRestbasePath = false;
$wgMathFullRestbaseURL = 'https://wikimedia.org/api/rest_';
$wgMathMathMLUrl = 'https://mathoid-beta.wmflabs.org';
Vous pouvez modifier ces paramètres pour utiliser les différents services Mathoid et RESTBase, et éventuellement inclure ceux qui vous sont propres.
Interface CLI de Mathoid
Vous pouvez à la place exécuter Mathoid comme un utilitaire en ligne de commande sur le serveur local. Pour utiliser cette approche, les paramètres suivants sont recommandés :
// Définir MathML comme option de rendu par défaut
$wgDefaultUserOptions['math'] = 'mathml';
// Veuillez créer préalablement un fichier ''config.yaml''. Les modèles se trouvent dans le dépôt Mathoid.
$wgMathoidCli = ['/path/to/mathoid/cli.js', '-c', '/path/to/mathoid/config.yaml'];
// Augmentez la limite mémoire de MediaWiki à 1.2G pour mathoid.
$wgMaxShellMemory = 1228800;
Mathoid cli '/path/to/mathoid/cli.js' is not executable
dans les traces, vous pouvez exécuter ceci pour vous assurer que le serveur Apache autorise la modification des limites du système :
setsebool -P httpd_execmem 1 setsebool -P httpd_setrlimit 1
LaTeX
Version de MediaWiki : | ≤ 1.39 |
Mode : 'png'
Depuis MediaWiki 1.32, ce mode nécessite également un serveur Mathoid pour fonctionner. Dans les anciennes versions, il faut installer texvc et texvccheck, ce qui peut représenter le plus gros du travail de configuration.
LaTeXML
Mode : 'latexml'
Servez-vous de l'utilitaire LaTeXML. Le rendu se fait via un service en ligne (défini avec $wgLaTeXMLUrl, qui a pour valeur par défaut https://latexml.formulasearchengine.com/convert).
MathML natif
Version de MediaWiki : | ≥ 1.40 |
Mode : 'native'
Ce mode permet de générer du MathML depuis LaTeX via PHP sans Mathoid. À noter que ce mode n'a pas d'images de repli, les formules ne s'afficheront donc correctement que si le navigateur prend en charge le langage MathML. Firefox et Safari ont pris en charge MathML tôt (1006 et 2008), mais la prise en charge des navigateurs basés sur Chromium est beaucoup plus récente (Chrome 109, publié en 2023).
MathJax
Version de MediaWiki : | ≥ 1.42 |
Mode : 'mathjax'
Ce mode fonctionne de la même manière que le mode MathML natif (générant MathML depuis LaTeX via PHP), mais utilisera MathJax 3 le rendu MathML. Par conséquent, il fonctionnera aussi pour les navigateurs qui ne supportent pas MathML, avec le coût de chargement de la bibliothèque MathJax (compris dans l'extension Math) sur les pages vues.
Pas de rendu
Mode : 'source'
Ce mode va transférer l’entrée Latex sans rendu, en la présentant dans un élément <span>
, entouré de $ :formula $.
Assurez-vous de définir $wgMathDisableTexFilter à 'always' (voir ci-dessous) si vous ne voulez que la formule de latex brut, sinon une erreur apparaîtra en raison de l’échec de la vérification pour les représentations PNG.
Suivi des catégories
L'extension crée un nombre de catégories de suivi pour détecter les erreurs et les fonctionnalités obsolètes.
Their message keys begin with math-
.
Les administrateurs d'un wiki peuvent modifier le nom des catégories de suivi en modifiant la valeur du message dans l'espace de noms MediaWiki de ce wiki.
Special:TrackingCategories shows each tracking category's name, message key, and description.
Page MediaWiki | Par défaut | Description |
---|---|---|
MediaWiki:Math-tracking-category-error | Category:Pages with math errors | Pages où il y a une erreur de syntaxe dans la formule causant l’échec du rendu |
MediaWiki:Math-tracking-category-render-error | Category:Pages with math render errors | Pages où il y a eu une erreur temporaire dans le pipeline causant l’échec du rendu. Celles-ci se corrigent normalement elles-mêmes |
MediaWiki:Math-tracking-category-texvc-deprecation | Category:Pages that use a deprecated format of the math tags | Pages qui utilisent la syntaxe obsolète texvc telle que $ % \and \or \part \ang \C \H \bold \Bbb\ \pagecolor , devant être respectivement remplacée par la forme LaTex plus standard \$ \% \land \lor \partial \angle \Complex \mathbb{H} \mathbf \mathbb (removed) . Voir Extension:Math/Roadmap .
|
MediaWiki:Math-tracking-category-mhchem-deprecation | Category:Pages that use a deprecated format of the chem tags |
Marquage chimique obsolète, voir Extension:Math/Roadmap#Step 1 Part C : Manual fixing of mhchem syntax. |
Trucs et astuces
- Vous pouvez utiliser le greffon Firefox MathML copy pour copier des formules vers d’autres applications telles que Microsoft Word (video), ou Google docs avec le greffon g(Math) (video)
- Vous pouvez remplacer le mode de rendu préféré utilisateur et celui par défaut en ajoutant l'attribut
forcemathmode
à l'élément<math>
par exemple pour forcer le rendu d'une image<math forcemathmode="png">...</math>
. - Toutes les images de la formule rendue sont stockées dans un cache et ne sont pas systématiquement recréées quand la page est consultée ou modifiée. Pour forcer la regénération du rendu de toutes les formules d'une page, purgez-la en utilisant l'action
?action=purge&mathpurge=true
. Par exemple, l'URL https://en.wikipedia.org/w/index.php?title=Integral&action=purge&mathpurge=true forcera le nouveau rendu de l'article w:Integral. Ensuite, vous devez masquer l'utilisation du cache de votre navigateur afin que les nouvelles images créées des formules soient téléchargées à nouveau.
Rapporter les erreurs
Si quelque chose ne va pas avec l'extension Math vous pouvez le signaler sur Phabricator. De plus, vous devez vérifier comment votre problème est lié aux tests unitaires automatisés générés à partir de la page CoverageTest.
Lectures complémentaires
Voir Extension:Math/advancedSettings pour les anciennes versions et plus d'informations.
Sous-pages
- Math/Announcement
- Math/CoverageTest
- Math/CustomizationHook
- Math/Displaystyle
- Math/Hooks/MathAfterTexvc
- Math/Hooks/MathFormulaPostRender
- Math/Hooks/MathFormulaRendered
- Math/Hooks/MathRenderingResultRetrieved
- Math/Inputtypes
- Math/MathJaxMenu
- Math/MathJax testing
- Math/Native MathML/Reported Cases
- Math/Native MathML rollout (2024)
- Math/Popups
- Math/RESTBase
- Math/Roadmap
- Math/Syntax
- Math/T140217
- Math/T167569
- Math/T1835557
- Math/T183559
- Math/T218295
- Math/T247697
- Math/T305613
- Math/T317065
- Math/T32215
- Math/T325625
- Math/T334842
- Math/T350004
- Math/T350737
- Math/T363081
- Math/T366983
- Math/T375241
- Math/T375244
- Math/T375317
- Math/T86450
- Math/T87007
- Math/TeX-header
- Math/Torture Test
- Math/Unique Ids
- Math/Url2Image
- Math/Wikibooks-20160516
- Math/additionalAnnotationTypes
- Math/advancedSettings
- Math/annotation.js
- Math/bug/35189
- Math/bug/38641
- Math/bug/48032
- Math/bug/49210
- Math/bug/54818
- Math/bug/69554
- Math/bug/75285
- Math/chemrm
- Math/math table
- Math/mathlatexml table
- Math/mathoid table
- Math/modifyMenu.js
- Math/newFeatures
Voir aussi
- Extension:Math/Roadmap
- Mathoid
- Extension:SimpleMathJax - un moyen alternatif de fournir un support pour le rendu de formules mathématiques sur wiki, sans texvc ou LaTeX
- Alternative De Texvc PHP
- Manual:Enable TeX/problems
- Manuel:Math
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |