Fuzoku実践入門ブログ

Amazon で発売中の『Fuzoku実践入門』の執筆に関するエピソードなどを紹介するブログです。

Atomエディタ用のRe:VIEWパッケージ

Fuzoku実践入門では、はじめての電子書籍執筆を支えたソフトウェアで説明した通り、Atomエディタを初めてメインに利用して執筆を行なったのですが、その際、できればシンタックスハイライトを行なってくれるモードのサポートが欲しいと思いました。

無ければ自分で作る

Re:VIEW Wikiを見ると、Atom向けのモードはないようなので、無ければ自分で作ろうと思い、執筆の休憩がてら、初めてのAtomパッケージ作成を平行して行ないました。

その時に作ったパッケージがこちらです。

実は既にあった

執筆も終ったので、こちらのパッケージも公開しようと思ってAtomのパッケージに登録しようとしたところ、エラーが出て登録できません。おかしいな?と思い、調べてみたところ、どうやら既に language-review というパッケージが存在していたのです。

これはしまったと思ったのですが、既に公開されているパッケージのコードを見ると、テストが少ないことと、純粋なシンタックスハイライトだけではなくプレビュー機能なども備えていることから、構文のテストがあり、単純なシンタックスハイライトを提供するパッケージとして、コードとしての価値があるかなと思い、language-review-simpleという名前で公開することにしました。

language-review-simple

language-review-simpleの表示

language-review-simple では、TDDの原則に従い、テストファーストで作成しました。まず、specを書き、次にgrammerを書く、といった形です。

Atom のパケージを作ったことも、CoffeeScriptのspecを書いたことも初めてだったのですが、執筆のよい息抜きになって楽しかったです。

まだ、完全に Re:VIEWの構文をサポートしているわけではないので、暇を見つけて完成させたいと思います。

KDPによるKindle電子書籍出版の方法(2014年11月版)

KDP

KDPトップページ

Fuzoku実践入門』を電子出版するにあたり、どのプラットフォームから出版するのが良いか検討したのですが、最終的に Amazon Kindle向けのKindle ダイレクト・パブリッシング(以下、KDP)を利用することにしました。

本記事では、電子出版プラットフォームの現状から、KDPで出版するまでのフローを解説したいと思います。

検討したプラットフォーム

2014年現在、私が検討した電子出版のプラットフォームは下記になります。

結果的には、KDPを選択したのですが、その理由は2つあります。

  1. iBooks達人出版会はレギュレーションにひっかかりそう
  2. KDP セレクトが魅力的だった

1 については、結局試していないので実際のところは分からないのですが、2を選択することによって、他のプラットフォームという選択肢が消えることになります。

KDP セレクトとは

KDP セレクトとは、ひとことで説明すると、『ロイヤリティ(いわゆる印税)が70%になることと引き換えに、電子書籍をKDPで独占販売する契約』です。

詳しくは、KDPの利用規約及び、KDP セレクトに関してよくある質問をご参照下さい。なお、KDP セレクトについては、いずれ詳しく書こうと思っています。

KDPによる出版

さて、今回はKDPのみで出版を行なうことにしたため、KDPによる電子書籍の出版方法についてのみ、解説していきます。

1. KDP にサインインして、個人情報を入力

KDPにサインインすると、出版前に個人情報(名前や銀行口座情報など)の登録が必要となりますので、これを入力していきます。

登録方法については、Amazon の Kindle ストアでの電子出版に関するヘルプ:アカウント情報の入力に詳しく説明があります。

2. 本の登録

個人情報の入力が完了したら、次はいよいよ書籍の登録です。

新しいタイトルを追加

Amazon の Kindle ストアでの電子出版に関するヘルプ:本を出版する はじめにの説明の通り、「新しいタイトルを追加」のボタンを押して書籍の情報を入力していきます。

注意する点としては、『ローマ字』という項目は、Amazon USなどのページで利用される名前なので、ローマ字というよりも英語と考えて入力した方が良いでしょう。

