Compositions mathématiques dans des livres numériques

La Visionneuse de livre numérique calibre a la capacité d’afficher les mathématiques intégrées dans les livres numériques (fichiers EPUB et HTML). Vous pouvez composer directement les mathématiques avec TeX, MathML ou AsciiMath. La visionneuse de calibre utilise l’excellente librairie MathJax pour faire cela. Ceci est un bref tutoriel sur la création de livres numériques contenant des mathématiques qui fonctionnent bien avec la Visionneuse de livre numérique calibre.

Un simple fichier HTML avec des mathématiques

Vous pouvez écrire des mathématiques en ligne à l’intérieur d’un fichier HTML simple et la Visionneuse de livre numérique de calibre rendra des mathématiques correctement composées. Dans l’exemple ci-dessous, nous employons la notation de Tex pour les mathématiques. Vous verrez que vous pouvez employer des commandes normales de Tex, avec la petite mise en garde que les esperluettes et les signes moins grand que et plus grand que doivent être écrits respectivement comme & < et > .

La première étape est de dire à calibre que ceci contiendra des mathématiques. Vous faites cela en ajoutant l’extrait de code suivant à la section <head> du HTML:

<script type="text/x-mathjax-config"></script>

C’est tout, maintenant vous pouvez entrer des mathématiques comme vous le feriez dans un fichier .tex. Par exemple, voici les équations de Lorentz:

<h2>The Lorenz Equations</h2>

<p>
\begin{align}
\dot{x} &amp; = \sigma(y-x) \\
\dot{y} &amp; = \rho x - y - xz \\
\dot{z} &amp; = -\beta z + xy
\end{align}
</p>

Cet extrait ressemble à la capture d’écran suivante dans la Visionneuse de livre numérique calibre.

_images/lorentz.png

Les Équations de Lorenz

Le fichier HTML complet, avec plus d’équations et de mathématiques intégrées est reproduit ci-dessous. Vous pouvez convertir ce fichier HTML en EPUB dans calibre pour obtenir un livre numérique que vous pouvez distribuer facilement à d’autres personnes.

Ici se trouve le fichier EPUB généré : mathjax.epub.

<!DOCTYPE html>
<html>
<!-- Copyright (c) 2012 Design Science, Inc. -->
<head>
<title>Math Test Page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<!-- This script tag is needed to make calibre's ebook-viewer recpgnize that this file needs math typesetting -->
<script type="text/x-mathjax-config">
    // This line adds numbers to all equations automatically, unless explicitly suppressed.
    MathJax.tex = {tags: 'all'};
</script>

<style>
h1 {text-align:center}
h2 {
  font-weight: bold;
  background-color: #DDDDDD;
  padding: .2em .5em;
  margin-top: 1.5em;
  border-top: 3px solid #666666;
  border-bottom: 2px solid #999999;
}
</style>
</head>
<body>

<h1>Sample Equations</h1>

<h2>The Lorenz Equations</h2>

<p>
\begin{align}
\dot{x} &amp; = \sigma(y-x) \label{lorenz}\\
\dot{y} &amp; = \rho x - y - xz \\
\dot{z} &amp; = -\beta z + xy
\end{align}
</p>

<h2>The Cauchy-Schwarz Inequality</h2>

<p>\[
\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} \leq
 \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
\]</p>

<h2>A Cross Product Formula</h2>

<p>\[
  \mathbf{V}_1 \times \mathbf{V}_2 =
   \begin{vmatrix}
    \mathbf{i} &amp; \mathbf{j} &amp; \mathbf{k} \\
    \frac{\partial X}{\partial u} &amp; \frac{\partial Y}{\partial u} &amp; 0 \\
    \frac{\partial X}{\partial v} &amp; \frac{\partial Y}{\partial v} &amp; 0 \\
   \end{vmatrix}
\]</p>

<h2>The probability of getting \(k\) heads when flipping \(n\) coins is:</h2>

<p>\[P(E) = {n \choose k} p^k (1-p)^{ n-k} \]</p>

<h2>An Identity of Ramanujan</h2>

<p>\[
   \frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 \pi}} =
     1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
      {1+\frac{e^{-8\pi}} {1+\ldots} } } }
\]</p>

<h2>A Rogers-Ramanujan Identity</h2>

<p>\[
  1 +  \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
    \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
     \quad\quad \text{for $|q|&lt;1$}.
\]</p>

<h2>Maxwell's Equations</h2>

<p>
\begin{align}
  \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} &amp; = \frac{4\pi}{c}\vec{\mathbf{j}} \\
  \nabla \cdot \vec{\mathbf{E}} &amp; = 4 \pi \rho \\
  \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} &amp; = \vec{\mathbf{0}} \\
  \nabla \cdot \vec{\mathbf{B}} &amp; = 0
\end{align}
</p>

<h2>Inline Mathematics</h2>

<p>While display equations look good for a page of samples, the
ability to mix math and text in a paragraph is also important.  This
expression \(\sqrt{3x-1}+(1+x)^2\) is an example of an inline equation.  As
you see, equations can be used this way as well, without unduly
disturbing the spacing between lines.</p>

<h2>References to equations</h2>

<p>Here is a reference to the Lorenz Equations (\ref{lorenz}). Clicking on the equation number will take you back to the equation.</p>

</body>
</html>

Note

La visionneuse de livres numériques de calibre prend en charge MathML ainsi que TeX, mais vous devez inclure la ligne <script type="text/x-mathjax-config"></script> dans votre fichier HTML, sinon le MathML ne s’affichera pas.

Plus d’information

Depuis que la Visionneuse de livre numérique calibre utilise la librairie MathJax pour afficher les mathématiques, le meilleur endroit pour en savoir plus à propos des mathématiques dans les livres numériques et obtenir de l’aide est le site web de MathJax.