Extension:Math/advancedSettings
L’extension Math fournit un support pour le rendu des formules mathématiques sur le wiki via Mathoid et d’autres moteurs. Un aperçu de ce qui peut actuellement être fait avec cette extension se trouve dans la documentation de la Wikipedia anglophone.
Configuration
Rendu côté serveur avec Mathoid
À partir de MW 1.23+ vous pouvez utiliser un serveur Mathoid qui utilise MathJax pour convertir l’entrée texvc côté serveur en rendu MathML+SVG. Mathoid est le mode de rendu qui va être utilisé sur la future Wikipédia. Pour cela, les paramètres suivants sont recommandés :
// assurez-vous que 'mathml'; est ajouté au tableau $wgMathValidModes
$wgMathValidModes[] = 'mathml';
// déclarer Mathoid comme option de rendu par défaut
$wgDefaultUserOptions['math'] = 'mathml';
Consultez Mathoid pour voir les instructions concernant l'exécution de votre propre serveur Mathoid. Après avoir activé le mode de rendu MathML, vous devez exécuter à nouveau le script de mise à jour de la base de données pour créer la table requise.
Rendu côté serveur avec LaTeXML
Une option pratique pour rendre LaTeX est d’utiliser le service web LaTeXML. Ce service convertit LaTeX en MathML de haute qualité.
- Paramètres (MW 1.22) la plupart ou la totalité des paramètres 1.23+ fonctionnent également
// autoriser LaTeXML comme option de rendu
$wgUseLaTeXML = true; // ceci est devenu un paramètre non utilisé vers la 1.23
- Paramètres (MW 1.23+)
$wgMathValidModes[] = 'latexml'; // ajouter LaTeXML comme option de rendu
// définir LaTeXML comme option de rendu par défaut;
$wgDefaultUserOptions['math'] = 'latexml';
// indiquer le chemin de votre instance LaTeXML qui convertit les commandes \TeX en MathML (optionnel)
$wgLaTeXMLUrl = 'http://example.com/';
Un petit guide pour installer LaTeXML sur votre propre serveur peut être trouvé sur : Installer LaTeXML
Après avoir activé le mode de rendu LaTeXML, vous devez exécuter à nouveau le script de mise à jour de la base de données pour créer la table requise.
Notes historiques
Texvc a servi comme option pour le rendu avant la version 1.32. Il est maintenant complètement remplacé par Mathoid, mais le sous-ensemble de AMS-LaTeX qu'il supporte reste la base de cette extension.
Liste de tous les paramètres de configuration
The following variables can be defined in LocalSettings.php
after calling:
require_once "$IP/extensions/Math/Math.php";
Nom du paramètre | Valeur par défaut | Description |
---|---|---|
$wgUseTeX | true
|
Rétrocompatibilité globale; ne fait plus rien. |
$wgTexvc | dirname( __FILE__ ) . '/math/texvc'
|
Emplacement du binaire texvc ('Supprimé' en MW 1.32 en raison de la disparition de texvc.) |
$wgTexvcBackgroundColor | 'transparent'
|
Couleur de fond Texvc; utiliser le format de couleur LaTeX comme utilisé dans la fonction \special . Pour un fond transparent, utilisez la valeur 'Transparent' pour la transparence alpha, ou 'transparent' pour la transparence binaire. ('Supprimé' en MW 1.32 en raison de la disparition de texvc.) |
$wgMathCheckFiles | true
|
Normalement, lors de la génération d’images mathématiques, nous vérifions que les répertoires pour lesquels nous voulons écrire existent, et que les fichiers qui ont été générés existent toujours lorsque nous devons les fournir.
Cela nous permet de donner des messages d’erreur utiles en cas de problèmes d’autorisation, et de reconstruire automatiquement les images qui ont été perdues. Sur un grand site avec un trafic NFS important, cela peut être lent et floconneux, donc parfois nous voulons le court-circuiter en mettant cela à |
$wgMathPath | false
|
URL du chemin du répertoire mathématique. Par défaut à "{$wgUploadPath }/math". |
$wgMathDirectory | false
|
Chemin du système de fichiers du répertoire math. Par défaut à "{$wgUploadDirectory }/math". |
$wgUseMathJax | false
|
Active MathJax comme option de rendu. |
$wgMathJaxUrl | '$IP/extensions/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
|
L’url vers MathJax si elle n’utilise pas l’analyseur par défaut à http://cdn.mathjax.org/. |
$wgMathValidModes | [ 'png', 'source', 'mathml' ]
|
Définit le mode autorisé sur le serveur. |
$wgMathMathMLUrl | 'https://mathoid-beta.wmflabs.org'
|
L’url du serveur mathoid. |
$wgMathMathMLTimeout | 20
|
Délai d’attente pour la requête HTTP envoyée à MathML pour faire le rendu d'une équation, en secondes. |
$wgMathLaTeXMLUrl | 'https://latexml.formulasearchengine.com/convert'
|
Utilisation de LaTeXML.
Si vous voulez ou devez exécuter votre propre serveur, suivez ces instructions d’installation et surchargez Si vous prévoyez un traffic important, vous pouvez spécifier plusieurs serveurs. Dans ce cas, un serveur est choisi aléatoirement pour chaque processus de rendu. Spécifiez la liste des serveurs dans un tableau, par exemple :
|
$wgMathLaTeXMLTimeout | 240
|
Délai d’exécution de la requête HTTP envoyée à LaTeXML pour faire le rendu d'une équation, en secondes. |
$wgMathDefaultLaTeXMLSetting | [
'format' => 'xhtml',
'whatsin' => 'math',
'whatsout' => 'math',
'pmml',
'cmml',
'mathtex',
'nodefaultresources',
'preload' => [
'LaTeX.pool',
'article.cls',
'amsmath.sty',
'amsthm.sty',
'amstext.sty',
'amssymb.sty',
'eucal.sty',
'[dvipsnames]xcolor.sty',
'url.sty',
'hyperref.sty',
'[ids]latexml.sty',
'texvc'
],
'linelength': 90
}
|
Réglage pour le rendu LaTeXML pour plus de détails. |
$wgMathDisableTexFilter | 'new'
|
Option pour désactiver le filtre 'tex' . S'il vaut true toute expression LaTeX est analysée, ce qui peut être un risque de sécurité potentiel. S'il vaut false , seul un sous-ensemble de commandes TeX est autorisé. Voir Afficher une formule pour plus de détails.
|
$wgMathEnableExperimentalInputFormats | false
|
Active la prise en charge des formats d’entrée expérimentaux MathML et AsciiMath |
Rendu alternatif
CSS pour le rendu visuel de MathML
Par défaut, MathML est uniquement exposé aux outils d’accessibilité. Cependant, vous pouvez forcer le rendu visuel avec les Feuilles de style MediaWiki :
.mwe-math-mathml-a11y {
clip: auto !important;
overflow: visible !important;
position: static !important;
width: auto !important;
height: auto !important;
opacity: 1 !important;
}
.mwe-math-fallback-image-inline,
.mwe-math-fallback-image-display {
display: none !important;
}
Vous pouvez alors facilement changer le style des formules MathML par exemple pour définir la police mathématique ː
.mw-body, mtext {
font-family: Latin Modern Roman;
}
math {
font-family: Latin Modern Math;
}
.mw-body,
est ajouté pour obtenir la même apparence de police pour tout le texte de l’article. Si vous ne voulez pas changer votre police principale, laissez ceci tel quel. N’oubliez pas de supprimer la virgule, aussi !
Rendu via des scripts utilisateur
Il est également possible d'utiliser d'autres générateurs de rendu côté client, selon les commentaires de phab:T99369. Aucune de ces options ne doit être actuellement déployée sur tous les utilisateurs; elle sont juste là pour faire avancer les parties annexes du pipeline actuel à titre d'expérimentation.
- script JS pour MathJax côté client, interprétant directement le code mathématique : phab:T99369#1482730.
- script JS pour MathJax côté client, interprétant MathML : phab:T99369#1484437.
- JS script pour KaTeX côté client, interprétant soit le code TeX intégré dans MathML, soit le code TeX brut text mode : phab:T99369#1484437.
CSS pour fond sombre
L’extension rend toujours les formules en texte noir par défaut, ce qui peut rebuter les utilisateurs et les wikis s'exécutant avec une couleur de fond sombre. Un auteur d'habillage peut ajouter le code suivant pour inverser la brillance des images des formules à l’aide des filtres CSS :
.mwe-math-fallback-image-inline,
.mwe-math-fallback-image-display {
filter: hue-rotate(180deg) invert(1);
}