また、うっかり前のページへ戻ってしまうと、入力内容が消えてしまいますので、『ドラフトとして保存』を活用しましょう。

書籍のアップロード

上のスクリーンショットは、表紙のアップロードが終わり、いよいよ本のアップードを行なっている途中です。

完了すると、アップロードした書籍のプレビューが出来るようになります。

プレビュー

3. 価格の登録

本の登録が完了したら、次は価格の登録になります。

価格の登録

KDP セレクトを利用すると、70%のロイヤリティが選択できるようになりますが、販売価格を250円から1,250円の間で設定するように決められています(USDの場合は、2.99ドルから9.99ドルの間)。詳しくは、希望小売価格の要件に書かれていますので、気になる方はご参照下さい。

Fuzoku実践入門の価格設定

また、標準ではAmazon.comの価格(USD)を入力すると、自動的に他の地域の価格も算出されるようになっていますが、日本円で890円という価格に設定したかったため、Amazon.co.jpの項目で『US価格に基づいて自動的に価格を設定』のチェックを外して、直接価格を設定しました。

価格の登録は以上になります。

4. あとは発売開始を待つだけ

レビュー中

本と価格の登録が済めば、後はAmazonによる審査と販売開始を待つだけになり、次のステップで進んでいき、販売可能になるとメールで知らせてくれます。

  1. レビュー中
  2. 出版準備中
  3. 販売中

出版準備中

私の場合、土曜日の18時頃に登録完了したのですが、夜の22時頃には『販売中』になりましたが、実際には20時くらいには、Amazonにページが用意されていました。

販売中

EX. 書籍情報の変更

販売開始後に、書籍情報を変更すると、ステータスが『販売中・変更事項の出版準備中』になります。

情報の変更

ここから、再び『販売中』に戻るまでは約6時間ほどかかりました。

なお、ステータスが『販売中』もしくは販売前の『下書き』の2つ以外のステータス時は、書籍情報の変更はできないようになっているので、変更は慎重に行ないましょう。

まとめ

KDPによる出版方法は以上となります。

実際に利用してみると、サポートドキュメントがしっかりと用意されていることと、ステップも短かいため、特に迷うことなく簡単に出版することができました。

また、販売が開始されると、レポートを見ることができるようになり、毎日楽しく眺めています。

自分の書いた書籍を簡単にインターネットで販売することができる電子出版は、今後より短かなものになっていく可能性がありますので、興味のある方はぜひ1度試してみるとよいでしょう。

Rakeを利用した電子書籍ビルドの自動化

はじめての電子書籍執筆を支えたソフトウェアで紹介した通り、 Re:VIEWkindlegenmd2reviewを導入することで、Markdownで執筆を行ないながら、コマンドを実行するだけで、MarkdownファイルからEPUB, PDF, MOBI(以下、これらを総称して電子書籍ファイルと呼びます)を生成することが可能となりました。

ゲラの執筆段階では、たまに電子書籍ファイルを生成するだけですが、校正段階に入ると、表示確認のために頻繁に電子書籍ファイルを生成するようになりました。

MarkdownファイルからEPUB, MOBI, PDFを生成するために必要なコマンドは次のようになります。

$ md2review d2review chapter1.md > ./chapter1.re # .md を .re に変換
$ review-epubmaker config.yml                    # EPUB作成
$ kindlegen book.epub                            # MOBI作成
$ review-pdfmaker config.yml                     # PDF作成

これらを随時実行するのは、なかなか手間です。そこで、RubyのビルドツールであるRakeを利用するのが鉄板のようです。

好みがあるため、Rakefileの書き方は人それぞれあるのですが、ここでは、私が実際に利用したRakefileを紹介します。

Fuzoku実践入門で利用したRakefile

執筆と平行して必要に応じて改良をほどこしていたのですが、現時点での最終形は以下になっています。

なお、Re:VIEWやmd2reviewなどのGemはbundle installを使ってインストールしているため、それぞれのコマンド実行にはbundle execが付いています。

require 'rake'

