전자책의 수학 조판하기

캘리버 전자책 뷰어에는 전자책(EPUB 및 HTML 파일)에 포함된 수학을 표시하는 기능이 있습니다. TeX, MathML 또는 AsciiMath를 사용하여 수학을 직접 조판할 수 있습니다. 캘리버 전자책 뷰어는 뛰어난 MathJax 라이브러리를 사용하여 이를 수행합니다. 이 튜토리얼은 수학이 포함된 전자책을 만드는 간단한 튜토리얼로, 이 튜토리얼은 캘리버 전자책 뷰어와 잘 연동됩니다.

수학이 포함된 간단한 HTML 파일

간단한 HTML 파일 안에 수학을 인라인으로 작성할 수 있으며, 캘리버 전자책 뷰어는 이를 적절하게 조판된 수학으로 렌더링합니다. 아래 예에서는 수학에 TeX 표기법을 사용합니다. 앰퍼샌드와 보다 작거나 큰 부호는 각각 & < 및 >로 적어야 하는 작은 경고와 함께 일반 TeX 명령을 사용할 수 있음을 알 수 있습니다.

첫 번째 단계는 Calibre에게 이 파일에 수학 공식이 포함될 것임을 알려주는 것입니다. 이를 위해 HTML 파일의 <head> 섹션에 다음 코드 조각을 추가합니다:

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

자, 이제 .tex 파일에서처럼 수학식을 입력할 수 있습니다. 예를 들어, 로렌츠 방정식은 다음과 같습니다:

<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>

이 토막글은 캘리버 전자책 뷰어에서 다음 스크린샷과 같습니다.

_images/lorentz.png

로렌츠 방정식

더 많은 방정식과 인라인 수학이 포함된 완전한 HTML 파일이 아래에 재현되어 있습니다. 당신은 이 HTML 파일을 EPUB로 변환하여 다른 사람에게 쉽게 배포할 수 있는 전자책을 만들 수 있습니다.

다음은 생성된 EPUB 파일입니다: 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 recognize 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>

참고

Calibre 전자책 뷰어는 MathML과 TeX를 모두 지원하지만, MathML이 제대로 표시되려면 HTML 파일에 ``<script type=”text/x-mathjax-config”></script>``줄을 반드시 포함해야 합니다.

자세한 정보

캘리버 전자책 뷰어는 MathJax 라이브러리를 사용하여 수학을 렌더링하므로 전자책에서 수학에 대해 자세히 알아보고 도움을 얻을 수 있는 가장 좋은 곳은 `MathJax 웹사이트 <https://www.mathjax.org>`_입니다.