gitbook は Calibre
というアプリケーションを使って電子文書形式を作成することができます.
そのため,まずは Calibre
を準備する必要があります.
Windows版のインストーラをダウンロードしてインストールします.ポータブル版でも構いません. ここでは "C:\Calibre" にインストールしたとします.
gitbook が Calibre
を使用することができるようにパスを通す必要があります.
環境変数 PATH
に C:\Calibre\Calibre
を追加します.
これで各電子文書を作成することができます.PDFを作成する場合は次のコマンドを実行します.
gitbook pdf
上手く動作しない場合はPCを再起動してみましょう.環境変数が反映されていないかもしれません.
個人的にシステム環境変数やユーザー環境変数のPATH
に追加することはあまり好きではありません.なるべく,PATH
の設定は最小限にしたいと思っていたりします.
今回は Anaconda を使っていて,gitbook という仮想環境を構築しています. そこで,gitbook の仮想環境のときに,Calibre のパスが通るようにします.
gitbook が有効の状態にします.
$ conda activate gitbook
仮想環境のフォルダを取得します.
$ (gitbook) set CONDA_PREFIX
CONDA_PREFIX=C:\Miniconda3\envs\gitbook
C:\Miniconda3\envs\gitbook\etc\conda\activate.d
というフォルダを作成し,そのフォルダ内に env_vars.bat
というファイルを作成します.env_vars.bat
の中身は次のようにします.
set PATH=C:\Calibre\Calibre;%PATH:C:\Calibre\Calibre;=%
このバッチファイルは activate
したときに呼ばれるバッチファイルです.これで activate
したときに PATH
に Calibre が追加されます.
また,同様に C:\Miniconda3\envs\gitbook\etc\conda\deactivate.d
というフォルダを作成し,env_vars.bat
を作成すれば,deactivate
されたときに呼ばれます.
Mathjax で SVG 形式で出力設定をしている場合,PDF出力時に以下のエラーが出ます.
Error: Error with command "svgexport"
そこで svgexport
をインストールします.
npm install -y svgexport -g
どうやら pdf では図は出力されないようです. このような場合はあらかじめ画像で出力しておいて表示するといった対応が必要になります.
book.json
の pdf
で設定できます.例えば,本文書では次のような設定になっています.
{
"pdf": {
"pageNumbers": true,
"fontFamily": "VL Gothic",
"fontSize": 10,
"paperSize": "a4",
"margin": {
"right": 0,
"left": 0,
"top": 0,
"bottom": 0
},
"headerTemplate": null,
"footerTemplate": null
}
}
PDF 出力時のスタイルシートは
{
"styles": {
"pdf": "styles/pdf.css"
}
}
とすれば,pdf.css
で編集できます.
1800x2360
の大きさで cover.jpg
というファイル名で book.json
と同じ場所に置いておくと,PDF作成時に表紙として使用されます.