Kindle電子書籍の原稿作成について【Markdownによる執筆】

# 概要

本記事では原稿作成について記載します。
Kindleへの出版の手順は以下の通り。

- [Amazon Kindle Direct Publishing](https://kdp.amazon.co.jp/ja_JP/)(KDP)にログインして会員登録
- 原稿を作成
- KDPに本を登録

出版はwordファイル、pdfファイルなど様々なファイル形式で行うことが出来るが、今回はepubファイルで出版しようと思います。
この時、以下の方法でepubファイルで出力できます。

- [でんでんコンバータ](https://conv.denshochan.com/)
- [pandoc](https://pandoc.org/#)

20万字以下の原稿であればでんでんコンバータを使用すると楽が出来ます。しかし、今回はそれ以上の原稿であること、書籍の体裁についても設定することを考慮してpandocを用いることとします。

# 原稿作成

## 執筆環境

執筆環境は以下の通り。
- OS：Windows
- エディタ：VScode
- コンパイラ：pandoc

VScodeのプラグインは以下のものを入れています。

- Markdown All in One
- markdownlint
- Prettier - Code formatter

pandocはscoopで導入します。scoopについての説明は他の記事で軽く説明しています（[scoop環境構築【WIndowsでのパッケージ管理】](https://qiita.com/StrayDog/items/69fb347cec6a003c0ff4)）。

## 執筆

以下のようなフォルダ構成としています。章立てごとにmdファイルを作成し、docフォルダに入れる形をとっています。画像も必要があればフォルダ分けすることを念頭に置いています。

```
\PANDOC_TEMP
│  book.epub // コンパイル済みファイル
│  build.bat //コンパイル用バッチファイル
│  cover.png // 表紙画像
│  metadata.xml //書籍情報用xmlファイル
│  github.css //体裁用cssファイル
│
└─doc //原稿用フォルダ
    │  text.md //原稿ファイル。doc直下に複数入れる
    │
    └─build
            build.md //原稿ファイルを一つのファイルにまとめたもの。バッチファイルを実行させると出力
```

書籍の体裁は以下のスタイルシートを使用されて頂いています。

github.css：[https://gist.github.com/andyferra/2554919](https://gist.github.com/andyferra/2554919)

書籍情報は以下の通り。詳細は以下のURLに情報があります。基本的にはここに記載している内容だけでいいかもしれません。

Dublin Core™ Metadata Element Set, Version 1.1: Reference Description：[https://www.dublincore.org/specifications/dublin-core/dces/](https://www.dublincore.org/specifications/dublin-core/dces/)

```xml:metadata.xml
<dc:title>title</dc:title>
<dc:creator>dc:creator</dc:creator>
<dc:description>description</dc:description>
<dc:date>date</dc:date>
<dc:publisher>dc:publisher</dc:publisher>
<dc:rights>rights</dc:rights>
<dc:language>ja-JP</dc:language>
```

## 原稿をEPUBファイルに変換

参考にある「[Kindleで技術書の電子書籍を公開するまで](https://qiita.com/lucidfrontier45/items/f52cbf9532445ec8e760)」の記事を参考にします。基本デフォルトで十分なものは記述していません。バッチファイルにして使用します。

```sh:build.bat
cat ./doc/*.md > ./doc/build/all.md # ここでファイル分けした原稿をまとめている
pandoc -f markdown -t epub3 \ # 入出力のフォーマットの指定
         --epub-stylesheet=github.css \ # スタイルの指定。
         --epub-metadata=metadata.xml \ # 書籍情報の設定。詳細は参考を確認
         --epub-cover-image=./cover.png \ # 表紙 
         --toc --toc-depth=2 \ # 目次の自動生成
         -o book.epub all.md # 出力ファイル名を設定
```

## 原稿を確認

原稿の確認は[Kindle Previewer](https://kdp.amazon.co.jp/ja_JP/help/topic/G202131170)を使用します。出力されたepubファイルを開くと体裁などを確認できます。微修正については、「[Kindleで技術書の電子書籍を公開するまで](https://qiita.com/lucidfrontier45/items/f52cbf9532445ec8e760#%E6%9C%80%E5%BE%8C%E3%81%AE%E5%BE%AE%E4%BF%AE%E6%AD%A3)」が参考になります。

# 参考

- これを読めばKDPセレクトの全てがわかる！登録前に確認しておこう！：[https://manemichi.com/kindle-kdpselect](https://manemichi.com/kindle-kdpselect)
- Markdown + でんでんコンバーターでお手軽に電子書籍を書く：[https://qiita.com/sta/items/ba5c5067e74fa01a7329](https://qiita.com/sta/items/ba5c5067e74fa01a7329)
- Kindleで技術書の電子書籍を公開するまで：[https://qiita.com/lucidfrontier45/items/f52cbf9532445ec8e760](https://qiita.com/lucidfrontier45/items/f52cbf9532445ec8e760)
- noteで長文書いたら電子書籍化してみよう【KDP個人出版】：[https://note.com/mkt66gs/n/n9cb51f5f2ec8](https://note.com/mkt66gs/n/n9cb51f5f2ec8)
- Pandoc ユーザーズガイド 日本語版：[http://sky-y.github.io/site-pandoc-jp/users-guide/](http://sky-y.github.io/site-pandoc-jp/users-guide/)
- Pandocでmarkdownからメタ情報や表紙画像を入れたepubを作成する：[https://daipresents.com/2013/pandoc-cover-metadata/](https://daipresents.com/2013/pandoc-cover-metadata/)