desc 'create all books (.epub, .pdf, .mobi)'
task all: [:epub, :pdf, :mobi]

desc 'create .epub'
task :epub do
  sh 'bundle exec review-epubmaker config.yml'
end

desc 'create .pdf'
task :pdf do
  sh 'rm -rf *pdf'
  sh 'bundle exec review-pdfmaker config.yml'
end

desc 'create .mobi'
task :mobi do
  sh 'rm -f *.mobi'
  sh 'kindlegen learning-fuzoku-sample.epub || true'
end

desc 'send to kindle'
task :send_to_kindle do
  sh 'bundle exec kindlemail -f learning-fuzoku-sample.mobi'
end

desc 'convert ./src/*.md to ./*.re'
task :md2review do
  Dir.glob('./src/*.md') do |md|
    re = File.basename(md).sub(/\.md$/, '.re')
    sh "bundle exec md2review #{md} > ./#{re}"
  end
end

desc 'clean working files'
task :clean do
  sh 'rm -rf learning-fuzoku-sample-*'
  sh 'rm -f *.epub'
  sh 'rm -f *.pdf'
  sh 'rm -f *.mobi'
end

task default: :all

rake -T で表示されるタスクは次の通りです。

rake all             # create all books (.epub, .pdf, .mobi)
rake clean           # clean working files
rake epub            # create .epub
rake md2review       # convert ./src/*.md to ./*.re
rake mobi            # create .mobi
rake pdf             # create .pdf
rake send_to_kindle  # send to kindle

タスクの説明

それでは、これらのタスクの説明をしていきます。

MarkdownをRe:VEIW形式に変換する:rake md2review

ゲラを執筆するMarkdownファイルは、./src/chapter1.md のような形で、srcディレクトリ以下に保存しています。

rake md2reviewは、srcディレクトリの中にある .md ファイルを全て .re に変換して、トップディレクトリに配置してくれます。

電子書籍ファイルを作成する:rake epub, rake mobi, rake pdf, そして rake all

rake epub, rake mobi, rake pdfは、それぞれEPUB, MOBI, PDFを生成するコマンドを実行してくれます。

MOBI は EPUBから変換しているため、EPUBファイルがなければエラーになります。そこで、もしEPUBがない状態でMOBIを作成したい場合は、rake epub mobiと実行します。

rake allは、EPUB, MOBI, PDFの電子書籍ファイルを一気に生成してくれるコマンドです。処理速度が気にならない場合は、これを実行するのが一番楽で、私はこれを多用していました。

作業ファイルを削除する:rake clean

電子書籍ファイルを生成すると、次のようなファイルやディレクトリが作成されます。

  • /book-yyyymmdd-foo-bar
  • /book-epub
  • /book-pdf
  • book.epub
  • book.pdf
  • book.mobi

これらを自動的に削除してくれるのがrake cleanです。

Kindle へ送信する:rake send_to_kindle

kidlemailを使ってコマンドラインからKindleへファイルを送るで紹介した機能をRakeから実行できるようにしています。

これにより、EPUBを作成してKindleへ送るという作業が、rake epub send_to_kindleというコマンドだけで自動的に完了できます。

まとめ

というわけで、本記事では、私が実際に執筆で利用したRakefileを紹介してみました。

この記事で紹介したRakefile及び、該当するリポジトリは、GitHubで公開していますので、興味がある方はご欄下さい。

なお、EPUBを生成と同時に開きたい場合、MacであればopenコマンドにEPUBファイル指定してあげると開くことができるので、私はまれに次のようなコマンドも使っていました。

$ rake epub && open learning-fuzoku-sample.epub

頻繁に利用する方は、こちらもrakeコマンド化しておくのも良いかもしれません。

"第1章 自分にあったジャンルを選ぼう"より転載

風俗には様々なジャンルがあり、それぞれサービス内容が異なっています。どのジャンルであっても、安くないお金を払って時間を買うわけですから、最初のデビューで躓くと心に相当なダメージを負ってしまいます。

