Jump to content

Erweiterung:SimpleMathJax

From mediawiki.org
This page is a translated version of the page Extension:SimpleMathJax and the translation is 35% complete.
MediaWiki-Erweiterungen
SimpleMathJax
Freigabestatus: stabil
Einbindung Tag
Beschreibung Allows to render mathematical formulas using MathJax with MediaWiki math style
Autor(en) jmnote, vedmaka, jamesmontalvo3, badshah400
Letzte Version 0.8.4 (2023-11-04)
MediaWiki 1.29+[1]
Datenbankänderungen Nein
Lizenz MIT-Lizenz
Herunterladen
README
Beispiel zetawiki.com

  • $wgSmjUseCdn
  • $wgSmjUseChem
  • $wgSmjDisplayMath
  • $wgSmjExtraInlineMath
  • $wgSmjScale
  • $wgSmjEnableMenu
  • $wgSmjDisplayAlign
  • $wgSmjWrapDisplaystyle
Public wikis using 909 (Ranked 270th)

The SimpleMathJax extension enables MathJax, a JavaScript library, for typesetting TeX formula in MediaWiki inside math environments. This extension will load resources from cdn.jsdelivr.net on all wiki pages that have math or chem tags.

<math>E=mc^2</math>
Advantages
  • Simple
  • Lightweight
  • UTF-8 Support
  • Mobile View OK
  • Setting Font Size
  • chem tag support for chemistry
  • additional inlineMath symbols pairs support
  • MediaWiki Style! Look at the samples.

Installation

Or you can git clone.

$ git clone --depth 1 https://github.com/jmnote/SimpleMathJax.git

If you want to use local MathJax scripts (and not a CDN), then you can use git clone recursive. In most cases, CDN is much faster than your server. However, a CDN may not be available if you have a hardened PHP installation due to disabled_functions restrictions.

$ git clone --depth 1 --recursive --shallow-submodules https://github.com/jmnote/SimpleMathJax.git

SimpleMathJax is meant to be used as an alternative to the Math extension. If the Math extension is installed it may take precedence and cause SimpleMathJax to not work. The SimpleMathJax extension is the only thing you need to start rendering equations.


Konfigurationseinstellungen

The following variables can be defined in LocalSettings.php after calling wfLoadExtension( 'SimpleMathJax' );. Note that for a simple site adding $wgSmjScale = 1.1; might be all you need to make it Just Work™.

Version Name der Einstellung Standardwert Beschreibung
0.7.0+ $wgSmjUseCdn true Using CDN or Local resource
0.7.0+ $wgSmjUseChem true enable ‎<chem> tags
( defaults to use chem tags )
0.8.0+ $wgSmjEnableMenu true Make MathJax context menu available
This setting is missed since 0.8.0; it would be a mistake
0.8.0+ $wgSmjExtraInlineMath [] can add some additional inlineMath symbols pairs
0.8.1+ $wgSmjScale 1 The default font size for SimpleMathJax
0.7.4 $wgSmjShowMathMenu false (entfernt)
(ersetzt von $wgSmjEnableMenu)
0.6.1 $wgSmjSize 110 (entfernt)
(ersetzt von $wgSmjScale)
0.6.1 $wgSmjInlineMath [] (entfernt)
(ersetzt von $wgSmjExtraInlineMath)
0.6.1 $wgSmjDisableChem false (entfernt)
(ersetzt von $wgSmjUseChem)
0.6.1 $wgSmjScripts ['//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML',
'//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/extensions/TeX/mhchem.js']
(entfernt)
(ersetzt von $wgSmjUseCDN)
can use local or another remote scripts
( defaults to use cloudflare CDN )
0.6 $wgSimpleMathJaxSize 125 (entfernt)
(ersetzt von $wgSmjSize)
0.6 $wgSimpleMathJaxUseCDN true (entfernt)
(ersetzt von $wgSmjScripts)
0.6 $wgSimpleMathInlineMath [] (entfernt)
(ersetzt von $wgSmjInlineMath)

If you want to change font size, set $wgSmjScale like below.

wfLoadExtension( 'SimpleMathJax' );
$wgSmjScale = 1.5;

If you want to enable some additional inlineMath symbol pairs, set $wgSmjExtraInlineMath like below.

wfLoadExtension( 'SimpleMathJax' );
$wgSmjExtraInlineMath = [ [ "$", "$" ], [ "\\(", "\\)" ] ];

If you want to use local module, set $wgSmjUseCdn like below.

wfLoadExtension( 'SimpleMathJax' );
$wgSmjUseCdn = false;

SimpleMathJax and Live Preview (versions < 0.8.0)

Prior to version 0.8.0, the following had to be added to MediaWiki:Common.js in order to have the Live Preview in the editor show rendered math output instead of raw LaTeX source code:

function waitForMathJax($content) {
  if (typeof MathJax === 'undefined') {
    setTimeout(function () { waitForMathJax($content); }, 1000);
  } else {
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, $content[0]]).execute();
  }
}

mw.hook('wikipage.content').add(waitForMathJax);

Samples

Comparison

:

More examples

:

Siehe auch

  1. SimpleMathJax 0.8.0+ uses manifest_version 2. Handbuch:extenstion.json/Schema