0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Sphinxで電子書籍を作成するための、最低限の設定

Last updated at Posted at 2022-09-24

概要

ドキュメントジェネレーターのSphinxに興味を持って試しているときに、電子書籍のフォーマットの1つである、EPUBの作成が案外簡単に行えることがわかりました。

Kindleの出版に使えるかもしれないと思い、確認してみました。

EPUBに関する設定

バージョンの記載をした方が良い

conf.pyに以下の設定を行います。

version = '1.0'

HTMLのビルド(make html)では指定していなくても警告されませんが、EPUBのビルド(make epub)では警告されます。

EPUBのビルドでversionを指定せずともEPUBのファイルは作成できますが、「WARNING: EPUB3出力では設定値 "version" が必要です」と表示されます。

HTMLページは_build\htmlにあります。
Sphinx v5.0.2 を実行中
翻訳カタログをロードしています [ja]... 完了
保存された環境データを読み込み中... 完了
WARNING: EPUB3出力では設定値 "version" が必要です
ビルド中 [mo]: 更新された 0 件のpoファイル
ビルド中 [epub]: 更新された 0 件のソースファイル
環境データを更新中0 件追加, 0 件更新, 0 件削除
更新されたファイルを探しています... 見つかりませんでした
更新が必要な対象はありませんでした
ビルド 成功, 1 warning.

EPUBだけ索引のページを非表示にする

Sphinxでは各ページにindexディレクティブを記述することで、索引を作成できます。

ただ、indexディレクティブを記述していなくても、ドキュメントの最後に索引のページが作成されます。indexディレクティブを1つも書いていない場合は、空の索引ページが作成されます。

EPUBで索引ページを作成しないようにするには、conf.pyに以下の設定を行います。

epub_use_index = False

デフォルトでは、HTMLの索引に関する設定であるhtml_use_indexがTrueとなっているため、EPUBも索引が作成されますが、HTMLとは別にEPUBだけ索引を作成しないことが可能です。

EPUBとしてのドキュメントを作成する上で実施したほうが良いことについて

書籍の目次を作成する

目次は、index.rstにtoctreeディレクティブを使ってファイルを構成すればOKです。

各ファイルで見出しを付けて文章を構成し、toctreeディレクティブを使えば、それでもう目次が出来上がります。

index.rst
================================
SphinxでEPUB出版を行う
================================

.. toctree::
   :maxdepth: 2
   :caption: もくじ:

   contents/intro
   contents/sphinx
   contents/epub

上記の設定では、toctreeのオプションとして以下を設定しています。

  • maxdepth
    • 目次として表示する階層は第2階層まで
  • caption
    • 目次のページの見出しを「もくじ」とする

すべての見出しを目次に表示すると、目次が煩雑に見えてしまうことになりがちなので、maxdepthで表示する階層を絞っておいた方が良いと考えています。

まとめ

Sphinxでは、簡単な設定で電子書籍用のフォーマットであるEPUBが作成できることがわかりました。

Sphinxでは、reStructuredText(reST)で文章を記述することで、文章と文章に対する装飾をきっちり分けておくことが可能です。HTMLやMarkdownなど、見出しや段落、リストなどの文章構成要素を意識して文章を書くことに慣れている人にとっては、SphinxでEPUBが簡単に作成できることはメリットだと思われます。

Sphinxの標準であるreSTに馴染めるかどうか、という問題はありますが(SphinxでもMarkdownで記述する方法はありますが、筆者はまだ試していません)、reSTに馴染める・既に馴染んているのであれば、Sphinxは電子書籍を作成するのに有力なツールと言えそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?