KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

電書協のぶら下がりインデントでの折り返し行頭字下げ

 AozoraEpub3をまたいじってみました。何をしたかというと、スタイルシートを電書協に少し近づけた。

 

AozoraEpub3の[#ここから改行天付き、折り返して○字下げ]と

電書協の038a 「ぶら下がりインデントでの折り返し行頭字下げ」を比較してどう違いが有るのかを調べた。

 

 結論から言うとmargin-topとpadding-topが異なっている。ただ、これを入れ替えたら良いかというとそうでもなくて。

改行天付き、折り返して(.+?)字下げ」「こから(.+?)字下げ、折り返して(.+?)字下げ」ガセットで作られているので、複雑になっている。その処理をどのように回避しているのかと。

 あんまり自信がなかったけどエイヤーと書き換えました。具体的には、margin-topとpadding-topの両方で字下げのスタイルシートを作って用途ごとに使い分けるようにした。間違ってたら直せばいいかなと思う。

github.com

/* 縦組み用 */
.vrtl .h-indent-0,
.vrtl .h-indent-0em { text-indent: 0; padding-top: 0; }
.vrtl .h-indent-1em { text-indent: -1em; padding-top: 1em; }
.vrtl .h-indent-2em { text-indent: -2em; padding-top: 2em; }
.vrtl .h-indent-3em { text-indent: -3em; padding-top: 3em; }
.vrtl .h-indent-4em { text-indent: -4em; padding-top: 4em; }
.vrtl .h-indent-5em { text-indent: -5em; padding-top: 5em; }
.vrtl .h-indent-6em { text-indent: -6em; padding-top: 6em; }
.vrtl .h-indent-7em { text-indent: -7em; padding-top: 7em; }
.vrtl .h-indent-8em { text-indent: -8em; padding-top: 8em; }
.vrtl .h-indent-9em { text-indent: -9em; padding-top: 9em; }
.vrtl .h-indent-10em { text-indent: -10em; padding-top: 10em; }

/* 字下げ:縦組み用 */
.vrtl .start-0,
.vrtl .start-0em { margin-top: 0; }
.vrtl .start-0em25 { margin-top: 0.25em; }
.vrtl .start-0em50 { margin-top: 0.50em; }
.vrtl .start-0em75 { margin-top: 0.75em; }
.vrtl .start-1em { margin-top: 1.00em; }
.vrtl .start-1em25 { margin-top: 1.25em; }
.vrtl .start-1em50 { margin-top: 1.50em; }
.vrtl .start-1em75 { margin-top: 1.75em; }
.vrtl .start-2em { margin-top: 2.00em; }
.vrtl .start-2em50 { margin-top: 2.50em; }
.vrtl .start-3em { margin-top: 3.00em; }
.vrtl .start-4em { margin-top: 4.00em; }
.vrtl .start-5em { margin-top: 5.00em; }
.vrtl .start-6em { margin-top: 6.00em; }
.vrtl .start-7em { margin-top: 7.00em; }
.vrtl .start-8em { margin-top: 8.00em; }
.vrtl .start-9em { margin-top: 9.00em; }
.vrtl .start-10em { margin-top: 10.00em; }

 

 

/* 改行天付き、折り返して(.+?)字下げ → class="pt{$1} idt-{$1}" */
/* ここから(.+?)字下げ、折り返して(.+?)字下げ → class="pt{$2} idt{$1-$2}" */


div.idt1 { text-indent: 1em; }
div.idt2 { text-indent: 2em; }
div.idt3 { text-indent: 3em; }
div.idt4 { text-indent: 4em; }
div.idt5 { text-indent: 5em; }
div.idt6 { text-indent: 6em; }
div.idt7 { text-indent: 7em; }
div.idt8 { text-indent: 8em; }
div.idt9 { text-indent: 9em; }

div.idt-1 { text-indent: -1em; }
div.idt-2 { text-indent: -2em; }
div.idt-3 { text-indent: -3em; }
div.idt-4 { text-indent: -4em; }
div.idt-5 { text-indent: -5em; }
div.idt-6 { text-indent: -6em; }
div.idt-7 { text-indent: -7em; }
div.idt-8 { text-indent: -8em; }
div.idt-9 { text-indent: -9em; }

 

/* 字下げ */
div.pt1 { margin-top: 1em; }
div.pt2 { margin-top: 2em; }
div.pt3 { margin-top: 3em; }
div.pt4 { margin-top: 4em; }
div.pt5 { margin-top: 5em; }
div.pt6 { margin-top: 6em; }
div.pt7 { margin-top: 7em; }
div.pt8 { margin-top: 8em; }
div.pt9 { margin-top: 9em; }

 

 

##ここから([0-9]+)字下げ、折り返して([0-9]+)字下げ <div class="pt{$2} idt{$1-$2}">
折り返し1 <div class="pt
折り返し2 idt
折り返し3 ">

 

1字下げ <div class="pt1"> </div> 1
2字下げ <div class="pt2"> </div> 1
3字下げ <div class="pt3"> </div> 1
4字下げ <div class="pt4"> </div> 1
5字下げ <div class="pt5"> </div> 1
6字下げ <div class="pt6"> </div> 1
7字下げ <div class="pt7"> </div> 1
8字下げ <div class="pt8"> </div> 1
9字下げ <div class="pt9"> </div> 1