Extension:Math/advancedSettings

This page is a translated version of the page Extension:Math/advancedSettings and the translation is 100% complete.

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

Les variables suivantes peuvent être définies dans LocalSettings.php après avoir appelé require_once "$IP/extensions/Math/Math.php";:

Sur les pages individuelles pour ces paramètres, il est dit obsolète dans 1.18, puisque cette extension a été séparée du noyau Mediawiki dans cette version. Si vous avez installé l’extension, ces paramètres s’appliquent indépendamment
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 à false.

$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 $wgMathLaTeXMLUrl : [1]

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 : $wgMathLaTeXMLUrl = [ 'http://latexml.example.com/convert', 'http://latexml2.example.com/convert' ];

$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);
}
La rotation de la teinte maintient les teintes à peu près constantes, de sorte que les couleurs restent un peu utiles. Cette solution est loin d'être finalisée. Voir la tâche associée ainsi que les autres tickets attachés pour d'autres informations.