テキ トヷエデ タ Perl
作 ePub3
誰 電子出版制作
2012/10/23 自 電子出版 長谷川 記
割合簡単 ePub 作
紹介
簡易
加工 実際 流 紹介
Perl 加工 サン 紹介
流 学習 手 目的
時間 関係 全部 解
理解 難 い 思い
ン 3 時間
途 講 思い
置換 丸 明
う テキ トヷエデ タ ?
う テキ トヷエデ タ ?
世 中 動い い べ 単
ePub XMDF DotBook HTML 各種X …
専用 作 … …
ン 面倒
操作 覚え 面倒
… いう 理
強力 ワ 使い い
いう積極的 理
うひ
人間 優 い 事 進 い
人間 優 いデヸタ
簡易タ
コン ン 編集 必要
編集 人間 頭 中 作業
ば編集 い
付 編集 い
可 性 い
;機械 人間 妥協 産物
汎用化 標準化 結果 個々 ニ 対応 い
限 人間側 寄 欲 い
簡易
簡易タ デヸタ 作 方
簡易タ デヸタ
近所 鉄塔
船堀橋線… a za 篠崎線 </a> … a a a a 長島線
</a> …葛西橋線
>>
近所 鉄塔 遠 鉄塔 い付 合い
持 い 自転車 乗 い 散歩 鉄塔 会い 行
鉄塔 見上 挨拶 交わ
<<
img tetto_img02.jpg 船堀橋線 篠崎線 長島線 葛西橋線
船堀橋線
鉄塔 7 人家族
家 近所 通 送電線 船堀橋線 1 号鉄塔 6 号鉄塔& 6 号
乙 2 い ' 計 7 短い送電線路 ひ
格好 い 鉄塔 毎日眺 い う 前
…
簡易タ 材料
人間 担 い程
徹底 簡略化 考え
頭 : ○
括
>>
…
<<
ン ン 括
<a nnnnn … a
処理上 全角 : ほう HTML 区 い いい
タ 指定 効率化
簡単 ニ い
特殊 技能 簡単 付
紹介
ニ 岐
工夫 ば 作業可能
簡易タ 付け支援マ ロ 1
選択状態 岐
行 選択 行括
文 列 選択 ン ン括
選択 頭 or 尻
if(! selecting){
call AtamaTagSub; // 選択範囲 い場合 頭 }else{
// 選択範囲 開始行 終了行 行番号 取得 複数行 う 定
if(seltoplineno == selendlineno){
call InlineTagSub; // ン ン選択 場合 }else{
call BlockTagSub; // 選択 場合 }
}
endmacro;
簡易タ 付け支援マ ロ 2
AtamaTagSub:
// MENU 選択
menu " &章'", " &章 サ 見出 '", " &節'", " &節 サ 見出 '", … if( result == 0 ){ // ESC 入力
endmacro;
}else if( result == 1 ) { $tag = " "; }else if( result == 2 ) { $tag = " "; }else if( result == 3 ) { …
}else{
endmacro; }
// 頭TAG 記述
golinetop2; // 論理行頭 移動 insert $tag;
return;
簡易タ 付け支援マ ロ 3
BlockTagSub:
// 選択 場合
menu " 章 "; // MENU 選択 if( result == 0 ){ // ESC 入力 endmacro;
}else if( result == 1 ) { $tag = ">> "; }else{
endmacro; }
// TAG 記述
cut;
insert $tag + "¥n"; paste;
insert "<<¥n"; return;
リン 張ろう
ン 張
見出 単位程 べ 見出 ン 付
可 性 う 阻害 い &行 工夫'
ン 貼
完全 致 ID サ
ン 貼
ン 少 ば 方法
<a 船堀橋線 > <a 2 号 3 号 姉妹 >
汚い
少々 険
ン 組 合わ 考え
ルビ
ば汚 振 い …
当 必要 文学作品 い
文学系 外 括弧 う いう手
汚 い い
<ruby> 長谷川 <rt> わ </rt> <rt> ひ </rt> 記 <rt> </rt></ruby>
<r> 長谷川 | | 記 ( わ | ひ | )</r>
縦中横
書 向い い コン ン 増え い
思い 書 う
縦 変換 結構大変 縦中 楽
縦中 汚
逃
決 付 い
&全角 半角 わ '
全角英数 正立
半角数 2 文 縦中
半角英数 縦中 実装 時 変換
No. Km…
簡易タ XHTM 作成
簡易タ 加工 実際
簡易 XHTML 加工 ほ 置換
正規表現 使えば簡単
正規表現
regular expression
汎用化表現 般化表現
使用 正規表現
^ 行頭
. 何 文 1 文
^ .+$ 行頭 後 何 文 1 個 上行 繰 返
[abc] [^abc] a b c い 1 文 & い文 '
^[^< ¥ t] 行頭 < い
¥ t( 文 ) ¥ n &改行文 '¥ . & 現物'¥¥&¥現物'
前方参照
img ¥ t(.+) ¥ .jpg ¥ t(.*)$ ¥ 1= 最初 ¥ 2=2 番目
見出 加工
小見出
<h3> 小見出 </h3>
検索文 列: ^ (.+)$
置換文 列: <h3> ¥ 1</h3>
見出 加工
サ
鉄塔
小松川線
<hgroup>
<h1> 鉄塔 </h1>
<h2 class="h1sub"> 小松川線 </h2>
</hgroup>
^ (.+)$ <hgroup> ¥ n ¥ t<h1> ¥ 1</h1> ¥ n
^ (.+)$ ¥ t<h2> ¥ 1</h2> ¥ n</hgroup>
メヸ ブロッ
img[TAB]tetto_img03.jpg[TAB] 篠崎線 13 号鉄塔
<figure class="img_box">
<img src="tetto_img03.jpg" alt=" 篠崎線 13 号鉄塔 " />
<figcaption> 篠崎線 13 号鉄塔 </figcaption>
</figure>
検索文 列: ^ img ¥ t(.+) ¥ t(.*)$
置換文 列:
<figure class="img_box"> ¥ n ¥ t<img src ¥ 1" alt ¥ 2"
/> ¥ n ¥ t<figcaption> ¥ 2</figcaption> ¥ n</figure>
行ブロッ 加工
文
>>
…
<<
v a sho_lead
…
</div>
>> <div class sho_lead
<< </div>
特 例 加工 段落
行頭 < 文 い行
^([^< ¥ t].+)$ <p> ¥ 1</p>
要素 終了
ンラ ン 括
<a ン ID> ~ </a>
<a ン ID> <a href=" ン ID ">
<h1> … <anchor:ID></h1>
<h1 id="ID"> … </h1>
^ ¥ t*<([^ >]+)( [^>]*)?>(.+)<anchor:(.+)></ ¥ 1>$
< ¥ 1 ¥ 2 id=" ¥ 4"> ¥ 3</ ¥ 1>
行頭 文 0 回 上 "<" 後 空白 ">" い文
列 &空白 挟 ">" い文 列 ' 文 列
続い anchor 記述 行 "</" 最初 文 列 ">"
変換 手順
手順 いぶ 効率 変わ
辺 経験 ノ いう
特殊例 複雑 般的 いう順番
置換 け マ ロ 簡単
例&抜粋'
begingroupundo; /* UNDO */
/* 章 */
replaceallfast "^ (.+)$", "<hgroup>¥n¥t<h1>¥¥1</h1>", regular; replaceallfast "^ (.+)$", "¥t<h2>¥¥1</h2>¥n</hgroup>", regular; /* 節 */
…
/* a */
a a a " a " " a ¥"¥¥1¥">", regular;
/* id 埋 込 */
replaceallfast "<([^ ]+)(.*)>(.+)<anchor:(.+)></¥¥1>", "<¥¥1¥¥2 id=¥"¥¥4¥">¥¥3</¥¥1>", regular;
endgroupundo; endmacro;
ファ ル 分割
数 簡単 簡単
割
golinetop2; // 論理行頭 移動
beginsel; // 選択開始
gofileend; // 終い 選択
cut; // 抜
newfile; // 新 い 作
paste; // 取 容 ペ
save; // 保 & 新 入力'
gofiletop; // 新 い 先頭 飛ぶ
問題 ン
解決法 & い面倒 省略'
最後
UTF-8 変更
付
出来上
ePub 各種ファ ル 制作
mimetype container.xml
単 ン コ
ナビ ヸ ョンヷファ ル
見出 grep
chap01.xhtml(12): <h1> 鉄塔</h1>
chap02.xhtml(12): <h1>近所 鉄塔 </h1>
chap03.xhtml(12): <h1>東京東部 鉄塔 </h1>
…
後 置換
<ol>
<li><a href="cover.xhtml"> ペ </a></li>
<li><a href="chap01.xhtml"> 鉄塔</a></li>
<li><a href="chap02.xhtml">近所 鉄塔 </a></li>
…
ol 入 子 少 工夫 必要
ncx 事
さ opf ファ ル
metadata 要素
ン 手作業 埋
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title> 東京鉄塔 サン 版 </dc:title>
<dc:creator> サ </dc:creator>
<dc:language>ja</dc:language>
<dc:rights>(c)2012 All rights reserved. sarumaru hideki</dc:rights>
<dc:publisher> 自 電子出版 </dc:publisher>
<dc:identifier id="BookId">jiyudenshi20120001</dc:identifier>
<meta property="dcterms:modified">2012-10-01T12:00:00Z</meta>
</metadata>
さ opf ファ ル 2
manifest 要素 簡単
DOS 窓 覧取得
…
12/10/15 07:15 5,797 chap01.xhtml 12/10/15 07:15 6,673 chap02.xhtml 12/10/15 07:15 31,169 chap03.xhtml
…
不要 除い 並べ替え 後 置換
…
<item id="chap01" href="chap01.xhtml" media-type="application/xhtml+xml" />
<item id="chap02" href="chap02.xhtml" media-type="application/xhtml+xml" />
<item id="chap03" href="chap03.xhtml" media-type="application/xhtml+xml" />
…
特 手作業 修正
nav cover
<item id="cover_image" href="cover-image.jpg" properties="cover-image" media- type="image/jpeg" />
さ opf ファ ル 3
spine 要素
manifest 要素 置換 ば
<item id="cover" href="cover.xhtml" media-type="application/xhtml+xml" />
<item id="chap01" href="chap01.xhtml" media-type="application/xhtml+xml" />
<item id="chap02" href="chap02.xhtml" media-type="application/xhtml+xml" />
<item id="chap03" href="chap03.xhtml" media-type="application/xhtml+xml" />
<itemref idref="cover" />
<itemref idref="chap01" />
<itemref idref="chap02" />
<itemref idref="chap03" />
パッ ヸ ン
パッ ヸ ン あ
特殊 zip
mimetype 無圧縮 zip 先頭 配置
info-ZIP
日 語 解 い
64 環境 う ン い
del TokyoTetto.epub
cd TokyoTetto
zip -0 -X .. ¥ TokyoTetto.epub mimetype
zip -r .. ¥ TokyoTetto.epub * -x mimetype
cd ..
pause
ERROR: TokyoTetto.epub: Extra field length for first filename must
be 0, but was 128
Perl トラ
普通 Perl 作 い
Perl ?
文 列加工 向い ン 言語
Web CGI 多 利用 い
Perl 5.xx ニコ 対応&日 語 問題 扱え '
機能 多い 単純 文 列加工 使う
ほ 難 い
古い方向 解
Sed 御文
Awk C 風 高機能
変数宣言 不要 泥縄コ ン 最適
ンタラ テ ブ処理 バッチ処理
簡易 作
ン 作業
向い い
大量処理 発生 Perl 処理
簡易 実装
型 作業
Perl 処理
処理 魅力 間違 引 返
A 処理 B 検証 B
修正
リプト紹介
紹介
xhtml 生
ほ 置換 &簡単!簡単!'
opf navi.xhtml toc.ncx 緒 生
xhtml 作 材料集 整形 出力
実演
ン
epubcheck
動 ?
ま
ま
人 優 い 事 進 い
0 1 知識
様 知識
既 ePub 最良 教科書
簡易 設計
加工
加工 潰
深く学 い く
宣伝 1
宣伝 1
デ タルテキ ト編集必携[技法編]
翔泳社 絶賛 &予定' 発売 &予定'
2012 年 12 月 10 日発売 &予定'
ぶ 256 ペ
ぶ 体 2400
コン ン 作 加工解 書
加工 技法 必須知識 満載
実務 即 例 解
充実 サン 実際 習得
サン 実際 ePub 作
目 次
ン
Web 中身 何 う?
文 話
加工 道具箱
電子
編 編集 実践
基礎 編
正規表現 検索 置換
ボ
入門
実践編
取 出
整備~簡易 付
HTML 作 う
ePub 作 う
編集必携[基 編]
出版 編集 携わ い い人向
わ 解
JEPA 著作 委員長 清水 書い
編集 概要
日 語
編集実務
Web 電子書籍
流通 知 …
宣伝 2 5 語 Perl 講座
Perl 言語 難 い?
5 命 語 覚え
長時間 作業 瞬
対象:
昨年 基礎講 修了者
正規表現 い 理解 い 人
ば昨年 基礎 作講 開催
宣伝 3 鋭意 構想中
電子出版 作;出張;講
会社
会社 向い 方法
基礎
実際 電子コン ン 作