Wiskunde typesetten in e-boeken¶
De calibre e-boek viewer kan wiskunde tonen ingebed in e-boeken (EPUB en HTML bestanden). U kan de wiskunde direct typesetten met TeX or MathML or AsciiMath.De calibre e-boek viewer gebruikt de uitstekende MathJax bibliotheek om dit te doen. Dit is een korte tutorial over het creëren van e-boeken met wiskunde erin die goed werken met de calibre e-boek viewer.
Een simpel HTML bestand met wiskunde¶
U kan wiskunde inline schrijven in een eenvoudig HTML bestand en de calibre e-boek viewer zal het in correct gezette wiskunde weergeven. In het voorbeeld onder gebruiken we TeX-notatie voor wiskunde. U zal zien dat u normale TeX opdrachten kan gebruiken, met het kleine voorbehoud dat en-teken en, minder dan en groter dan tekens moeten worden geschreven als & < en > respectievelijk.
De eerste stap is calibre te vertellen dat dit wiskunde zal bevatten. U doet dit door het volgende stukje code aan de <head> sectie van het HTML bestand toe te voegen:
<script type="text/x-mathjax-config"></script>
Super, nu kunt u wiskunde typen net zoals u in een .tex file zou doen. Bijvoorbeeld, hier zijn Lorentz’s vergelijkingen:
<h2>The Lorenz Equations</h2>
<p>
\begin{align}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{align}
</p>
Dit stukje code ziet eruit als de volgende schermafdruk in de calibre e-boek viewer.
Het volledige HTML bestand, met meer vergelijkingen en in-line wiskunde is onder weergegeven. U kan dit HTML bestand in calibre naar EPUB converteren om een e-boek te maken dat u gemakkelijk naar andere mensen kan verspreiden.
Hier is het gegenereerde EPUB bestand: 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} & = \sigma(y-x) \label{lorenz}\\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\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} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 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|<1$}.
\]</p>
<h2>Maxwell's Equations</h2>
<p>
\begin{align}
\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
\nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} & = 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>
Notitie
The calibre E-book viewer supports MathML as well as TeX, but you must
include the <script type="text/x-mathjax-config"></script>
line in
your HTML file otherwise the MathML will not render.
Meer informatie¶
Daar de calibre e-boek viewer de MathJax bibliotheek gebruikt om wiskunde weer te geven, is de beste plaats om hulp en meer te vinden over wiskunde in e-boeken de MathJax webstek <https://www.mathjax.org>`_.