何事も事前にしっかりとリサーチをすることで、失敗確率を下げるとことができますが、風俗に関しては怪しい情報が乱立しているため、なかなか役に立つ情報を得るのが難しい現状があります。

そこで本書では、風俗デビュー前の悩みを踏まえつつ、本当に必要な情報をまとめて解説することで、みなさんが安全にデビューできるよう手助けしていきます。

詳しい解説については、第3章以降で扱っていきますが、本章を読めば、おおよそ代表的な風俗ジャンルがどのようなサービスであり、どうやって利用するのか正しく理解できるようになっています。

続きを読む

kidlemailを使ってコマンドラインからKindleへファイルを送る

Kindle向けの電子書籍を執筆していると、度々Kindleによる実機確認をしたいものです。Kindleによる実機確認は、MOBIファイルをKindleに転送するだけで、パーソナルドキュメントとして、すぐに閲覧できます。そして、転送方法は次の2種類が用意されています。

  • Send to Kindle(主にメールの添付ファイルで送付)
  • USB接続

この2つの中だと、私としては、ケーブルを接続しなくて済むSend to Kindleをよく利用していたのですが、段々、何度もメールを送信するのが億劫になってきてため、これを効率よく行なえる方法がないか調べたところ、便利な方法が見つかったので、紹介したいと思います。

コマンドラインCLI)で使える kindlemail

最初、コマンドラインでメールを送信するスクリプトを作成しようと考えていたのですが、よく調べたところ、kindlemailという何とも目的にマッチしていそうなRuby Gemを発見したので、これを導入することにしました。

kindlemailの導入

それでは早速、kindlemailの導入方法を解説していきます。

kindlemailのインストール

kindlemailはGemパッケージとして提供されているため、gem install kindlemailを実行するだけでインストールできます。

$ gem install kindlemail
Fetching: thread_safe-0.3.4.gem (100%)
Successfully installed thread_safe-0.3.4
Fetching: minitest-5.4.2.gem (100%)
Successfully installed minitest-5.4.2
(中略)
Done installing documentation for activesupport, gmail-mailer, gmail_xoauth, i18n, kindlemail, mail, mime-types, minitest, oauth, polyglot, thread_safe, treetop, trollop, tzinfo after 40 seconds
14 gems installed

GmailのOAuthトークンを作成する

サードパーティのソフトウェアからGmailを利用してメールを送信する場合、OAuthトークンを取得する必要があります。

kindlemailのREADMEには、google-mail-xoauth-toolsというpythonスクリプトを利用する方法が紹介されていますので、これを利用してみたいと思います。

google-mail-xoauth-toolsYou can download xoauth.pyのリンクからダウンロードして、ターミナルからxoauth.pyを実行します。--user引数には、あなたのメールアドレスを指定しましょう。

$ python xoauth.py --generate_oauth_token --user=learning.adult.entertainment@gmail.com
oauth_token_secret: xxxxxxxxxxxxxxxxxxxxxxxx
oauth_token: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
oauth_callback_confirmed: true
To authorize token, visit this url and follow the directions to generate a verification code:
  https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Enter verification code: ここに確認コードを入力

すると、To authorize token, visit this url and follow the directions to generate a verification code:という行が出力されますので、1度ターミナルでの作業を中断して、次の行に表示されているURL(https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyの部分)を開きます。

Google OAuth認証承認ページ

--user引数のメールアドレスに間違えがなく、あなたのGoogleアカウントに正しくログインされていれば、上記のページが表示されますので『アクセスを許可』のボタンを押して、アプリケーションを承認します。

無事に承認が完了すると、確認コード(zzzzzzzzzzzzzzzzzzzzzzzzの部分)が表示されます。

Googleアカウント確認コードページ

確認コードをコピーして、再びターミナルに戻りEnter verification code:の後ろに貼り付けて、エンターを実行します。

問題なく確認コードが入力されていれば、次のようにoauth_tokeとoauth_toke_secretが表示されます。

Enter verification code: zzzzzzzzzzzzzzzzzzzzzzzz
oauth_token: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
oauth_token_secret: bbbbbbbbbbbbbbbbbbbbbbbb

