mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-03 11:07:02 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. _typesetting_math:
 | 
						|
 | 
						|
 | 
						|
Typesetting Math in e-books
 | 
						|
============================
 | 
						|
 | 
						|
The calibre E-book viewer has the ability to display math embedded in e-books
 | 
						|
(EPUB and HTML files). You can typeset the math directly with TeX or MathML or
 | 
						|
AsciiMath. The calibre E-book viewer uses the excellent `MathJax
 | 
						|
<https://www.mathjax.org>`_ library to do this. This is a brief tutorial on
 | 
						|
creating e-books with math in them that work well with the calibre E-book viewer.
 | 
						|
 | 
						|
 | 
						|
A simple HTML file with mathematics
 | 
						|
-------------------------------------
 | 
						|
 | 
						|
You can write mathematics inline inside a simple HTML file and the calibre E-book viewer
 | 
						|
will render it into properly typeset mathematics. In the example below, we use
 | 
						|
TeX notation for mathematics. You will see that you can use normal TeX
 | 
						|
commands, with the small caveat that ampersands and less than and greater than
 | 
						|
signs have to be written as & < and > respectively.
 | 
						|
 | 
						|
The first step is to tell calibre that this will contains maths. You do this by
 | 
						|
adding the following snippet of code to the <head> section of the HTML file::
 | 
						|
 | 
						|
    <script type="text/x-mathjax-config"></script>
 | 
						|
 | 
						|
That's it, now you can type mathematics just as you would in a .tex file. For
 | 
						|
example, here are Lorentz's equations::
 | 
						|
 | 
						|
    <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>
 | 
						|
 | 
						|
This snippet looks like the following screen shot in the calibre E-book viewer.
 | 
						|
 | 
						|
.. figure:: images/lorentz.png
 | 
						|
    :align: center
 | 
						|
 | 
						|
    :guilabel:`The Lorenz Equations`
 | 
						|
 | 
						|
The complete HTML file, with more equations and inline mathematics is
 | 
						|
reproduced below. You can convert this HTML file to EPUB in calibre to end up
 | 
						|
with an e-book you can distribute easily to other people.
 | 
						|
 | 
						|
.. only:: online
 | 
						|
 | 
						|
    Here is the generated EPUB file: `mathjax.epub <_static/mathjax.epub>`_.
 | 
						|
 | 
						|
.. literalinclude:: mathjax.html
 | 
						|
    :language: html
 | 
						|
 | 
						|
More information
 | 
						|
-----------------
 | 
						|
 | 
						|
Since the calibre E-book viewer uses the MathJax library to render mathematics, the best
 | 
						|
place to find out more about math in e-books and get help is the `MathJax
 | 
						|
website <https://www.mathjax.org>`_.
 | 
						|
 |