日本語電子書籍ePub3(小説等用のリフロータイプ)のかんたんな制作法:Jibuz
目次
シンプルテキスト文書の変換:
写真や図を含まず、章節区切りがなく、自分独自の本の体裁が必要ない場合には、
テキスト文書(名前input.tex)を含む入力フォルダをJibuzアプリ起動画面にドラッグドロップするか、あるいは「入力フォルダ選択」ボタンを押して、入力フォルダを選択します。文章の加工等の事前の準備は必要ありません。
ワープロソフトで文章を既に作っている場合の利用法:
ファイルの保存形式「txt」を選び、ファイル名「input.tex」のテキストファイルとして保存すれば、本アプリの入力ファイルとして利用できます。ファイル識別子は「txt」ではなく「tex」としますので、注意して下さい。
自分独自のePub体裁を整えるには、準備が必要です。本アプリは文芸書などに用いられるリフロータイプの制作を意図していますので、本文の加工法について以下に詳しく説明します。
テキスト文書の変換:
章節区切りを備え、自分用の本の体裁を整える場合:
事前の準備が必要です。
以下に、具体的に使用例を示します。
- アプリを Mac App Storeからダウンロードします。
- Jibuzアプリはどこにおいてもよいですが、通常はアプリケーションとドックに入れます。
-
主ウィンドウ
「ePubだけを作りなおす」ウィンドウ
- Jibuz使用時に必要となる基本のフォルダ構成とサンプルをこちらからダウンロードできます。ダウンロード後、解凍して、myworkフォルダを使いやすい場所において下さい。フォルダの名前はmyworkでなくてもよいですが、ここではmyworkとして、記述します。
- myworkフォルダの構成:
- myworkフォルダの構成。
mywork:入力文書を置きます。
mywork/mydata:ePub制作に使う自分用の入力データを置きます。
mywork/mydataはmyworkフォルダ内のmydataフォルダを表します。
mywork/mydata/fig-src:図·写真·外字を置きます。
mywork/mybook:アプリにより生成され、中にePubとその素材が入ります。
mywork/temp:アプリにより生成され、変換中の一時ファイルが入ります。
- mydataフォルダには以下が含まれます。自分用のePubを作る時に、これらを修正するか置き換える必要があります。これらが存在しない時は、内部データを使ってePubを作ります。
AAA-TITLEdata.txt:ePub用のデータ(本タイトル、著者名など)。サンプル有り
cover.xhtml:ePub表紙。サンプル有り
GAIJItable.txt:外字用変換テーブル。サンプル有り。存在しない場合には、外字変換が行われません
node001-titlepage.xhtml:ePubタイトルページ。サンプル有り
TablenumTatereplace.sed:ePub目次中の章節番号を全角数字で縦中横にする時の変換用テーブル。サンプル有り
fig-srcフォルダ:図・写真・外字を入れます。cover.jpg(表紙用画像)のサンプルが入っています。サンプル有り
- 入力用フォルダをダウンロードしない時は、必要に応じて、対応するフォルダ(mywork、mydata、fig-src)とデータを作り、御利用下さい。
- myworkフォルダの初期内容を以下に示します。kzで始まる入力サンプルは、Jibuzの夫々の変換機能に対応しています。
input.tex:最初のテスト用。kz00.texと同じものです。
kz00.tex:kz13とほぼ同じ。kz00.tex内の箇条書きループは1段なので、ePub Checkerをパスします。他のサンプルでは、3段の箇条書きループを使っていますので、ePub Checkerではエラーとなります。
kz1.tex:章と節
kz2.tex:段落
kz3.tex:索引
kz4.tex:参照用ラベル
kz5.tex:参考文献
kz6.tex:写真(図)
kz7.tex:箇条書き
kz8.tex:ルビ
kz9.tex:引用
kz10.tex:外字
kz11.tex:まえがき、あとがき
kz12.tex:傍点
kz13.tex:縦中横。ここまで紹介した変換を全て含みます
kztext.tex:Texコマンドを含まないテキストサンプルです。
下図は、左から、「mywork」「mydata」「fig-src」フォルダの中身を示します。
- ダウンロード直後の入力サンプルフォルダ(フォルダ名はmywork)内の入力文書input.tex(kz00.texと同じ内容です)は、本アプリが持つ機能をほとんど含んでいますので、これを使ってアプリのテストをする事を御薦めします。
- テストの方法
- Jibuzを起動します。
- Jibuzアプリ起動画面の上部に、ダウンロードした入力用サンプルフォルダをドラッグドロップするか、あるいは「入力フォルダ選択」ボタンを押して、入力用サンプルフォルダを選択します。選択後の画面を示します。
- 変換ボタンをクリックします。
- 入力用サンプルフォルダの中に、mybookフォルダ、および変換作業を記録した複数のファイルが生成されます。mybookフォルダ内にmybook.epubが生成されます。
下図は、左から、「mywork」「mybook」「OEBOS」フォルダの中身を示します。
- Safariを使って、mywork/mybook/OEBPS/text/TableOfContents.xhtmlを開くと、生成されたePub用のxhtmlファイルの目次を見る事ができます。
- ここまでの作業では、エラーを記録するログファイルには、何のエラーも記録されていないと思います(log-errorz)。
- この変換作業の概要はoutput.txtに記録されています。
- 生成された出力の詳細は「結果の見方」を参考にして下さい。
- 入力サンプルフォルダ中のkztext.texをinput.texと改名します。kztext.texを複製してから、複製ファイルの名を「input」に変更すると簡便と思います。
- この例の入力フォルダ名は「tempmywork」としています。
- Jibuzアプリ起動画面の上部に、入力フォルダをドラッグドロップするか、あるいは「入力フォルダ選択」ボタンを押して、入力フォルダを選択します。
- 「変換」をクリックすると、mybookフォルダが生成され、その中に、縦型xhtmlとePubが生成されます。
- 以後、提供サンプルのTex文書を使う場合には、夫々のTexファイルの名前をinput.texにしてから使用して下さい。
- 生成されたファイル等を下記に示します。
下図は、左から、「tempmywork」「mybook」「OEBOS」「text」フォルダ、及び「TableOfContenrs.xhtml」を示します。
mybookフォルダの中にmybook.epubが生成されています。このテストでは、入力サンプルフォルダ(tempmywork)の中にmydataフォルダがないので、「text」フォルダ中のcover.xhtml(表紙)とnode001.xhtml(タイトル)はアプリ内ファイルを代用しています。
下の左図は、input.texをエディタで開いた様子、下の右図は、ブラウザでmybook/OEBPS/text/TableOfContenrs.xhtmlをあけ、第1章を開けたものです。変換前と変換後の様子がわかります。
テキストエディタで章名と節名を入力し、input.tex と名付けて mywork フォルダ内に保存します。下図の左側がテキスト2行のinput.texです。「章」には \chapter { }、「節」には \section{ } を加えます( サンプルkz1.tex の名をinput.texとしても同じ結果が得られます)。バックシュラッシュ「\」は英字の「¥」キーを使います。テキストエディターの日本語コードは utf-8 、改行コードは LF(UNIX) に設定しておきます。
Jibuz を起動して、開いたウィンドウの上部ボックスに mywork フォルダをドラッグドロップします。あるいは、「入力フォルダ選択」ボタンを押して、入力フォルダを選択します。
「変換」を押すと、myworkフォルダ内に mybookフォルダができ、その中に電子書籍 mybook.epub が作られます。
myworkフォルダの中に mybook が 存在することを「mywork/mybook」と表現します。
下図は、左から、「mybook」「OEBOS」「text」フォルダの中身、及び、Safariで「TableOfContents.xhtml」、「第 1 章」を開いた様子を示しています。蛇足ですが、筆者が使っているsafariでは、更新をクリックしないと「縦中横」表示が正確に表示されない場合がありますので、御注意下さい。
- mybookフォルダの中を見てみましょう。
- ePub は、mimetype と META-INF と OEBPS をまとめたものです。
- mimetype と META-INF はePubをまとめる際に使います。通常は無視して下さい。
- OEBPS の中の content.opf と toc.xhtml は、以下の三つ(text、images、styles)の中身から作られます。
- OEBPS/images の中には画像が入ります。本アプリでは、mydata/fig-src 内の画像をコピーします。
- OEBPS/styles の中には css が入ります。ePubの体裁を規定します。
- OEBPS/textフォルダの中には入力(input.tex)から作られた xhtml ファイルがあります。node+3桁数字名のファイルが、章と節毎に順番に作られます。node002.xhtml から始まります。
- node001.xhtml はタイトルです。本アプリでは、mydata 内のnode001-titlepage.xhtml をコピーします。要すれば、エディターで node001-titlepage.xhtml を修正して、自分用のタイトルにします。
- cover.xhtml は表紙です。本アプリでは、mydata 内の cover.xhtml をコピーします。表紙に使う図はmydata/fig-src 内の cover.jpgです。 この図を自分用に置きかえてください。参考:ePub表紙と表紙画像
- TableOfContents.xhtml は目次です。そのほかの xhtmlファイルからアプリにより作られます。
- 私の作業法:エディター(mi)で mywork に保存してある input.tex を開きます。 Jibuz を起動し、myworkフォルダをドロップして ePub をつくります。ブラウザ(Safari)で mybook/OEBPS/text/TableOfContents.xhtml を開きます。input.tex上の修正追加等を即座に確認できます。ファインダー上で常時開いているウィンドウは、mywork、mybook、mybook/OEBPS/text です。時々、iBooksへePubを入れて確認します。
エディターでリターンを入力するか、あるいは改行したい所にバックスラッシュ2本「\\」を入れます。改行後の次行を字下げする時は、スペースを入れます。本アプリでは、空行は空行として表示されます。kz2.tex を(input.texと改名して)変換した結果を示します。
索引の付け方はTexと同じです。
例:神\index{かみ@神}。本文の最後に \printindex を加えると索引が出力されます。索引出力は一つのファイルとなります(本例では、最右図のnode005.xhtml)。 \printindex を削除すれば索引を表示しません。Texの記述法と同じですが、先頭に「%」をつけて %\printindex としても削除されます。kz3.texを変換した結果を示します。
参照記述はTexと同じです。参照したい場所に \label{chasekai} などのラベル(ラベル名はchasekai)を入れ、参照を呼び出す場所に \ref{chasekai} と書きます。章を参照する時は「第\ref{chasekai}章」などとします。kz4.texを変換した結果を示します。
参考文献記述はTexと同じです。入力末尾に次のように文献リストを置きます。
\begin{thebibliography}
\bibitem {shinrongo}吉田賢抗、新釈漢文体系一 『論語』、明治書院、1960年
文献を参照したい場所に \cite{shinrongo} などと書きます。 \begin{thebibliography} を削除すれば(あるいは %\begin{thebibliography}とする)参考文献を無視します。kz5.texを変換した結果を示します。
写真あるいは図を入れるには次のようにします。Texの記述法を使います。
\includegraphics{photo1.eps}
\caption{蓼の海の桜か。地獄の池か。}
\label{p1-tate}
- caption(写真の説明文)とlabel は必要ならば入れます。caption を付けると図に通し番号がふられます。
- xhtmlに変換する時、写真にはimg001.jpgのように「img」+「3桁数字」からなる jpg ファイルの名前が順次割り当てられます。入力Tex文書内の写真名(例えばphoto1.eps)は反映されません(従って、適当なわかりやすい名前を書いておいてもよい)。入力文書に登場する順番の数字をつけたjpgファイルをmydata/fig-srcの中に用意します(img001.jpg, img002.jpg,---- img010.jpgなど)。一度変換すると、入力テキスト内の写真記述と生成された xtml 内の図番号との対応リストが出力されます(AAZ-FigLists.txt)。(caption を省略すると、このリストには記載されません)
- 本アプリでは写真画像はjpgとします。
- 本アプリには写真等の表示に対する調整機能はありません。必要な方は、mybook/OEBPS内のファイルを修正して、ePubだけを作りなおして下さい。
kz6.texを変換した結果を示します。
箇条書きの方法はTexと同じです。本アプリでは3重まで可能です。本アプリ内では番号付き箇条書きを番号無しに変更しています。箇条書きは次のように記述します。
\begin{itemize}
\item 各節のタイトルには。
\item 節タイトルの末尾に記した漢数字は。
\end{itemize}
kz7.texを変換した結果を示します。
ルビは本アプリ独自の方法を使います。「神」にルビをつけるには、半角xと半角丸括弧を使って、「x神(かみ)」とします。
kz8.texを変換した結果を示します。
引用の方法はTexと同じです。\begin{quote}と\end{quote}で囲みます。
kz9.texを変換した結果を示します。
mydata フォルダにある外字の対応表 GAIJItable.txt を変換に利用します。
- 外字フォントは、先頭に「gaiji_」つけたpng画像とし、mywork/mydata/fig-srcの中に入れます。
- GAIJItable.txt には一行ごとに、
「入力文書中に使う対応文字 画像名 外字フォントの読み方」を記述します。
「入力文書中に使う対応文字」は「KGJI」+ 「3桁数字」とします。
- 対応表内の一行を例として示します:KGJI011 gaiji_u979f.png かく
- 本文の記述は漢字のかわりにKGJI011を使います。ルビも使えます。
x虎豹(こひよう)のxKGJI011(かく)は、\index{こひょう@虎豹}\\
x猶(な)おx犬羊(けんよう)のKGJI011のごとし。\index{こひようのかくは、けんようのかくのごとし@虎豹のKGJI011は、犬羊のKGJI011のごとし}\index{けんよう@犬羊}
- 筆者は、グリフウィキを利用して外字をさがしました。
kz10.texを変換した結果を示します。
まえがき · あとがきを使用して、章節番号には入れたくない場合に使います。{まえがき} あるいは {あとがき}と書いて本文を次行から入れます。
kz11.texを変換した結果を示します。
傍点をつける方法はTexと同じです。例:十二三の奇麗な女だ。\bou{顔に黒子がある}
kz12.texを変換した結果を示します。
変換オプション「する」を選ぶと、章節タイトル・参照する章節の数字を縦中横にします。3桁数字まで対処します。
本文中の参照章節を縦中横させるには、「\ref{ }章」あるいは「\ref{ }節」などと、「章」あるいは「節」を付加します。
本文中の参照図番号を縦中横させるには、「図\ref{ }」などと、「図」を付加します。
変換オプション「しない」を使えば、縦中横にはしません。
kz13.texを変換した結果を示します。
テーブル(目次:TableOfContents.xhtml)の章節数字を縦中横にする場合、二通りの方法があります。
オプション「する」+オプション「半角」:半角数字を使って縦中横にします。
オプション「する」+オプション「全角」:全角数字を使って縦中横にします。この選択ではmydata/TablenumTatereplace.sedを変換用データとして使います。データ不足により変換されない章節番号がある場合には、TablenumTatereplace.sedをエディターで修正して下さい。具体的には、変換されない章節番号に対応する一行を適切な位置に付加します。例えば、既に存在する章節番号変換用の一行をコピーペイストしてから、章節番号を希望の数字になおします。TablenumTatereplace.sedがmydata内に存在しない時は、アプリ内部のデータを使います。
- 表紙用xhtml(通常は修正不要です): mywork/mydata/cover.xhtml: 存在しない場合には、アプリ内部ファイルを使います。
- cover.xhtmlが参照する表紙画像:mywork/mydata/fig-src/cover.jpg: 存在しない場合には、アプリ内部ファイルを使います。サンプル画像は、RGB、大きさ1612x2282のjpgです。
- 自分用に、cover.jpgを置き換えて下さい。
- ePubタイトルページ用xhtml:mydata/node001-titlepage.xhtml: 存在しない場合には、アプリ内部ファイルを使います。
- 自分用に、node001-titlepage.xhtmlを編集(本タイトル名と著者名の変更)して下さい。ePub変換時には、これをコピーして、node001.xhtmlとして組み込みます。
- 添付ファイルの体裁は素朴ですので、必要に応じて自分流に変更して下さい。
変換前の入力部分を変更する方法と変換後の出力だけを変更する方法が考えられます。
- 入力文書ファイル、あるいは mydata/fig-src 内の図を修正してから再び本アプリを走らせる。この場合には、前回に作った全てのファイルが作り直されます。
- mybook/OEBPS/text フォルダ内の xhtml ファイル、images フォルダ内の中の写真、そのほかのファイルを修正した時は、ePub にまとめる作業を再び行う必要があります。xhtml ファイルを手動で追加あるいは削除した場合には、TableOfContents.xhtml、content.opf、toc.xhtml を修正してから ePub にまとめます。図や写真を追加削除した場合には、content.opf を修正してから ePub にまとめます。索引や参照を変更する場合には、煩雑な手作業も必要となります。再び本アプリを走らせると、mybookの内容がリセットされますので、御注意下さい。別のフォルダにコピーしてから作業するのが安全です。「ePubのみ再変換」ボタンを利用して再変換すると、新たにmybook.epubが作られます。
アプリ内部で多様な処理をしていますので、複雑な文書には対応できない場合があります。又、入力コマンド名称やファイル名が違っていればエラーを生じる事もあります。エラーが起きたら、添付されているサンプルを動かして、まずアプリ自体に原因があるかどうかチェックしましょう。サンプルが正常に走れば、入力文書をチェックします。デバッグモードにして、変換の途中で作られるtempファイルを見れば、どこが悪いのか見当がつく可能性があります。エラーが生じた時に参考にする myworkフォルダへの出力リストを示します。
- 連続図番号と入力文書中の図との関連: AAZ-FigLists.txt
- 削除あるいは修正した入力文書中のコマンド類: AAZ-deleteTexcommandssum.txt
- 入力文書中の全コマンド類(少し修正あり): AAZ-allTexCommandsusedInputText.txt
- 出力文書中の通常は見られない横文字類: AA-tempCHKcommandinXHTML.txt
- 変換中の作業記録: output.txt
- 図関連のエラーなど: log-errorz
オプション DEBUG を「オン」にして走らせると、変換中に作られる一時ファイルがtempフォルダに残ります。通常は利用価値はありませんが、エラーが生じる場合には、助けになる事もあります。
- 自分の入力文書:mywork フォルダにおく。名前はinput.texにします。
- 題名·著者名等のテキストデータを修正する:mywork/mydata/AAA-TITLEdata.txt
- 表紙用画像:mywork/mydata/fig-srcフォルダにおきます:名前はcover.jpgとします。
- タイトル用xhtml:mywork/mydata/node001-titlepage.xhtmlをエディターで編集(本タイトル名と著者名の変更)する。添付ファイルの体裁は素朴ですので、必要に応じて自分流に変更して下さい。
- 入力文書:mywork フォルダにおく。名前はinput.texにします。
- 題名·著者名等のテキストデータを修正する:mywork/mydata/AAA-TITLEdata.txt
- 写真(jpg)、図(jpg)、外字(png):mywork/mydata/fig-srcフォルダにおく。
- 表紙用画像:mywork/mydata/fig-srcフォルダにおく:名前はcover.jpgとする。
- タイトル用xhtml:mywork/mydata/node001-titlepage.xhtmlをエディターで編集(本タイトル名と著者名の変更)する。添付ファイルの体裁は素朴ですので、必要に応じて自分流に変更して下さい。
- 外字を使うときは変換テーブルを修正します:mywork/mydata/GAIJItable.txt
- 注意:mywork/mydata/fig-srcの中には、実際に使う画像だけを入れます。入力文書とxhtmlを見て作業をしている間は大丈夫ですが、ePub Checker でチェックするとエラーを生じます。入力テキスト中の写真リストと図番との対応は AAZ-FigLists.txt に出力されますので、写真に通し番号を付ける時に参考になります。
- ePub全体の体裁を変えるときはmybook/OEBPS/stylesの中のcssを編集して下さい。cssについての知識が必要です。又、ePub表示では、iBooksの体裁が優先されるようです。
ファイル場所:mywork/mydata/AAA-TITLEdata.txt
データ項目は次の通り。半角スペース区切りのテキストデータとします。以下のデータは1行に書きます。
- 題名
- 著者名
- identifier(出版社名などか)
- 表紙に使う画像の名前(cover.xhtmlの中で使う。本アプリではcover.jpg)
- ePub自体の名前 (識別子epubを含まない)
- Jibuzを起動して、ウィンドウ右下部のボタン「ePubのみ再変換」をクリックします。
- 開いたウィンドウの上部にmybookフォルダ(ePub生成の素材を含むフォルダ)をドラッグドロップするか、あるいは「mybookフォルダ選択」ボタンをクリックして、フォルダを選択します。
- 「再変換」ボタンをクリックします。
- mybookフォルダの中に、mybook.epubが生成されます。
- 再変換の前に、以前に生成したePubは削除して下さい。
- {まえがき} 章節番号をつけない場合
- {あとがき} 章節番号をつけない場合
- \chapter{ } 章
- \section{ } 節
- \subsection{ } サブセクション
- \includegraphics{ } 写真·図
- \caption{ } 写真·図の説明
- \label{ } 参照用ラベル(写真·図·章·節の参照に使う)
- \ref{ } ラベルを参照する
- \begin{itemize} 箇条書きの始め(3段まで)
- \item 箇条書きの項目
- \end{itemize} 箇条書きの終わり
- \begin{quote} 引用の始め
- \end{quote} 引用の終わり
- \begin{thebibliography} 参考文献の始め
- \bibitem{ } 個々の参考文献
- \cite{ } 参考文献を本文中で参照
- \bou{ } 傍点を付ける:例:\bou{熱い印象を持つてゐた}
- x( ) ルビを付ける:例:x書籍(しよせき)
- \index{ @ } 索引項目とする:例:\index{けんよう@犬羊}
- \index{ @ !--- @ } 入れ子索引項目とする(2段まで):例:\index{あおやま@青山!---ただちか@忠親}
- \printindex 索引を表示させる
- \\ あるいは リターン 改行する
- 外字:本文中では、KGJI + 3桁数字で外字png画像を表現します
ePub Checkerにより作ったePubを検証します。この例では、エラーがある場合にどのように表示されるかを見るために、わざとエラーを作ってから動作させています。具体的には、mywork/mydata/fig-src フォルダから img002.jpg を削除後、kz13.texを変換してePubをつくり検証します。
- まず、基本的な部分にはエラーがない事がわかります。
- 最初の3個のエラーは、多段の箇条書きをエラーであると判定しています(kz13のsection2.2)。エラーとされますが、iPad では3段の箇条書きはきちんと表示されます。箇条書を一段にすればエラー判定はなくなります。
- 次のエラーは img002.jpg が不足していると指摘しています。画像を戻せばエラーはなくなります。
- 最後の警告は、mybook フォルダ内に存在している隠しファイル .DS_Store が、 content.opf に記述されていないと指摘しています。Mac ではフォルダ内のファイルの操作をするとこのファイルは必ず生成されます。このエラーをなくすには、ファイル操作が終了した後で、Ds Store Remover を使って .DS_Store を削除します。その後、「ePubだけを作りなおす」 を使ってePubにまとめる作業をします。
kz13.texから生成されるePubをMac上の iBooksに入れて、動作を確認しました。
iBooks: 表紙と目次
iBooks: 第1章
iBooks: 項目(箇条書き)
iBooks: 縦中横テスト
iBooks: 索引
iBooks: 写真
iBooks: ルビと外字
iBooks: 傍点
動作エラーを少なくする為に、入力文書中の Tex コマンドを削除あるいは修正しています。その情報は、Jibuzを起動して変換させますと、mywork内のAAZ-allTexCommandsusedInputText.txtとAAZ-deleteTexcommandssum.txtに出力しています。
エラーを生じる一因に、エディターで文章を扱うときのコードの相違問題があります。見かけには表れず内に秘められており、日本語コードとかリターンコードとか、複雑なので困り者ですが、日本語を扱う限り避けて通れません。
エディターの mi にはコード変換の機能がついていますので、紹介します。
アプリ内でエラーを生じるinput.tex例:日本語コードshift-jis、改行コードCRLF。右側の図は、mybook/OEBPS/text/node002.xhtmlを表示しています。
mi画面上部の選択欄にて、日本語コードUTF-8、改行コードLF(UNIX)を選んで、別名保存します。
なお、色々な所からコピーペイストをしている場合など、この方法ではうまくいかない例がありますので、御注意下さい。
本アプリで使用する文章加工用コマンドは、コマンド先頭にバックスラッシュ「\」が使われています。システムが違ったり、使用フォントが違ったりすると、バックスラッシュの表記が¥に変わるとか、見かけは同じような¥表示だがうまく動作しないとか、いろんな事態が予想されます。筆者が使うエディタ環境では、英数半角フォントにMonacoを指定して、半角英数字で「¥」を打つと「\」が表示されるようにしています。
著作権
本アプリ Jibuzの著作権は著者に属します。