こちらのトークンは次のkindlemailのセットアップで利用するので、無くさないようにしましょう。

kindlemailのセットアップ

GmailのOAuthトークンを取得できたら、次はkindlemailのセットアップに移ります。こちらも全てターミナルでの作業になります。

まずは、kindlemail --setupコマンドを実行します。すると、まずはSend-to-Kindle Eメールアドレスの入力を求められますので、入力してエンターを実行します。

$ kindlemail --setup
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

-------------------------------------------------------------------------------
kindlemail setup
This will overwrite any settings you have set previously
-------------------------------------------------------------------------------
Kindle address to set as your default address> ここにSend-to-Kindleのアドレスを入力

Send-to-Kindle Eメールアドレスを入力すると、続いてはOAuthトークンと秘密トークン、そしてあなたのメールアドレス(パーソナル・ドキュメントの承認済みEメールアドレス)を入力して、それぞれエンターを実行しましょう。

Kindle address to set as your default address> Send-to-Kindleのアドレス


Setting up kindle credentials...Complete!

-------------------------------------------------------------------------------
Gmail Authentication Settings
To get a valid anonymous token, use the instructions located here
http://code.google.com/p/google-mail-xoauth-tools/wiki/XoauthDotPyRunThrough
-------------------------------------------------------------------------------
OAUTH Token> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
OAUTH Token Secret> bbbbbbbbbbbbbbbbbbbbbbbb
Your gmail address> learning.adult.entartainment@gmail.com
Setting up email credentials...Complete!


kindlemail setup complete

kindlemail setup completeというテキストが表示されれば、セットアップ完了となるのですが、1点、このセットアップにはバグが存在するため、手動で修正する必要があります。

kindlemailの設定修正

早速、kindlemailを実行すると、次のようなエラーが表示されます。

$ kindlemail learning-fuzoku-sample.mobi
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

Error occured: -
Error parsing /Users/akinomurasame/.kindlemail/.email_conf

kindlemail --setupの設定は、~/.kindlemail/ディレクトリ内にYAMLファイルとして保存されているのですが、~/.kindlemail/.email_confファイルに書かれている、最後に入力したあなたのメールアドレスのラベルの後ろのコロンが抜けているため、これを修正する必要があります。

# 修正前
email learning.adult.entartainment@gmail.com # ← emailの後ろのコロンが抜けている

# 修正後
email: learning.adult.entartainment@gmail.com # ← セミコロンを入力して保存

こちらは、PRが出ているのですが、まだ取り込まれていないようです。

さて、これでkindlemailの導入は完了が完了しました。

kindlemailを利用する

kindlemailの利用はとても簡単です。kinldemailコマンドに送りたいファイルを与えてあげるだけ、Kindleにファイルを送信してくれます。

$ kindlemail learning-fuzoku-sample.mobi
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

Preparing learning-fuzoku-sample.mobi to be sent to learning.adult.entartainment@gmail.com
Adding attachment: /Users/akinomurasame/.kindlemail/.staging/b4474884a324c80933f265e6a0c9e123_988325.mobi (2584.3994 kb)
Sending message....sent!
learning-fuzoku-sample.mobi was successfully sent to Send-to-Kindleのアドレス

なお、kindlemailは送信したファイルを管理してくれています。

$ kindlemail --show-history
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

*** History of files sent using kindlemail (use the -d option to clear the history) ***

Send-to-Kindleのアドレス
----------------------------------------------------------------------------------------------------
 => learning-fuzoku-sample.mobi was sent on Thu 06 Nov 15:04:37
----------------------------------------------------------------------------------------------------

このため、1度送信したものと同じ名前のファイルを送ろうとすると、エラーになります。そこで、同じ名前のファイルを送る場合は、--forceオプションを利用します。

$ kindlemail learning-fuzoku-sample.mobi
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

This file was sent to Send-to-Kindleのアドレス on 2014-11-06 15:04:37 +0900
This file has already been sent to Send-to-Kindleのアドレス. Use the --force (-f) option if you want to resend it

