見出し画像

JupyterファイルをMarkdown経由でEPUBに変換!簡単な手順とCSSカスタマイズ 〜pandocでの簡単出版〜

I. はじめに

最近、個人の方がAmazon Kindleで出版してUnlimited配信をしているのが目に付く印象があります。Markdownで内容を作成し、Pandocを使って簡単にEPUB形式に変換できたら、私も簡単に出版できるのではないかと妄想しています(笑)。また、CSSを使ってデザインをカスタマイズすることができるので、見た目をCSSで制御すると私的にはレイアウトに力を注がなくて良いのでありがたいです。

この記事では、VScode上で作製したJupyter Notebook(.ipynbファイル・マークダウンでメモをしています)をMarkdownに変換し、それをPandocでEPUBにする手順を解説します。Mac環境でPandocを使ってEPUBを生成し、CSSでデザインをカスタマイズする方法も紹介します。

II. 準備

1.Pandocのインストール(Mac環境)

まず、Pandocをインストールしましょう。Macでは、Homebrewを使うと簡単にPandocをインストールできます。

Homebrewをまだインストールしていない場合は、以下のコマンドをターミナルで実行してHomebrewをインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Pandocをインストールするには、ターミナル上で以下のコマンドを実行します。

brew install pandoc

2.変換用のCSSを用意する

EPUBの表示スタイルをカスタマイズするために、CSSファイルを用意します。たとえば、次のようなCSSファイル(epub.css)を作成しておくと、背景色や文字サイズ、見出しのスタイルなどを自由に設定できます。(今回はepub.cssというファイル名でmdファイルと同じ階層に保存しました)

body {
font-family: "Georgia", serif;
line-height: 1.5;
font-size: 1.2em;
}
h3 {
background-color: #f0f0f0;
border-left: 5px solid #007ACC;
padding: 0.5em;
border-radius: 5px;
}
code {
font-family: "Courier New", monospace;
background-color: #1e1e1e;
color: #dcdcdc;
padding: 0.2em 0.4em;
border-radius: 4px;
white-space: pre-wrap;
display: block;
overflow-x: auto;
}

III. Jupyterファイル(.ipynb)をMarkdownに変換

Jupyter Notebookで作成したノートブック(.ipynbファイル)をMarkdown形式に変換します。これには、Visual Studio Code (VS Code) の拡張機能「Jupyter To Markdown」を使います。

手順:

1. VS CodeでJupyter To Markdownプラグインをインストール

まず、VS Codeを開き、拡張機能(Extensions)で「Jupyter To Markdown」を検索し、インストールします。

2. Jupyterファイル(.ipynb)の保存を忘れない

変換する前に、最新の状態でファイルを保存しましょう。
(実行済みのjupyterのコードは自動保存になっていることが多いので、保存することを意識することがあまりないのですが、ここでは明示的に保存しておきます。)

3. コンテクストメニューからMarkdownに変換

Jupyterファイル(.ipynb)を右クリックし、コンテクストメニューから一番下にある「Convert To Markdown」の変換オプションを選びます。これで、Markdown形式のファイル(.md)が作成されます。

JupyterのPythonコード(.ipynb)からマークダウン形式(.md)が作られる

IV. ターミナルでMarkdown形式(.md)をEPUB形式(.epub)に変換

次に、Pandocを使ってMarkdownファイルをEPUB形式に変換します。CSSも適用できるので、カスタマイズしたスタイルを反映させることができます。

ターミナルアプリを立ち上げて、ファイルの保存されているフォルダに移動(cdコマンド)してから、以下の命令を実行します。

コマンド例:

pandoc 1_DICOM読み込み・表示.md -o book.epub --toc --epub-chapter-level=2 --css=epub.css

• ファイル名:
-「1_DICOM読み込み・表示.md」が変換するマークダウン形式の文書です(変な名前で申し訳ありませんw)。
-「book.epub」が変換後のファイル名です(自由に決めてください)。
• --toc:目次を自動生成します。
• --epub-chapter-level=2:見出しレベル2までを章として扱います。
• --css=epub.css:作成したCSSを適用します(予め決めておいたCSSファイルを指定します)。

これで、MarkdownファイルがEPUBファイルに変換され、スタイルも適用されます。

ここでは、book.epubファイルが作製された。

V. EPUB形式はMac標準の「ブックアプリ」で開ける

作成したEPUBファイルは、Mac標準の「ブック」アプリで簡単に開くことができます。以下のような設定が可能です:

表示サイズの調整:フォントの大きさや行間をアプリ内で自由に変更可能。
背景の変更:白、黒、セピアなどの背景色を選べます。

macOS標準の「ブック」アプリで作製したepubファイルを開いたところ

VI. まとめ

PandocとCSSを組み合わせて、Jupyterファイルから簡単にEPUBを生成し、Kindle出版などにも対応できる形式に整える方法を紹介しました。Markdown形式での入力はシンプルで使いやすく、CSSを使うことでepub出版のスタイルを自由にカスタマイズできる点も魅力です。これで個人Kindle出版社の第一歩を踏み出せるのかもw。

いいなと思ったら応援しよう!