Notation mathématique avec MathJax

math syntax



L’implémentation de notation mathématique avec MathJax, qui est un moteur d’affichage de JavaScript pour les mathématiques, fonctionne dans tous les navigateurs. kramdown supporte nativement les formules mathématiques de la syntaxe TeX/LaTeX en Markdown.

Exemples

\[f(n) = \begin{cases} \frac{n}{2}, & \text{if $n$ is even} \\[2ex] 3n+1, & \text{if $n$ is odd} \end{cases}\]


$$f(n) =
\begin{cases}
\frac{n}{2},  & \text{if $n$ is even} \\[2ex]
3n+1, & \text{if $n$ is odd}
\end{cases}$$





\[\left\{ \begin{aligned} a_1x+b_1y+c_1z &=d_1+e_1 \\ a_2x+b_2y&=d_2 \\ a_3x+b_3y+c_3z &=d_3 \end{aligned} \right.\]


$$\left\{
\begin{aligned}
a_1x+b_1y+c_1z &=d_1+e_1 \\
a_2x+b_2y&=d_2 \\
a_3x+b_3y+c_3z &=d_3
\end{aligned}
\right.$$





\[\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}\]


$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$





\[F(\omega) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} f(t) \, e^{ - i \omega t}dt\]


$$F(\omega) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} f(t) \, e^{ - i \omega t}dt$$





\[\int_0^1 f(t) \mathrm{d}t\]


\\[\int_0^1 f(t) \mathrm{d}t\\]





\[\sum_j \gamma_j^2/d_j\]


\\[\sum_j \gamma_j^2/d_j\\]





\[\begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix}\]


$$\begin{matrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{matrix}$$





\[\left[ \begin{array}{cc|c} 1&2&3\\ 4&5&6 \end{array} \right]\]


$$ \left[
    \begin{array}{cc|c}
      1&2&3\\
      4&5&6
    \end{array}
\right] $$





\[\begin{align*} & \phi(x,y) = \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right) = \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) = \\ & (x_1, \ldots, x_n) \left( \begin{array}{ccc} \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\ \vdots & \ddots & \vdots \\ \phi(e_n, e_1) & \cdots & \phi(e_n, e_n) \end{array} \right) \left( \begin{array}{c} y_1 \\ \vdots \\ y_n \end{array} \right) \end{align*}\]


$$\begin{align*}
  & \phi(x,y) = \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right)
  = \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j) = \\
  & (x_1, \ldots, x_n) \left( \begin{array}{ccc}
      \phi(e_1, e_1) & \cdots & \phi(e_1, e_n) \\
      \vdots & \ddots & \vdots \\
      \phi(e_n, e_1) & \cdots & \phi(e_n, e_n)
    \end{array} \right)
  \left( \begin{array}{c}
      y_1 \\
      \vdots \\
      y_n
    \end{array} \right)
\end{align*}$$





\[\int_0^\infty \mathrm{e}^{-x}\,\mathrm{d}x\]


$$\int_0^\infty \mathrm{e}^{-x}\,\mathrm{d}x$$

Déclarations en ligne

Vous pourrez également utiliser des déclarations en ligne. La formule \(e^{\pi i} + 1 = 0\) est produite bien dans ce texte, ainsi que \(5 + 5 = 10\) et \(\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}\).
\(x_1\) et \(\begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix}\) fonctionne également bien. Un autre exemple est \(\lim_{x \to \infty} \exp(-x) = 0\) ou \(\frac{\frac{1}{x}+\frac{1}{y}}{y-z}\) ou \(\cos (2\theta) = \cos^2 \theta - \sin^2 \theta\) ou \(\left.\frac{x^3}{3}\right\vert_0^1\) ou \(P\left(A=2\middle\vert\frac{A^2}{B}>4\right)\).

You can also make use of inline statements. The formula $$ e^{\pi i} + 1 = 0 $$ is nicely produced within this text, as well as $$ 5 + 5 = 10 $$ and  $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$.
Also $$x_1$$ and $$\begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix}$$ works well. Another example is $$\lim_{x \to \infty} \exp(-x) = 0$$ or $$\frac{\frac{1}{x}+\frac{1}{y}}{y-z}$$ or $$\cos (2\theta) = \cos^2 \theta - \sin^2 \theta$$ or $$\left.\frac{x^3}{3}\right\vert_0^1$$ or $$P\left(A=2\middle\vert\frac{A^2}{B}>4\right)$$.

Veuillez noter que le code LaTeX qui utilise la barre verticale | dans des déclarations mathématiques en ligne peuvent conduire à une ligne étant reconnue comme une ligne de tableau. Ce problème peut être évité en utilisant la commande \vert au lieu de | !

Mise en œuvre du MathJax

<!-- MathJax config -->
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    //jax: ["input/TeX", "output/HTML-CSS"],
    //jax: ["input/TeX", "output/SVG"],
    jax: ["input/TeX", "output/CommonHTML"],
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
      processEscapes: true
    },
    "HTML-CSS": {
      availableFonts: ["Neo-Euler"],
      //webFont: "Gyre-Pagella"
    },
    CommonHTML: {
      availableFonts: ["Neo-Euler"],
      webFont: "Neo-Euler"
    },
    SVG: {
      scale: 75,
      font: "Neo-Euler"
    }
  });
</script>

<!-- MathJax Library -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js"></script>

MathJax documentation

Mise en œuvre locale

Vous devez mettre l'ensemble de la structure de dossiers mathjax sur le chemin d’accès d’où MathJax.js est servi. Il peut être obtenu via npm install, git clone, bower install ou téléchargement direct.

<script type="text/javascript" src="/js/vendor/mathjax/MathJax.js"></script>

Contenu du mathjax:

162B Apr 25 10:30 .npmignore
 403B Apr 25 10:30 .travis.yml
  12K Apr 25 10:30 CONTRIBUTING.md
  11K Apr 25 10:30 LICENSE
  62K Apr 25 10:30 MathJax.js
 2.1K Apr 25 10:30 README.md
 222B Apr 25 10:30 bower.json
 483B Apr 25 10:30 composer.json
 1.2K Jun 25 22:00 config/
 170B Jun 25 22:00 docs/
 714B Jun 25 22:00 extensions/
 102B Jun 25 22:00 fonts/
 170B Jun 25 22:00 jax/
 3.1K Apr 25 10:30 latest.js
 1.5K Jun 25 22:00 localization/
 727B Apr 25 10:30 package.json
 748B Jun 25 22:00 test/
 272B Jun 25 22:00 unpacked/