(--forceオプションがないと失敗する)


$ kindlemail learning-fuzoku-sample.mobi -f
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

Preparing learning-fuzoku-sample.mobi to be sent to Send-to-Kindleのアドレス
Adding attachment: /Users/akinomurasame/.kindlemail/.staging/b4474884a324c80933f265e6a0c9e123_124893.mobi (2584.3994 kb)
Sending message....sent!
learning-fuzoku-sample.mobi was successfully sent to Send-to-Kindleのアドレス

(--forceオプションを付けると無事に送信されます)


$ kindlemail --show-history
kindlemail 0.2.8. Written by djhworld. https://github.com/djhworld/kindlemail

*** History of files sent using kindlemail (use the -d option to clear the history) ***

Send-to-Kindleのアドレス
----------------------------------------------------------------------------------------------------
 => learning-fuzoku-sample.mobi was sent on Thu 06 Nov 15:12:21
----------------------------------------------------------------------------------------------------

(履歴が書き変わります)

まとめ

kindlemailを導入することで、コマンドラインから簡単にKindleへファイルを送ることができるようになり、実機確認がとても容易に行なえるようになりました。

私は、校正段階ではrakeコマンドを使って、Re:VIEWとkindlegenによってMOBIをビルドするのと同時に、kindleにファイルを送って、移動時間を使って実機確認を行なっていました。

こういったノウハウについても、引き続き紹介していきたいと思いますので、どうぞ宜しくお願いします。

"はじめに"より転載

『風俗を利用してみたいけれど、怖くて利用できない』

そう考えている人は数多くいるのではないでしょうか。もちろん、筆者もその一人でした。

これは、例えば『海外旅行をしてみたいけれど危険そう』という感覚に似ています。言ってみれば、未知なるものへの当然の恐怖なのです。しかし、頻繁に海外旅行をしている人であれば、おそらくこう言うでしょう。

『正しい知識があれば、ぜんぜん怖くないよ』と。

さて、正しい知識というのは、どこで得られるのでしょうか? 一般的に、それは書籍やWebサイトで得ることができます。

しかし、海外旅行であれば、地球の歩き方など、非常に優れた書籍がたくさん存在していますが、風俗にそのようなものはあるのでしょうか。

そう考えてみると、風俗では広告主体の風俗誌や、怪しいWebサイトはあれど、風俗デビュー前の人が、正しい知識を得るのに適した書籍やサイトは存在していないことに気付きました。

これはとても残念な話です。

そこで、筆者がもしデビューする前に知っていれば良かったと考える、正しい知識を身につけてもらうため、最新情報や実体験に基き、法律や各種風俗ジャンルについて、出来る限り分かりやすく解説した、風俗デビューの教科書とも言える本書を書くに至りました。

本当に欲しい知識が得られて、一切の不信感や心配を持たずに風俗を利用できるようになるための情報がここにまとめられていますが、きっと、多くの人がこういう本を待ち望んでいたはずです。

ぜひ、本書を参考にして、正しい知識を身につけ、風俗に対する誤解を払拭し、ひとりでも多くの人がデビューすることを願っています。

2014年10月 新宿歌舞伎町にて

はじめての電子書籍執筆を支えたソフトウェア

今回、Fuzoku実践入門を執筆するにあたり、本格的な電子書籍執筆環境を整えたわけですが、本記事では、環境構築に使用したソフトウェアを紹介していきます。

最終的なフォーマットは EPUB か MOBI

忘れてはならないのが、最終的な電子書籍フォーマットについてです。

2014年現在、まだまだ様々な電子書籍フォーマットが存在しますが、最もよく利用されているのは、iBooksで採用されているEPUBと、Kindleで採用されているMOBI(KF8)になっています。このため、最終的には、これらのファイルを作成することが目的となります。

ただ、原稿が完成した後、フォーマットを調整するのは一苦労ですし、複数のフォーマットを扱うことは、校正ミスの温床となってしまいます。

そこで、執筆前の準備段階で調査したところ、Re:VIEWというフォーマット(兼ツール)が利用実績も豊富で、各種フォーマット変換にも融通が利きそうだということで、Re:VIEWを利用する前提で、執筆環境を整えていくことにしました。

Markdown で執筆したい

いきなり、Re:VIEWフォーマットで執筆することも考えたのですが、執筆前にRe:VIEWフォーマットの文法(いわゆるタグ)の学習コストはばかにならないため、執筆初期(いわゆるゲラ)の段階では、余計なタグを意識せずに執筆できるMarkdownを採用したいと考えました。

そこで、調べてみたところ、md2previewというMarkdownフォーマットをRe:VIEWフォーマットに変換してくれるツールを見つけました。

これで一旦、ゲラの完成まではMarkdownで執筆し、校正段階でRe:VIEWで編集を行なうという方針で原稿の執筆が出来るようになりました。

各種フォーマット変換ツール

md2reviewとRe:VIEWを利用してMarkdownフォーマット(.mdファイル)からRe:VIEWフォーマット(.reファイル)の変換が可能となりましたが、Re:VIEWは、EPUBやPDFへの変換機能を備えていますので、これを利用することでiBooksやPDFによるプレビューが可能となります。

PDF版のFuzoku実践入門プレビュー

EPUB版のFuzoku実践入門プレビュー

さて、Amazon Kindleの場合はどうかと言うと、Amazonのサポートページには、以下のような説明があります。

Kindle ダイレクト・パブリッシング (KDP) では、さまざまな形式のファイルをアップロードして変換することができます。変換結果が安定しているDOC (.docx/.doc) 形式または PRC (.prc) 形式のコンテンツをアップロードすることをお勧めします。KDP で本を出版する前に、アップロード可能なファイル形式に関する以下の説明をご確認ください。

サポートされているファイル形式は、次のとおりです。

Word (DOC または DOCX) ※ 現在、Word の縦書きやルビなどの日本語固有のフォーマットはサポートされていません。

  • HTML (ZIP、HTM、または HTML)
  • MOBI (MOBI)
  • ePub (EPUB)
  • RTF (リッチ テキスト フォーマット)
  • TXT (プレーンテキスト)
  • Adobe PDF (PDF)

サポートされているファイル形式:AmazonのKindleストアでの電子出版に関するヘルプより引用

ただし、Amazonが最終的に使用するのは、MOBIフォーマットであるため、MOBIを利用するのが良さそうです。

Amazonが公開しているkindlege(執筆段階のバージョンはv2.9)というツールを利用すると、EPUBからMOBIを作成することができるため、Re:VIEWによって作成されたEPUBファイルからMOBIを作成することにしました。

これによりKindleも簡単にプレビューできるようになりました。

MOBI版のFuzoku実践入門プレビュー

変換フローを整理すると、以下のようになります。

フォーマットと変換フロー

これらのツールの組み合わせによって、かなり柔軟な変換が可能となりました。

Atomエディタによる執筆

Fuzoku実践入門を書くに当たり、原稿の執筆には、AtomというGitHubが公開しているテキストエディタを利用することにしました。なお、本格的にAtomを利用するのは、今回が初めてになります。

Markdownフォーマットで執筆し、標準で搭載されているMarkdown Preview packageを利用して、リアルタイムプレビューしつつ最後まで書き上げましたが、思ったよりも快適でした。

実際の執筆の様子は、以下のような感じです。

Markdown Preview package

原稿はGitで管理し、執筆の節目や、1日の作業の終りにコミットする感じでゲラの完成までは、masterにコミットしていきました。

まとめ

このような感じで、今回、初めての電子書籍の執筆にあたり、執筆環境を整える上で、様々なツールを組み合わせることで、非常に快適な執筆環境を構築することができました。

ツールの作者の方々には、深く御礼申し上げます。

この記事で紹介したツール

最後に、拙著『Fuzoku実践入門』をどうぞ宜しくお願いします。