review 2.0.0.beta1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +66 -1
- data/.rubocop_todo.yml +617 -0
- data/.travis.yml +16 -1
- data/ChangeLog +48 -0
- data/Dockerfile +22 -0
- data/Gemfile +0 -1
- data/README.md +97 -0
- data/Rakefile +10 -11
- data/appveyor.yml +9 -0
- data/bin/review +46 -0
- data/bin/review-check +8 -21
- data/bin/review-compile +26 -43
- data/bin/review-index +9 -22
- data/bin/review-init +21 -25
- data/bin/review-preproc +9 -13
- data/bin/review-validate +1 -1
- data/bin/review-vol +3 -17
- data/bin/review-webmaker +15 -0
- data/doc/NEWS.ja.md +534 -0
- data/doc/NEWS.md +538 -0
- data/doc/catalog.ja.md +10 -18
- data/doc/catalog.md +5 -9
- data/doc/config.yml.sample +319 -0
- data/doc/customize_epub.ja.md +42 -0
- data/doc/format.ja.md +320 -288
- data/doc/format.md +277 -170
- data/doc/format_idg.ja.md +82 -175
- data/doc/pdfmaker.ja.md +61 -0
- data/doc/pdfmaker.md +65 -0
- data/doc/quickstart.ja.md +88 -98
- data/doc/quickstart.md +72 -110
- data/doc/sample.css +41 -0
- data/doc/writing_vertical.ja.md +55 -0
- data/doc/writing_vertical.md +5 -0
- data/lib/epubmaker/content.rb +3 -3
- data/lib/epubmaker/epubcommon.rb +173 -145
- data/lib/epubmaker/epubv2.rb +24 -77
- data/lib/epubmaker/epubv3.rb +72 -73
- data/lib/epubmaker/producer.rb +54 -30
- data/lib/lineinput.rb +48 -0
- data/lib/review/book.rb +0 -1
- data/lib/review/book/base.rb +47 -27
- data/lib/review/book/chapter.rb +48 -19
- data/lib/review/book/compilable.rb +10 -14
- data/lib/review/book/index.rb +10 -19
- data/lib/review/book/page_metric.rb +0 -10
- data/lib/review/book/part.rb +17 -3
- data/lib/review/builder.rb +84 -68
- data/lib/review/catalog.rb +5 -1
- data/lib/review/compiler.rb +327 -4657
- data/lib/review/configure.rb +84 -10
- data/lib/review/converter.rb +28 -0
- data/lib/review/epubbuilder.rb +1 -1
- data/lib/review/epubmaker.rb +142 -158
- data/lib/review/ewbbuilder.rb +5 -5
- data/lib/review/exception.rb +1 -1
- data/lib/review/extentions.rb +1 -1
- data/lib/review/extentions/hash.rb +15 -0
- data/lib/review/extentions/string.rb +2 -1
- data/lib/review/htmlbuilder.rb +364 -348
- data/lib/review/htmltoc.rb +44 -0
- data/lib/review/htmlutils.rb +12 -6
- data/lib/review/i18n.rb +78 -6
- data/lib/review/i18n.yml +7 -4
- data/lib/review/idgxmlbuilder.rb +226 -267
- data/lib/review/latexbuilder.rb +281 -274
- data/lib/review/latexutils.rb +56 -49
- data/lib/review/makerhelper.rb +8 -4
- data/lib/review/markdownbuilder.rb +80 -124
- data/lib/review/pdfmaker.rb +197 -138
- data/lib/review/preprocessor.rb +16 -67
- data/lib/review/template.rb +24 -0
- data/lib/review/textbuilder.rb +1 -1
- data/lib/review/textutils.rb +18 -24
- data/lib/review/tocparser.rb +51 -106
- data/lib/review/tocprinter.rb +61 -117
- data/lib/review/topbuilder.rb +119 -126
- data/lib/review/unfold.rb +2 -2
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +302 -0
- data/lib/review/webtocprinter.rb +48 -0
- data/lib/review/yamlloader.rb +47 -0
- data/review.gemspec +3 -3
- data/templates/html/layout-html5.html.erb +17 -0
- data/templates/html/layout-xhtml1.html.erb +20 -0
- data/{lib/review → templates/latex}/layout.tex.erb +107 -115
- data/templates/ncx/epubv2.ncx.erb +11 -0
- data/templates/opf/epubv2.opf.erb +21 -0
- data/templates/opf/epubv3.opf.erb +18 -0
- data/templates/web/html/layout-html5.html.erb +56 -0
- data/templates/web/html/layout-xhtml1.html.erb +20 -0
- data/templates/xml/container.xml.erb +6 -0
- data/test/assets/test.xml.erb +3 -0
- data/test/assets/test_template.tex +28 -71
- data/test/assets/test_template_backmatter.tex +1 -9
- data/test/sample-book/src/Rakefile +12 -3
- data/{doc/sample.yml → test/sample-book/src/config-epub2.yml} +92 -147
- data/test/sample-book/src/config.yml +40 -154
- data/test/sample-book/src/style-web.css +45 -0
- data/test/sample-book/src/style.css +23 -1
- data/test/test.re +1 -1
- data/test/test_book.rb +15 -17
- data/test/test_book_chapter.rb +2 -80
- data/test/test_book_part.rb +1 -1
- data/test/test_builder.rb +28 -6
- data/test/test_catalog.rb +17 -0
- data/test/test_compiler.rb +14 -59
- data/test/test_configure.rb +94 -0
- data/test/test_converter.rb +21 -0
- data/test/test_epub3maker.rb +155 -3
- data/test/test_epubmaker.rb +245 -30
- data/test/test_epubmaker_cmd.rb +2 -2
- data/test/test_extentions_hash.rb +60 -0
- data/test/test_helper.rb +4 -47
- data/test/test_htmlbuilder.rb +282 -175
- data/test/test_htmltoc.rb +33 -0
- data/test/test_i18n.rb +134 -70
- data/test/test_idgxmlbuilder.rb +58 -39
- data/test/test_latexbuilder.rb +132 -14
- data/test/test_lineinput.rb +5 -26
- data/test/test_makerhelper.rb +6 -4
- data/test/test_markdownbuilder.rb +23 -5
- data/test/test_pdfmaker.rb +86 -20
- data/test/test_pdfmaker_cmd.rb +1 -3
- data/test/test_review_ext.rb +1 -1
- data/test/test_template.rb +27 -0
- data/test/test_textutils.rb +36 -0
- data/test/test_tocparser.rb +25 -0
- data/test/test_topbuilder.rb +34 -2
- data/test/test_yamlloader.rb +188 -0
- metadata +71 -29
- data/README.rdoc +0 -81
- data/bin/review-epubmaker-legacy +0 -1024
- data/doc/ruby-uuid/README +0 -11
- data/doc/ruby-uuid/README.ja +0 -34
- data/lib/review/compiler/literals_1_8.kpeg +0 -19
- data/lib/review/compiler/literals_1_8.rb +0 -432
- data/lib/review/compiler/literals_1_9.kpeg +0 -22
- data/lib/review/compiler/literals_1_9.rb +0 -435
- data/lib/review/extentions/array.rb +0 -25
- data/lib/review/htmllayout.rb +0 -41
- data/lib/review/inaobuilder.rb +0 -357
- data/lib/review/location.rb +0 -24
- data/lib/review/node.rb +0 -267
- data/lib/review/review.kpeg +0 -724
- data/lib/uuid.rb +0 -312
- data/rubocop-todo.yml +0 -456
- data/test/test_inaobuilder.rb +0 -247
- data/test/test_uuid.rb +0 -157
data/doc/catalog.ja.md
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
# Re:VIEW カタログファイル ガイド
|
2
2
|
|
3
|
-
Re:VIEW のカタログファイル catalog.ymlについて説明します。
|
3
|
+
Re:VIEW のカタログファイル catalog.yml について説明します。
|
4
|
+
|
5
|
+
このドキュメントは、Re:VIEW 2.0 に基づいています。
|
4
6
|
|
5
7
|
## カタログファイルとは
|
6
8
|
|
7
|
-
Re:VIEW
|
8
|
-
現在はカタログファイルと言えばcatalog.ymlのことを指します。
|
9
|
+
カタログファイルは、Re:VIEW フォーマットで記述された各ファイルを1冊の本(たとえば PDF や EPUB)にまとめる際に、どのようにそれらのファイルを構造化するかを指定するファイルです。現在はカタログファイルと言えば catalog.yml のことを指します。
|
9
10
|
|
10
|
-
## catalog.ymlを用いた場合の設定方法
|
11
|
+
## catalog.yml を用いた場合の設定方法
|
11
12
|
|
12
|
-
catalog.yml内で、`PREDEF`(前付け)、`CHAPS`(本編)、`APPENDIX`(付録、連番あり)、`POSTDEF`(後付け、連番なし)を記述します。CHAPSのみ必須です。
|
13
|
+
catalog.yml 内で、`PREDEF`(前付け)、`CHAPS`(本編)、`APPENDIX`(付録、連番あり)、`POSTDEF`(後付け、連番なし)を記述します。CHAPS のみ必須です。
|
13
14
|
|
14
15
|
```yaml
|
15
16
|
PREDEF:
|
@@ -26,7 +27,7 @@ POSTDEF:
|
|
26
27
|
- postscript.re
|
27
28
|
```
|
28
29
|
|
29
|
-
本編に対して、「部」構成を加えたい場合、`CHAPS
|
30
|
+
本編に対して、「部」構成を加えたい場合、`CHAPS` を段階的にして記述します。部の指定については、タイトル名でもファイル名でもどちらでも使えます。
|
30
31
|
|
31
32
|
```yaml
|
32
33
|
CHAPS:
|
@@ -38,16 +39,7 @@ CHAPS:
|
|
38
39
|
- ch04.re
|
39
40
|
```
|
40
41
|
|
41
|
-
|
42
|
-
|
43
|
-
## バージョン 1.3以前について
|
44
|
-
|
45
|
-
`APPENDIX`は指定できません。`POSTDEF`を使ってください。
|
46
|
-
|
47
|
-
## バージョン 1.2以前について
|
48
|
-
|
49
|
-
1.2以前のRe:VIEWではカタログファイルとしてPREDEF, CHAPS, POSTDEF, PARTという独立した4つのファイルを使用していました。
|
50
|
-
そのため、当時のバージョンを利用する際にはcatalog.ymlではなくそちらを記述する必要があります。
|
42
|
+
## 古いバージョンについて
|
43
|
+
1.2 以前の Re:VIEW ではカタログファイルとして PREDEF, CHAPS, POSTDEF, PART という独立した4つのファイルを使用していました。古いカタログファイルを変換するツールとして、`review-catalog-converter` を提供しています。
|
51
44
|
|
52
|
-
|
53
|
-
ただしcatalog.ymlが存在する場合、そちらが優先されます。
|
45
|
+
このコマンドにドキュメントのパスを指定して実行後、生成された catalog.yml の内容が正しいか確認してください。
|
data/doc/catalog.md
CHANGED
@@ -9,7 +9,7 @@ Now we use catalog.yml as catalog file.
|
|
9
9
|
|
10
10
|
## How to write catalog.yml
|
11
11
|
|
12
|
-
In catalog.
|
12
|
+
In catalog.yml, you can write `PREDEF`(frontmatter), `CHAPS`(bodymatter), `APPENDIX`(appendix) and `POSTDEF`(backmater). `CHAPS` is required.
|
13
13
|
|
14
14
|
```yaml
|
15
15
|
PREDEF:
|
@@ -40,13 +40,9 @@ You can add parts in body to use `CHAPS` in a hierarchy. You can use both title
|
|
40
40
|
|
41
41
|
(For old version user: there is no `PART`. You write them in `CHAPS`.)
|
42
42
|
|
43
|
-
## About version
|
43
|
+
## About earlier version
|
44
44
|
|
45
|
-
|
45
|
+
In version 1.x, Re:VIEW use 4 files PREDEF, CHAPS, POSTDEF, PART as catalog files.
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
Before version 1.2 or earlier, Re:VIEW use 4 files PREDEF, CHAPS, POSTDEF, PART as catalog files.
|
50
|
-
So you must use these files instead of catalog.yml when you use these versions of Re:VIEW.
|
51
|
-
|
52
|
-
Current Re:VIEW supports both catalog.yml and old catalog files. When there are both files, catalog.yml is used.
|
47
|
+
You can convert there files with `review-catalog-converter`.
|
48
|
+
When using it, you should compare with these files and the generated file `catalog.yml`.
|
@@ -0,0 +1,319 @@
|
|
1
|
+
# review-epubmaker向けの設定ファイルの例。
|
2
|
+
# yamlファイルをRe:VIEWファイルのある場所に置き、
|
3
|
+
# 「review-epubmaker yamlファイル」を実行すると、<bookname>.epubファイルが
|
4
|
+
# 生成されます。
|
5
|
+
# このファイルはUTF-8エンコーディングで記述してください。
|
6
|
+
|
7
|
+
# この設定ファイルでサポートするRe:VIEWのバージョン番号。
|
8
|
+
# major versionが違うときにはエラーを出す。
|
9
|
+
review_version: 2.0
|
10
|
+
|
11
|
+
# ほかの設定ファイルの継承を指定できる。同じパラメータに異なる値がある場合は、
|
12
|
+
# 呼び出し元の値が優先される。
|
13
|
+
# A.yml、B.ymlのパラメータを継承する例。A.ymlとB.ymlに同じパラメータがある
|
14
|
+
# 場合、B.ymlの値が優先される。さらに今このファイルに同じパラメータがあるなら、
|
15
|
+
# その値がB.ymlよりも優先される。
|
16
|
+
# 同様にA.yml、B.yml内でさらにinherit:パラメータを使うこともできる。
|
17
|
+
# inherit: ["A.yml", "B.yml"]
|
18
|
+
|
19
|
+
# ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
|
20
|
+
bookname: book
|
21
|
+
# 記述言語。省略した場合はja
|
22
|
+
language: ja
|
23
|
+
|
24
|
+
# 書名
|
25
|
+
# 読みを入れる例 booktitle: {name: "Re:VIEW EPUBサンプル", file-as: "リビューイーパブサンプル"}
|
26
|
+
booktitle: Re:VIEWサンプル書籍
|
27
|
+
|
28
|
+
# 著者名。「, 」で区切って複数指定できる
|
29
|
+
# 読みを入れる例 aut: [{name: "青木峰郎", file-as: "アオキミネロウ"}, {name: "武藤健志", file-as: "ムトウケンシ"}, {name: "高橋征義", file-as: "タカハシマサヨシ"}, {name: "角征典", file-as: "カドマサノリ"}]
|
30
|
+
aut: ["青木峰郎", "武藤健志", "高橋征義", "角征典"]
|
31
|
+
|
32
|
+
# 以下はオプション
|
33
|
+
# 以下はオプション(autと同じように配列書式で複数指定可能)。
|
34
|
+
# 読みの指定はaut:の例を参照。
|
35
|
+
# a-が付いているものはcreator側、
|
36
|
+
# 付いていないものはcontributor側(二次協力者)に入る
|
37
|
+
# a-adp, adp: 異なるメディア向けに作り直した者
|
38
|
+
# a-ann, ann: 注釈記述者
|
39
|
+
# a-arr, arr: アレンジした者
|
40
|
+
# a-art, art: グラフィックデザインおよび芸術家
|
41
|
+
# a-asn, asn: 関連・かつての所有者・関係者
|
42
|
+
# a-aqt, aqt: 大きく引用された人物
|
43
|
+
# a-aft, aft: 後書き・奥付の責任者
|
44
|
+
# a-aui, aui: 序論・序文・前書きの責任者
|
45
|
+
# a-ant, ant: 目録責任者
|
46
|
+
# a-bkp, bkp: メディア制作責任者
|
47
|
+
# a-clb, clb: 限定参加または補足者
|
48
|
+
# a-cmm, cmm: 解釈・分析・考察者
|
49
|
+
# a-dsr, dsr: デザイナ
|
50
|
+
# a-edt, edt: 編集者
|
51
|
+
# a-ill, ill: イラストレータ
|
52
|
+
# a-lyr, lyr: 歌詞作成者
|
53
|
+
# a-mdc, mdc: メタデータセットの一次的責任者
|
54
|
+
# a-mus, mus: 音楽家
|
55
|
+
# a-nrt, nrt: 語り手
|
56
|
+
# a-oth, oth: その他
|
57
|
+
# a-pht, pht: 撮影責任者
|
58
|
+
# a-pbl, pbl: 出版社(発行所)
|
59
|
+
# a-prt, prt: 印刷所
|
60
|
+
# a-red, red: 項目の枠組起草者
|
61
|
+
# a-rev, rev: 評論者
|
62
|
+
# a-spn, spn: 援助者
|
63
|
+
# a-ths, ths: 監督者
|
64
|
+
# a-trc, trc: 筆記・タイプ作業者
|
65
|
+
# a-trl, trl: 翻訳者
|
66
|
+
|
67
|
+
# 刊行日(省略した場合は実行時の日付)
|
68
|
+
# date: 2016-04-20
|
69
|
+
# 発行年月。YYYY-MM-DD形式による配列指定。省略した場合はdateを使用する
|
70
|
+
# 複数指定する場合は次のように記述する
|
71
|
+
# [["初版第1刷の日付", "初版第2刷の日付"], ["第2版第1刷の日付"]]
|
72
|
+
# 日付の後ろを空白文字で区切り、任意の文字列を置くことも可能。
|
73
|
+
# history: [["2016-04-20 v1.0.0版発行"]]
|
74
|
+
# 権利表記(配列で複数指定可)
|
75
|
+
# rights: (C) 2016 Re:VIEW Developers
|
76
|
+
# description: 説明
|
77
|
+
# subject: 短い説明用タグ(配列で複数指定可)
|
78
|
+
# type: 書籍のカテゴリーなど(配列で複数指定可)
|
79
|
+
# format: メディアタイプおよび特徴(配列で複数指定可)
|
80
|
+
# source: 出版物生成の重要なリソース情報(配列で複数指定可)
|
81
|
+
# relation: 補助的リソース(配列で複数指定可)
|
82
|
+
# coverage: 内容の範囲や領域(配列で複数指定可)
|
83
|
+
|
84
|
+
# デバッグフラグ。nullでないときには一時ファイルをカレントディレクトリに作成し、削除もしない
|
85
|
+
debug: null
|
86
|
+
|
87
|
+
# 固有IDに使用するドメイン。指定しない場合には、時刻に基づくランダムUUIDが入る
|
88
|
+
# urnid: urn:uid:http://example.com/book-title/
|
89
|
+
#
|
90
|
+
# ISBN。省略した場合はurnidが入る
|
91
|
+
# isbn: null
|
92
|
+
#
|
93
|
+
# HTMLファイルの拡張子(省略した場合はhtml)
|
94
|
+
# htmlext: html
|
95
|
+
#
|
96
|
+
# CSSファイル(配列で複数指定可)
|
97
|
+
stylesheet: ["sample.css"]
|
98
|
+
|
99
|
+
# ePUBのバージョン (2か3)
|
100
|
+
# epubversion: 2
|
101
|
+
#
|
102
|
+
# HTMLのバージョン (4か5。epubversionを3にしたときには5にする)
|
103
|
+
# htmlversion: 4
|
104
|
+
|
105
|
+
# 目次として抽出する見出しレベル
|
106
|
+
toclevel: 3
|
107
|
+
|
108
|
+
# 採番の設定。採番させたくない見出しには「==[nonum]」のようにnonum指定をする
|
109
|
+
#
|
110
|
+
# 本文でセクション番号を表示する見出しレベル
|
111
|
+
secnolevel: 2
|
112
|
+
|
113
|
+
# 以下のsecnolevelはまだ未実装。
|
114
|
+
# 前付でセクション番号を表示する見出しレベル(未実装)
|
115
|
+
# pre_secnolevel: 0
|
116
|
+
#
|
117
|
+
# 後付(付録)でセクション番号を表示する見出しレベル(未実装)
|
118
|
+
# post_secnolevel: 1
|
119
|
+
#
|
120
|
+
# 部番号を表示する見出しレベル(未実装)
|
121
|
+
# part_secnolevel: 1
|
122
|
+
|
123
|
+
# 本文中に目次ページを作成するか。省略した場合はnull (作成しない)
|
124
|
+
# toc: true
|
125
|
+
|
126
|
+
# EPUB2標準の目次(NCX)以外に物理目次ファイルを作成するか。省略した場合はnull (作成しない)
|
127
|
+
# ePUB3においてはこの設定によらず必ず作成される
|
128
|
+
# mytoc: true
|
129
|
+
|
130
|
+
# 表紙にするHTMLファイル。ファイル名を指定すると表紙として入る
|
131
|
+
# cover: null
|
132
|
+
#
|
133
|
+
# 表紙に配置し、書籍の影絵にも利用する画像ファイル。省略した場合はnull (画像を使わない)。画像ディレクトリ内に置いてもディレクトリ名は不要(例: cover.jpg)
|
134
|
+
# coverimage: null
|
135
|
+
#
|
136
|
+
# 表紙の後に大扉ページを作成するか。省略した場合はnull (作成しない)
|
137
|
+
# titlepage: null
|
138
|
+
#
|
139
|
+
# 自動生成される大扉ページを上書きするファイル。ファイル名を指定すると大扉として入る
|
140
|
+
# titlefile: null
|
141
|
+
#
|
142
|
+
# 原書大扉ページにするHTMLファイル。ファイル名を指定すると原書大扉として入る
|
143
|
+
# originaltitlefile: null
|
144
|
+
#
|
145
|
+
# 権利表記ページファイル。ファイル名を指定すると権利表記として入る
|
146
|
+
# creditfile: null
|
147
|
+
|
148
|
+
# 奥付を作成するか。デフォルトでは作成されない。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
|
149
|
+
# colophon: null
|
150
|
+
|
151
|
+
# 裏表紙ファイル (画像はcoversまたはimagesに配置する)。ファイル名を指定すると裏表紙として入る
|
152
|
+
# backcover: null
|
153
|
+
|
154
|
+
# プロフィールページファイル。ファイル名を指定すると著者紹介として入る
|
155
|
+
# profile: null
|
156
|
+
# プロフィールページの目次上の見出し
|
157
|
+
# profiletitle: 著者紹介
|
158
|
+
|
159
|
+
# 広告ファイル。ファイル名を指定すると広告として入る
|
160
|
+
# advfile: null
|
161
|
+
|
162
|
+
# 取り込む画像が格納されているディレクトリ。省略した場合は以下
|
163
|
+
# imagedir: images
|
164
|
+
|
165
|
+
# 取り込むフォントが格納されているディレクトリ。省略した場合は以下
|
166
|
+
# fontdir: fonts
|
167
|
+
|
168
|
+
# imagedir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
|
169
|
+
# image_ext: ["png", "gif", "jpg", "jpeg", "svg", "ttf", "woff", "otf"]
|
170
|
+
|
171
|
+
# fontdir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
|
172
|
+
# font_ext: ["ttf", "woff", "otf"]
|
173
|
+
|
174
|
+
# ソースコードハイライトを利用する (pygmentsには外部gemが必要)
|
175
|
+
# highlight:
|
176
|
+
# html: "pygments"
|
177
|
+
# latex: "listings"
|
178
|
+
|
179
|
+
# カタログファイル名を指定する
|
180
|
+
# catalogfile: catalog.yml
|
181
|
+
|
182
|
+
# 1ページの行数文字数と1kbごとのページ数を用紙サイズで指定する(A5 or B5)。
|
183
|
+
# page_metric: A5
|
184
|
+
#
|
185
|
+
# あるいは、配列で指定することもできる
|
186
|
+
# 各数字の意味は、順にリストの行数、リストの1行字数、テキストの行数、テキストの1行字数、1kバイト毎のページ数
|
187
|
+
# page_metric: [40,80,40,80,2]
|
188
|
+
|
189
|
+
# ページ送りの送り方向、page-progression-directionの値("ltr"|"rtl"|"default")
|
190
|
+
# direction: "ltr"
|
191
|
+
|
192
|
+
# EPUBのOPFへの固有の追加ルール
|
193
|
+
# <package>要素に追加する名前空間
|
194
|
+
# opf_prefix: {ebpaj: "http://www.ebpaj.jp/"}
|
195
|
+
# 追加する<meta>要素のプロパティとその値
|
196
|
+
# opf_meta: {"ebpaj:guide-version": "1.1.3"}
|
197
|
+
|
198
|
+
# 以下のパラメータを有効にするときには、
|
199
|
+
# epubmaker:
|
200
|
+
# パラメータ: 値
|
201
|
+
# パラメータ: 値
|
202
|
+
# ...
|
203
|
+
# という構成にする必要がある(インデントさせる)
|
204
|
+
|
205
|
+
epubmaker:
|
206
|
+
# HTMLファイルの拡張子
|
207
|
+
htmlext: xhtml
|
208
|
+
#
|
209
|
+
# 目次を要素の階層表現にしない。省略した場合(null)は階層化する。
|
210
|
+
# 特に部扉が入るなどの理由で、構成によっては階層化目次でepubcheckに
|
211
|
+
# パスしない目次ができるが、そのようなときにはこれをtrueにする
|
212
|
+
# flattoc: null
|
213
|
+
#
|
214
|
+
# 目次のインデントレベルをスペース文字で表現する(flattocがtrueのときのみ)
|
215
|
+
# flattocindent: true
|
216
|
+
#
|
217
|
+
# NCX目次の見出しレベルごとの飾り(配列で設定)。EPUB3ではNCXは作られない
|
218
|
+
# ncxindent:
|
219
|
+
#-
|
220
|
+
#- -
|
221
|
+
# フックは、各段階で介入したいときのプログラムを指定する。自動で適切な引数が渡される
|
222
|
+
# プログラムには実行権限が必要
|
223
|
+
# ファイル変換処理の前に実行するプログラム。スタイルシートのコンパイルをしたいときなどに利用する。
|
224
|
+
# 渡される引数1=作業用展開ディレクトリ
|
225
|
+
# hook_beforeprocess: null
|
226
|
+
#
|
227
|
+
# 前付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
228
|
+
# 渡される引数1=作業用展開ディレクトリ
|
229
|
+
# hook_afterfrontmatter: null
|
230
|
+
#
|
231
|
+
# 本文の変換後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
232
|
+
# 渡される引数1=作業用展開ディレクトリ
|
233
|
+
# hook_afterbody: null
|
234
|
+
#
|
235
|
+
# 後付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
236
|
+
# 渡される引数1=作業用展開ディレクトリ
|
237
|
+
# hook_afterbackmatter: null
|
238
|
+
#
|
239
|
+
# 画像およびフォントをコピーした後に実行するプログラム。別の画像やフォントを追加したいときなどに利用する。
|
240
|
+
# 渡される引数1=作業用展開ディレクトリ
|
241
|
+
# hook_aftercopyimage: null
|
242
|
+
#
|
243
|
+
# ePUB zipアーカイブ直前に実行するプログラム。メタ情報などを加工したいときなどに利用する。
|
244
|
+
# 渡される引数1=ePUB準備ディレクトリ
|
245
|
+
# hook_prepack: null
|
246
|
+
#
|
247
|
+
# 変換したHTMLファイルおよびCSSを解析して厳密に使用している画像ファイルだけを取り込むか。デフォルトはnull(imagesディレクトリすべてを取り込む)
|
248
|
+
# なお、フォント、カバー、広告についてはこの設定によらずディレクトリ内のものがすべて取り込まれる
|
249
|
+
# verify_target_images: null
|
250
|
+
#
|
251
|
+
# verify_target_imagesがtrueの状態において、解析で発見されなくても強制的に取り込むファイルの相対パスの配列
|
252
|
+
# force_include_images: []
|
253
|
+
#
|
254
|
+
# Re:VIEWファイル名を使わず、前付にpre01,pre02...、本文にchap01,chap02l...、後付にpost01,post02...という名前付けルールにするか
|
255
|
+
# rename_for_legacy: null
|
256
|
+
#
|
257
|
+
# ePUBアーカイブの非圧縮実行
|
258
|
+
# zip_stage1: "zip -0Xq"
|
259
|
+
#
|
260
|
+
# ePUBアーカイブの圧縮実行
|
261
|
+
# zip_stage2: "zip -Xr9Dq"
|
262
|
+
#
|
263
|
+
# ePUBアーカイブに追加するパス(デフォルトはmimetype、META-INF、OEBPS)
|
264
|
+
# zip_addpath: null
|
265
|
+
#
|
266
|
+
# EPUBで表紙をコンテンツに含めるか。デフォルトでは作成されない。yesにするとiBooks等でも最初に表紙が表示されるようになる
|
267
|
+
# cover_linear: null
|
268
|
+
#
|
269
|
+
# @<href>タグでの外部リンクを禁止し、地の文にする(falseで禁止する)
|
270
|
+
# externallink: true
|
271
|
+
#
|
272
|
+
# epubmaker:階層を使うものはここまで
|
273
|
+
|
274
|
+
# LaTeX用のスタイルファイル(styディレクトリ以下に置くこと)
|
275
|
+
# texstyle: samplemacro
|
276
|
+
#
|
277
|
+
# LaTeX用のdocumentclassを指定する
|
278
|
+
# texdocumentclass: ["jsbook", "uplatex,oneside"]
|
279
|
+
#
|
280
|
+
# LaTeX用のコマンドを指定する
|
281
|
+
# texcommand: "uplatex"
|
282
|
+
#
|
283
|
+
# LaTeXのコマンドに渡すオプションを指定する
|
284
|
+
# texoptions: null
|
285
|
+
#
|
286
|
+
# LaTeX用のdvi変換コマンドを指定する(dvipdfmx)
|
287
|
+
# dvicommand: "dvipdfmx"
|
288
|
+
#
|
289
|
+
# LaTeX用のdvi変換コマンドのオプションを指定する
|
290
|
+
# dvioptions: "-d 5"
|
291
|
+
|
292
|
+
# 以下のパラメータを有効にするときには、
|
293
|
+
# pdfmaker:
|
294
|
+
# パラメータ: 値
|
295
|
+
# パラメータ: 値
|
296
|
+
# ...
|
297
|
+
# という構成にする必要がある(インデントさせる)
|
298
|
+
#
|
299
|
+
pdfmaker:
|
300
|
+
#
|
301
|
+
# TeXコンパイル前に実行するプログラム。変換後のTeXソースを調整したいときに使用する。
|
302
|
+
# 渡される引数1=作業用展開ディレクトリ、引数2=呼び出しを実行したディレクトリ
|
303
|
+
# hook_beforetexcompile: null
|
304
|
+
#
|
305
|
+
# TeXコンパイル後に実行するプログラム。索引作業をして再度コンパイルしたいときなどに使用する。
|
306
|
+
# 渡される引数1=作業用展開ディレクトリ、引数2=呼び出しを実行したディレクトリ
|
307
|
+
# hook_aftertexcompile: null
|
308
|
+
#
|
309
|
+
# PDF(book.pdf)作成後に実行するプログラム。PDFに加工を施したいときに使用する。
|
310
|
+
# 渡される引数1=作業用展開ディレクトリ、引数2=呼び出しを実行したディレクトリ
|
311
|
+
# hook_afterdvipdf: null
|
312
|
+
#
|
313
|
+
# 画像のscale=X.Xという指定を画像拡大縮小率からページ最大幅の相対倍率に変換します。
|
314
|
+
# image_scale2width: true
|
315
|
+
#
|
316
|
+
# 奥付を作成するか。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
|
317
|
+
colophon: true
|
318
|
+
# pdfmaker:階層を使うものはここまで
|
319
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# EPUB ローカルルールへの対応方法
|
2
|
+
Re:VIEW の review-epubmaker が生成する EPUB ファイルは IDPF 標準に従っており、EpubCheck を通過する正規のものです。
|
3
|
+
|
4
|
+
しかし、ストアによってはこれに固有のローカルルールを設けていることがあり、それに合わせるためには別途 EPUB ファイルに手を入れる必要があります。幸い、ほとんどのルールは EPUB 内のメタ情報ファイルである OPF ファイルにいくつかの情報を加えることで対処できます。
|
5
|
+
|
6
|
+
Re:VIEW の設定ファイルは config.yml を使うものとします。
|
7
|
+
|
8
|
+
## 電書協ガイドライン
|
9
|
+
* http://ebpaj.jp/counsel/guide
|
10
|
+
|
11
|
+
電書協ガイドラインの必須属性を満たすには、次の設定を config.yml に加えます。
|
12
|
+
|
13
|
+
```yaml
|
14
|
+
opf_prefix: {ebpaj: "http://www.ebpaj.jp/"}
|
15
|
+
opf_meta: {"ebpaj:guide-version": "1.1.3"}
|
16
|
+
```
|
17
|
+
|
18
|
+
これは次のように展開されます。
|
19
|
+
|
20
|
+
```xml
|
21
|
+
<package …… prefix="ebpaj: http://www.ebpaj.jp/">
|
22
|
+
……
|
23
|
+
<meta property="ebpaj:guide-version">1.1.3</meta>
|
24
|
+
```
|
25
|
+
|
26
|
+
ただし、Re:VIEW の生成する EPUB は、ファイルやフォルダの構成、スタイルシートの使い方などにおいて電書協ガイドラインには準拠していません。
|
27
|
+
|
28
|
+
## iBooks ストア
|
29
|
+
デフォルトでは、iBooks で EPUB を見開きで開くと、左右ページの間に影が入ります。
|
30
|
+
これを消すには、次のように指定します。
|
31
|
+
|
32
|
+
```yaml
|
33
|
+
opf_prefix: {ibooks: "http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"}
|
34
|
+
opf_meta: {"ibooks:binding": "false"}
|
35
|
+
```
|
36
|
+
|
37
|
+
すでにほかの定義があるときには、たとえば次のように追加してください。
|
38
|
+
|
39
|
+
```yaml
|
40
|
+
opf_prefix: {ebpaj: "http://www.ebpaj.jp/", ibooks: "http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"}
|
41
|
+
opf_meta: {"ebpaj:guide-version": "1.1.3", "ibooks:binding": "false"}
|
42
|
+
```
|
data/doc/format.ja.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# Re:VIEW フォーマットガイド
|
2
2
|
|
3
|
-
Re:VIEW フォーマットの文法について解説します。Re:VIEW
|
4
|
-
|
5
|
-
|
3
|
+
Re:VIEW フォーマットの文法について解説します。Re:VIEW フォーマットはアスキー社(現カドカワ)の EWB を基本としながら、一部に RD や各種 Wiki の文法を取り入れて簡素化しています。
|
4
|
+
|
5
|
+
このドキュメントは、Re:VIEW 2.0 に基づいています。
|
6
6
|
|
7
7
|
## 段落
|
8
8
|
|
9
|
-
|
9
|
+
段落(本文)の間は1行空けて表現します。空けずに次の行を記述した場合は、1つの段落として扱われます。
|
10
10
|
|
11
11
|
例:
|
12
12
|
|
@@ -17,11 +17,12 @@ RD や各種 Wiki の文法をとりいれて簡素化しています。
|
|
17
17
|
次の段落〜〜〜
|
18
18
|
```
|
19
19
|
|
20
|
-
2
|
20
|
+
* 2行以上空けても、1行空きと同じ意味になります。
|
21
|
+
* 空行せずに改行して段落の記述を続ける際、英文の単語間スペースについては考慮されないことに注意してください。Re:VIEW は各行を単純に連結するだけであり、TeX のように前後の単語を判断してスペースを入れるようなことはしません。
|
21
22
|
|
22
|
-
##
|
23
|
+
## 章・節・項・段(見出し)
|
23
24
|
|
24
|
-
|
25
|
+
章・節・項・段といった見出しは「`=`」「`==`」「`===`」「`====`」「`=====`」で表します。6 レベル以上は使えません。`=`のあとにはスペースを入れます。
|
25
26
|
|
26
27
|
例:
|
27
28
|
|
@@ -37,11 +38,13 @@ RD や各種 Wiki の文法をとりいれて簡素化しています。
|
|
37
38
|
===== 小段のキャプション
|
38
39
|
```
|
39
40
|
|
40
|
-
|
41
|
+
見出しは行の先頭から始める必要があります。行頭に空白を入れると、ただの本文と見なされます。
|
42
|
+
|
43
|
+
また、見出しの前に文があると、段落としてつながってしまうことがあります。このようなときには空行を見出しの前に入れてください。
|
41
44
|
|
42
45
|
## コラムなど
|
43
46
|
|
44
|
-
節や項の見出しに `[column]`
|
47
|
+
節や項の見出しに `[column]` を追加すると以降がコラムとして扱われ、見出しはコラムのキャプションになります。
|
45
48
|
|
46
49
|
例:
|
47
50
|
|
@@ -49,10 +52,9 @@ RD や各種 Wiki の文法をとりいれて簡素化しています。
|
|
49
52
|
===[column] コンパイラコンパイラ
|
50
53
|
```
|
51
54
|
|
52
|
-
このとき、「=」と「[column]
|
53
|
-
なりません。空白があってもいけません。
|
55
|
+
このとき、「=」と「[column]」は間を空けず、必ず続けて書かなければなりません。
|
54
56
|
|
55
|
-
|
57
|
+
コラムは、そのコラムのキャプションの見出しと同等か上位のレベル(コラムキャプションが `===` であれば、`=`〜`===`)の見出しが登場するかファイル末尾に達した時点で終了します。これを待たずにコラムを終了する場合は、「`===[/column]`」と記述します(`=`の数はコラムキャプションと対応)。
|
56
58
|
|
57
59
|
例:
|
58
60
|
|
@@ -64,78 +66,115 @@ RD や各種 Wiki の文法をとりいれて簡素化しています。
|
|
64
66
|
===[/column]
|
65
67
|
```
|
66
68
|
|
69
|
+
より下位の見出しを使うことでコラム内に副見出しを入れることができますが、それが必要になるほど長いコラムはそもそも文章構造に問題がある可能性があります。
|
70
|
+
|
71
|
+
このほか、次のような見出しオプションがあります。
|
72
|
+
|
73
|
+
* `[nonum]` : これを指定している章・節・項・段には連番を振りません。見出しは目次に含まれます。
|
74
|
+
* `[nodisp]` : これを指定している章・節・項・段の見出しは変換結果には表示されず、連番も振りません。ただし、見出しは目次に含まれます。
|
75
|
+
* `[notoc]` : これを指定している章・節・項・段には連番を振りません。見出しは目次に含まれません。
|
76
|
+
|
67
77
|
## 箇条書き
|
68
78
|
|
69
|
-
|
70
|
-
ネストは「` **`」のように深さに応じて数を増やします。
|
79
|
+
箇条書き(HTML で言う ul、ビュレット箇条書きともいう)は「` *`」で表現します。ネストは「` **`」のように深さに応じて数を増やします。
|
71
80
|
|
72
81
|
例:
|
73
82
|
|
74
83
|
```
|
75
|
-
*
|
76
|
-
**
|
77
|
-
*
|
78
|
-
**
|
79
|
-
*
|
84
|
+
* 第1の項目
|
85
|
+
** 第1の項目のネスト
|
86
|
+
* 第2の項目
|
87
|
+
** 第2の項目のネスト
|
88
|
+
* 第3の項目
|
80
89
|
```
|
81
90
|
|
82
|
-
|
83
|
-
|
91
|
+
箇条書きには行頭に1つ以上の空白が必要です。行頭に空白を入れず「*」と書くと、ただのテキストと見なされるので注意してください。
|
92
|
+
|
93
|
+
通常の段落との誤った結合を防ぐため、箇条書きの前後には空行を入れることをお勧めします(他の箇条書きも同様)。
|
84
94
|
|
85
95
|
## 番号付き箇条書き
|
86
96
|
|
87
|
-
|
88
|
-
「` 3. 〜`」で示します。ネストはしません。
|
97
|
+
番号付きの箇条書き(HTML で言う ol)は「` 1. 〜`」「` 2. 〜`」「` 3. 〜`」のように示します。ネストはサポートしていません。
|
89
98
|
|
90
99
|
例:
|
91
100
|
|
92
|
-
|
93
101
|
```
|
94
|
-
1.
|
95
|
-
2.
|
96
|
-
3.
|
102
|
+
1. 第1の条件
|
103
|
+
2. 第2の条件
|
104
|
+
3. 第3の条件
|
97
105
|
```
|
98
106
|
|
99
107
|
番号付き箇条書きも、ただの箇条書きと同様、行頭に1つ以上の空白が必要です。
|
100
108
|
|
101
109
|
## 用語リスト
|
102
110
|
|
103
|
-
|
111
|
+
用語リスト(HTML で言う dl)は空白→「:」→空白、で始まる行を使って示します。
|
104
112
|
|
105
113
|
例:
|
106
114
|
|
107
115
|
```review
|
108
|
-
: Alpha
|
116
|
+
: Alpha
|
109
117
|
DEC の作っていた RISC CPU。
|
110
118
|
浮動小数点数演算が速い。
|
111
|
-
: POWER
|
119
|
+
: POWER
|
112
120
|
IBM とモトローラが共同製作した RISC CPU。
|
113
121
|
派生として POWER PC がある。
|
114
|
-
: SPARC
|
122
|
+
: SPARC
|
115
123
|
Sun が作っている RISC CPU。
|
116
124
|
CPU 数を増やすのが得意。
|
117
125
|
```
|
118
126
|
|
119
|
-
|
120
|
-
|
127
|
+
「`:`」それ自体はテキストではないので注意してください。その後に続く文字列が用語名(HTML での dt 要素)になります。
|
128
|
+
|
129
|
+
そして、その行以降、空白で始まる行が用語内容(HTML では dd 要素)になります。次の用語名か空行になるまで、1つの段落として結合されます。
|
130
|
+
|
131
|
+
## ブロック命令とインライン命令
|
132
|
+
|
133
|
+
見出しと箇条書きは特別な記法でしたが、それ以外の Re:VIEW の命令はほぼ一貫した記法を採用しています。
|
134
|
+
|
135
|
+
ブロック命令は1〜複数行の段落に対して何らかのアクション(たいていは装飾)を行います。ブロック命令の記法は次のとおりです。
|
136
|
+
|
137
|
+
```
|
138
|
+
//命令[オプション1][オプション2]…{
|
139
|
+
対象の内容。本文と同じような段落の場合は空行区切り
|
140
|
+
…
|
141
|
+
//}
|
142
|
+
```
|
143
|
+
|
144
|
+
オプションを取らなければ単に `//命令{` という開始行になります。いずれにせよ、開始と終了は明確です。オプション内で「]」という文字が必要であれば、`\]` でリテラルを表現できます。
|
145
|
+
|
146
|
+
亜種として、一切段落を取らないブロック命令もごく少数あります。
|
147
|
+
|
148
|
+
```
|
149
|
+
//命令[オプション1][オプション2]…
|
150
|
+
```
|
151
|
+
|
152
|
+
インライン命令は段落、見出し、ブロック内容、一部のブロックのオプション内で利用でき、文字列内の一部に対してアクション(装飾)を行います。
|
153
|
+
|
154
|
+
```
|
155
|
+
@<命令>{対象の内容}
|
156
|
+
```
|
121
157
|
|
122
|
-
|
123
|
-
そして、その行以降、空白で始まる行が用語内容(HTMLではdd要素)になります。
|
158
|
+
内容に「}」という文字が必要であれば、`\}` でリテラルを表現できます。
|
124
159
|
|
125
|
-
|
160
|
+
記法および処理の都合で、次のような制約があります。
|
161
|
+
|
162
|
+
* ブロック命令内には別のブロック命令をネストできません。
|
163
|
+
* ブロック命令内には見出しや箇条書きを格納できません。
|
164
|
+
* インライン命令には別のインライン命令をネストできません。
|
126
165
|
|
127
166
|
## ソースコードなどのリスト
|
128
167
|
|
129
|
-
ソースコードなどのリストには`//list
|
168
|
+
ソースコードなどのリストには`//list`を使います。連番を付けたくない場合は先頭に `em`(embedded の略)、行番号を付ける場合は末尾に `num` を付加します。まとめると、以下の4種類になります。
|
130
169
|
|
131
|
-
*
|
170
|
+
* `//list[識別子][キャプション][言語指定]{ 〜 //}`
|
132
171
|
* 通常のリスト。言語指定は省略できます。
|
133
|
-
*
|
172
|
+
* `//listnum[識別子][キャプション][言語指定]{ 〜 //}`
|
134
173
|
* 通常のリストに行番号をつけたもの。言語指定は省略できます。
|
135
|
-
*
|
174
|
+
* `//emlist[キャプション][言語指定]{ 〜 //}`
|
136
175
|
* 連番がないリスト。キャプションと言語指定は省略できます。
|
137
|
-
*
|
138
|
-
*
|
176
|
+
* `//emlistnum[キャプション][言語指定]{ 〜 //}`
|
177
|
+
* 連番がないリストに行番号を付けたもの。キャプションと言語指定は省略できます。
|
139
178
|
|
140
179
|
例:
|
141
180
|
|
@@ -161,7 +200,7 @@ puts "hello world!"
|
|
161
200
|
例:
|
162
201
|
|
163
202
|
```review
|
164
|
-
//emlist[][
|
203
|
+
//emlist[][c]{
|
165
204
|
printf("hello");
|
166
205
|
//}
|
167
206
|
```
|
@@ -174,17 +213,17 @@ puts "hello world!"
|
|
174
213
|
//}
|
175
214
|
```
|
176
215
|
|
216
|
+
言語指定は、ハイライトを有効にしたときに利用されます。
|
177
217
|
|
218
|
+
コードブロック内でもインライン命令は有効です。
|
178
219
|
|
179
|
-
|
220
|
+
また本文中で「リスト X.X を見てください」のようにリストを指定する場合は、インライン命令 `@<list>` を使います。`//list` あるいは `//listnum` で指定した識別子を指定し、たとえば「`@<list>{main}`」と表記します。
|
180
221
|
|
181
|
-
|
182
|
-
する場合は、`//list` で指定した識別子を使って「`@<list>{main}`」
|
183
|
-
と表記します。
|
222
|
+
他章のリストを参照するには、後述の「章ID」を指定し、たとえば `@<list>{advanced|main}`(`advanced.re` ファイルの章にあるリスト `main` を参照する)と記述します。
|
184
223
|
|
185
224
|
### ソースコード専用の引用
|
186
225
|
|
187
|
-
|
226
|
+
ソースコードを引用するには次のように記述します。
|
188
227
|
|
189
228
|
例:
|
190
229
|
|
@@ -194,21 +233,11 @@ puts "hello world!"
|
|
194
233
|
//}
|
195
234
|
```
|
196
235
|
|
197
|
-
|
198
|
-
が、HTMLのCSSなどでは区別した表現ができます。
|
199
|
-
|
200
|
-
|
201
|
-
参照方法はlistと変わりません。
|
202
|
-
|
203
|
-
例:
|
204
|
-
|
205
|
-
```
|
206
|
-
..は@<list>{hello}をみてください。
|
207
|
-
```
|
236
|
+
ソースコードの引用は、キャプションを付けた `//emlist` とほぼ同じです。HTML の CSS などでは区別した表現ができます。
|
208
237
|
|
209
238
|
## 本文中でのソースコード引用
|
210
239
|
|
211
|
-
|
240
|
+
本文中でソースコードを引用して記述するには、`code` を使います。
|
212
241
|
|
213
242
|
例:
|
214
243
|
|
@@ -218,23 +247,21 @@ puts "hello world!"
|
|
218
247
|
|
219
248
|
## コマンドラインのキャプチャ
|
220
249
|
|
221
|
-
コマンドラインの操作を示すときは `//cmd{ 〜 //}`
|
250
|
+
コマンドラインの操作を示すときは `//cmd{ 〜 //}` を使います。インライン命令を使って入力箇所を強調するのもよいでしょう。
|
222
251
|
|
223
252
|
例:
|
224
253
|
|
225
254
|
```
|
226
255
|
//cmd{
|
227
|
-
$ ls /
|
256
|
+
$ @<b>{ls /}
|
228
257
|
//}
|
229
258
|
```
|
230
259
|
|
231
|
-
ブロック内でも後述するインライン命令は有効です。
|
232
|
-
|
233
260
|
## 図
|
234
261
|
|
235
|
-
図は `//image{ 〜 //}`
|
236
|
-
|
237
|
-
|
262
|
+
図は `//image{ 〜 //}` で指定します。後述するように、識別子に基づいて画像ファイルが探索されます。
|
263
|
+
|
264
|
+
ブロック内の内容は単に無視されますが、アスキーアートや、図中の訳語などを入れておくといった使い道があります。
|
238
265
|
|
239
266
|
例:
|
240
267
|
|
@@ -250,14 +277,13 @@ V1 --> V6 --|
|
|
250
277
|
//}
|
251
278
|
```
|
252
279
|
|
253
|
-
3
|
254
|
-
|
280
|
+
3番目の引数として、画像の倍率・大きさを指定することができます。今のところ「scale=X」で倍率(X 倍)を指定でき、HTML、TeX ともに紙面(画面)幅に対しての倍率となります(0.5 なら半分の幅になります)。
|
281
|
+
|
282
|
+
※TeX において原寸からの倍率にしたいときには、`config.yml` に `image_scale2width: false` を指定してください。
|
255
283
|
|
256
|
-
|
257
|
-
`//image` で指定した識別子を用いて「`@<img>{unixhistory}`」と
|
258
|
-
記述します。`//image` と `@<img>` でつづりが違うので注意してください。
|
284
|
+
また、本文中で「図 X.X を見てください」のように図を指定する場合は、インライン命令 `@<img>` を使います。`//image` で指定した識別子を用いて「`@<img>{unixhistory}`」のように記述します(`//image` と `@<img>` でつづりが違うので注意してください)。
|
259
285
|
|
260
|
-
|
286
|
+
### 画像ファイルの探索
|
261
287
|
|
262
288
|
図として貼り込む画像ファイルは、次の順序で探索され、最初に発見されたものが利用されます。
|
263
289
|
|
@@ -270,11 +296,15 @@ V1 --> V6 --|
|
|
270
296
|
6. <imgdir>/<id>.<ext>
|
271
297
|
```
|
272
298
|
|
273
|
-
*
|
274
|
-
*
|
275
|
-
*
|
276
|
-
*
|
277
|
-
*
|
299
|
+
* `<imgdir>` はデフォルトでは images ディレクトリです。
|
300
|
+
* `<builder>` は利用しているビルダ名(ターゲット名)で、たとえば `--target=html` としているのであれば、images/html ディレクトリとなります。
|
301
|
+
* `<chapid>` は章 ID です。たとえば ch01.re という名前であれば「ch01」です。
|
302
|
+
* `<id>` は //image[〜] の最初に入れた「〜」のことです(つまり、ID に日本語や空白交じりの文字を使ってしまうと、後で画像ファイル名の名前付けに苦労することになります!)。
|
303
|
+
* `<ext>` は Re:VIEW が自動で判別する拡張子です。ビルダによってサポートおよび優先する拡張子は異なります。
|
304
|
+
|
305
|
+
### インラインの画像挿入
|
306
|
+
|
307
|
+
段落途中などに画像を貼り込むには、インライン命令の `@<icon>{識別子}` を使います。ファイルの探索ルールは同じです。
|
278
308
|
|
279
309
|
## 番号が振られていない図
|
280
310
|
|
@@ -294,8 +324,6 @@ V1 --> V6 --|
|
|
294
324
|
//numberlessimage[door_image_path][扉絵]
|
295
325
|
```
|
296
326
|
|
297
|
-
※ただし、`//indepimage`と機能的にかぶっているので、将来は廃止され、`//indepimage`に統合される予定です。
|
298
|
-
|
299
327
|
## グラフ表現ツールを使った図
|
300
328
|
|
301
329
|
`//graph[ファイル名][コマンド名][キャプション]` で各種グラフ表現ツールを使った画像ファイルの生成ができます。キャプションは省略できます。
|
@@ -312,11 +340,9 @@ plot sin(x)
|
|
312
340
|
|
313
341
|
## 表
|
314
342
|
|
315
|
-
表は `//table[識別子][キャプション]{ 〜 //}`
|
316
|
-
分ける罫線は「`------`」で書き込んであります。
|
343
|
+
表は `//table[識別子][キャプション]{ 〜 //}` という記法です。ヘッダと内容を分ける罫線は「`------------`」(12個以上の連続する `-` または `=`)を使います。
|
317
344
|
|
318
|
-
|
319
|
-
また、空のカラムは「`.`」と書けます。
|
345
|
+
表の各列のセル間は「1つ」のタブで区切ります。また、列の先頭セルの「`.`」は削除されるので、先頭文字が「`.`」の場合は「`.`」をもう1つ余計に付けてください。たとえば「`.`」という内容のセルは「`..`」と書きます。
|
320
346
|
|
321
347
|
例:
|
322
348
|
|
@@ -336,10 +362,24 @@ DISPLAY X Window Systemのデフォルトディスプレイ
|
|
336
362
|
//}
|
337
363
|
```
|
338
364
|
|
339
|
-
本文中で「表 X
|
340
|
-
|
365
|
+
本文中で「表 X.X を見てください」のように表を指定する場合はインライン命令 `@<table>` を使います。たとえば `@<table>{envvars}` となります。
|
366
|
+
|
367
|
+
表のセル内でもインライン命令は有効です。
|
368
|
+
|
369
|
+
### 複雑な表
|
370
|
+
|
371
|
+
現時点では表のセルの結合や、中央寄せ・右寄せなどの表現はできません。
|
372
|
+
|
373
|
+
複雑な表については、画像を貼り込む `imgtable` ブロック命令を代わりに使用する方法もあります。`imgtable` の表は通常の表と同じく採番され、インライン命令 `@<table>` で参照できます。
|
341
374
|
|
342
|
-
|
375
|
+
例:
|
376
|
+
|
377
|
+
```
|
378
|
+
//imgtable[complexmatrix][複雑な表]{
|
379
|
+
complexmatrixという識別子に基づく画像ファイルが貼り込まれる。
|
380
|
+
探索ルールはimageと同じ
|
381
|
+
//}
|
382
|
+
```
|
343
383
|
|
344
384
|
## 引用
|
345
385
|
|
@@ -353,8 +393,24 @@ DISPLAY X Window Systemのデフォルトディスプレイ
|
|
353
393
|
//}
|
354
394
|
```
|
355
395
|
|
356
|
-
|
357
|
-
|
396
|
+
複数の段落を入れる場合は、空行で区切ります。
|
397
|
+
|
398
|
+
## 囲み記事
|
399
|
+
|
400
|
+
技術書でよくある、コラムにするほどではないけれども本文から独立したちょっとした記事を入れるために、以下の命令があります。
|
401
|
+
|
402
|
+
* `//note[キャプション]{ 〜 //}` : ノート
|
403
|
+
* `//memo[キャプション]{ 〜 //}` : メモ
|
404
|
+
* `//tip[キャプション]{ 〜 //}` : Tips
|
405
|
+
* `//info[キャプション]{ 〜 //}` : 情報
|
406
|
+
* `//warning[キャプション]{ 〜 //}` : 注意
|
407
|
+
* `//important[キャプション]{ 〜 //}` : 重要
|
408
|
+
* `//caution[キャプション]{ 〜 //}` : 警告
|
409
|
+
* `//notice[キャプション]{ 〜 //}` : 注意
|
410
|
+
|
411
|
+
いずれも `[キャプション]` は省略できます。
|
412
|
+
|
413
|
+
内容には、空行で区切って複数の段落を記述可能です。
|
358
414
|
|
359
415
|
## 脚注
|
360
416
|
|
@@ -368,30 +424,27 @@ DISPLAY X Window Systemのデフォルトディスプレイ
|
|
368
424
|
//footnote[site][本書のサポートサイト: http://i.loveruby.net/ja/stdcompiler ]
|
369
425
|
```
|
370
426
|
|
371
|
-
|
372
|
-
サイト……」という文は実際の脚注に変換されます。
|
427
|
+
本文中のインライン命令「`@<fn>{site}`」は脚注番号に置換され、「本書のサポートサイト……」という文は実際の脚注に変換されます。
|
373
428
|
|
374
|
-
注意: PDF
|
429
|
+
注意: TeX PDF において、コラムや表など平文でないところで「`@<fn>{~}`」を使うには、`footnotetext` オプションを使う必要があります。
|
375
430
|
|
376
|
-
### footnotetextオプション
|
431
|
+
### footnotetext オプション
|
377
432
|
|
378
|
-
`footnotetext
|
433
|
+
`footnotetext` オプションを使うには、`config.yml` ファイルに`footnotetext: true` を追加します。
|
379
434
|
|
380
|
-
これでPDFのコラムや表のなかでも脚注が使えるようになります。
|
435
|
+
これで PDF のコラムや表のなかでも脚注が使えるようになります。
|
381
436
|
|
382
|
-
|
383
|
-
本文と脚注が別ページに分かれる可能性があるなど、いろいろな制約があります。
|
384
|
-
なお、採番が別々になるためfootnoteとfootnotemark/footnotetextを両立させることはできません。
|
437
|
+
ただし、通常の脚注(footnote)ではなく、footnotemark と footnotetext を使うため、本文と脚注が別ページに分かれる可能性があるなど、いろいろな制約があります。また、採番が別々になるため、footnote と footnotemark/footnotetext を両立させることはできません。
|
385
438
|
|
386
439
|
## 参考文献の定義
|
387
440
|
|
388
|
-
参考文献は同一ディレクトリ内の bib.re
|
441
|
+
参考文献は同一ディレクトリ内の `bib.re` ファイルに定義します。
|
389
442
|
|
390
443
|
```
|
391
|
-
//bibpaper[cite][キャプション]{
|
444
|
+
//bibpaper[cite][キャプション]{…コメント…}
|
392
445
|
```
|
393
446
|
|
394
|
-
|
447
|
+
コメントは省略できます。
|
395
448
|
|
396
449
|
```
|
397
450
|
//bibpaper[cite][キャプション]
|
@@ -408,18 +461,17 @@ Computing Laboratory, The University of Kent at Canterbury , August
|
|
408
461
|
//}
|
409
462
|
```
|
410
463
|
|
411
|
-
|
464
|
+
本文中で参考文献を参照したい場合は、インライン命令 `@<bib>` を使い、次のようにします。
|
412
465
|
|
413
466
|
例:
|
414
467
|
|
415
468
|
```
|
416
|
-
|
469
|
+
…という研究が知られています(@<bib>{lins})。
|
417
470
|
```
|
418
471
|
|
419
472
|
## リード文
|
420
473
|
|
421
|
-
リード文は `//lead{ 〜 //}`
|
422
|
-
歴史的経緯により`//read{ 〜 //}` でも使えます。
|
474
|
+
リード文は `//lead{ 〜 //}` で指定します。歴史的経緯により、`//read{ 〜 //}` も使用可能です。
|
423
475
|
|
424
476
|
例:
|
425
477
|
|
@@ -430,7 +482,9 @@ Computing Laboratory, The University of Kent at Canterbury , August
|
|
430
482
|
//}
|
431
483
|
```
|
432
484
|
|
433
|
-
|
485
|
+
空行区切りで複数の段落を記述することもできます。
|
486
|
+
|
487
|
+
## TeX 式
|
434
488
|
|
435
489
|
LaTeX の式を挿入するには、`//texequation{ 〜 //}` を使います。
|
436
490
|
|
@@ -442,293 +496,271 @@ LaTeX の式を挿入するには、`//texequation{ 〜 //}` を使います。
|
|
442
496
|
//}
|
443
497
|
```
|
444
498
|
|
445
|
-
|
499
|
+
インライン命令では `@<m>{〜}` を使います。インライン命令の式中に「}」を含む場合、`\}` とエスケープする必要があることに注意してください(`{` はエスケープ不要)。
|
446
500
|
|
447
|
-
|
501
|
+
LaTeX の数式が正常に整形されるかどうかは処理系に依存します。たとえば TeX PDF であれば問題なく利用できるでしょうが、EPUB では MathML 変換を有効にしても妥当な結果にならないことがあります。確実を期すならば、画像で表現するほうが適切です。
|
448
502
|
|
503
|
+
## 字下げの制御
|
449
504
|
|
450
|
-
|
505
|
+
段落の行頭字下げを制御するタグとして、`//noindent` があります。HTML では `noindent` が `class` 属性に設定されます。
|
451
506
|
|
507
|
+
## 見出し参照
|
508
|
+
章に対する参照は、次の3つのインライン命令を利用できます。章 ID は、各章のファイル名から拡張子を除いたものです。たとえば `advanced.re` であれば `advanced` が章 ID です。
|
452
509
|
|
453
|
-
|
454
|
-
|
455
|
-
|
510
|
+
* `@<chap>{章ID}` : 「第17章」のような、章番号を含むテキストに置換されます。
|
511
|
+
* `@<title>{章ID}` : その章の章題に置換されます。
|
512
|
+
* `@<chapref>{章ID}` : 『第17章「さらに進んだ話題」』のように、章番号とタイトルを含むテキストに置換されます。
|
456
513
|
|
457
|
-
|
514
|
+
節や項といったより下位の見出しを参照するには、`@<hd>` インライン命令を利用します。見出しの階層を「`|`」で区切って指定します。
|
458
515
|
|
459
516
|
例:
|
460
517
|
|
461
518
|
```
|
462
|
-
|
519
|
+
@<hd>{はじめに|まずは}
|
463
520
|
```
|
464
521
|
|
465
|
-
|
522
|
+
他の章を参照したい場合は、先頭に章 ID を指定してください。
|
466
523
|
|
467
524
|
例:
|
468
525
|
|
469
526
|
```
|
470
|
-
|
527
|
+
@<hd>{preface|はじめに|まずは}
|
471
528
|
```
|
472
529
|
|
473
|
-
|
474
|
-
|
475
|
-
例:
|
530
|
+
参照先にラベルが設定されている場合は、見出しの代わりに、ラベルで参照します。
|
476
531
|
|
477
532
|
```
|
478
|
-
|
533
|
+
=={hajimeni} はじめに
|
534
|
+
…
|
535
|
+
=== まずは
|
536
|
+
…
|
537
|
+
@<hd>{hajimeni|まずは}
|
479
538
|
```
|
480
539
|
|
481
|
-
|
540
|
+
### コラム見出し参照
|
482
541
|
|
483
|
-
|
542
|
+
コラムの見出しの参照は、インライン命令 `@<column>` を使います。
|
484
543
|
|
485
544
|
例:
|
486
545
|
|
487
546
|
```
|
488
|
-
|
547
|
+
@<column>{Re:VIEWの用途いろいろ}
|
489
548
|
```
|
490
549
|
|
491
|
-
|
492
|
-
|
493
|
-
ビルダ名には「`html`」「`latex`」「`idgxml`」「`top`」のいずれかが入り、(複数のビルダにまたがる指定が必要かは別として)「,」で区切って複数指定することも可能です。
|
494
|
-
「バックスラッシュ+n」は改行に変換されます。
|
495
|
-
該当のビルダを使用しているときのみ、内容が出力されます。
|
496
|
-
|
497
|
-
例:
|
550
|
+
ラベルでの参照も可能です。
|
498
551
|
|
499
552
|
```
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
</div>
|
504
|
-
|
505
|
-
(ほかのビルダの場合は単に無視されて何も出力されない)
|
553
|
+
==[column]{review-application} Re:VIEWの応用
|
554
|
+
…
|
555
|
+
@<column>{review-application}
|
506
556
|
```
|
507
557
|
|
508
|
-
|
509
|
-
構造化文書を容易に破壊し得ることに注意してください。
|
510
|
-
|
511
|
-
## その他の文法
|
512
|
-
|
513
|
-
Re:VIEW は任意のブロックを追加可能なので、本によって専用ブロックを
|
514
|
-
使う場合があります。これまでに使った例を以下に示します。
|
558
|
+
## リンク
|
515
559
|
|
516
|
-
|
517
|
-
* `//type` : 関数の型宣言。『ふつうのHaskellプログラミング』で使用。
|
560
|
+
Web ハイパーリンクを記述するには、リンクに `@<href>`、アンカーに `//label` を使います。リンクの書式は `@<href>{URL, 文字表現}` で、「`, 文字表現`」を省略すると URL がそのまま使われます。URL 中に `,` を使いたいときには、`\,` とエスケープしてください。
|
518
561
|
|
519
|
-
|
520
|
-
例えば、
|
562
|
+
例:
|
521
563
|
|
522
564
|
```
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
end
|
529
|
-
end
|
565
|
+
@<href>{http://github.com/, GitHub}
|
566
|
+
@<href>{http://www.google.com/}
|
567
|
+
@<href>{#point1, ドキュメント内ポイント}
|
568
|
+
@<href>{chap1.html#point1, ドキュメント内ポイント}
|
569
|
+
//label[point1]
|
530
570
|
```
|
531
571
|
|
532
|
-
|
572
|
+
## コメント
|
533
573
|
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
B
|
538
|
-
C
|
539
|
-
//}
|
540
|
-
```
|
574
|
+
最終結果に出力されないコメントを記述するには、「`#@#`」を使います。行末までがコメントとして無視されます。
|
575
|
+
|
576
|
+
例:
|
541
577
|
|
542
578
|
```
|
543
|
-
|
544
|
-
A,B,C
|
579
|
+
#@# FIXME: あとで調べておくこと
|
545
580
|
```
|
546
581
|
|
547
|
-
|
548
|
-
|
582
|
+
最終結果に出力するコメントを記述したい場合は、`//comment` または `@<comment>` を使ったうえで、review-compile コマンドに `--draft` オプションを付けて実行します。
|
549
583
|
|
550
|
-
|
584
|
+
例:
|
551
585
|
|
552
586
|
```
|
553
|
-
@<
|
554
|
-
@<img>{unixhistory}:: 「図1.3」のような文字列に置換される。
|
555
|
-
@<table>{ascii}:: 「表1.2」のような文字列に置換される。
|
556
|
-
@<fn>{site}:: 脚注番号に置換される。
|
557
|
-
@<kw>{信任状, credential}:: キーワード。太字などにして強調してください。
|
558
|
-
@<chap>{advanced}:: 「第17章」のような、章番号を含むテキストに置換される。
|
559
|
-
@<title>{advanced}:: その章の章題に置換される。
|
560
|
-
@<chapref>{advanced}:: 『第17章「さらに進んだ話題」』のように、章番号とタイトルを含むテキストに置換される。
|
561
|
-
@<bou>{ふさわしい}:: 傍点。
|
562
|
-
@<ruby>{直截, ちょくせつ}:: ルビ。
|
563
|
-
@<ami>{重点ポイント}:: 文字に対するアミかけ。
|
564
|
-
@<b>{どうしても}:: 太字 (ボールド)。
|
565
|
-
@<i>{どうしても}:: イタリック。
|
566
|
-
@<strong>{どうしても}:: 強調。
|
567
|
-
@<em>{どうしても}:: 強調。
|
568
|
-
@<tt>{foo($bar)}:: テキストをテレタイプ文字(等幅フォント)で出力する。
|
569
|
-
@<tti>{FooClass}:: テキストをテレタイプ文字(等幅フォント)のイタリックで出力する。
|
570
|
-
@<ttb>{BarClass}:: テキストをテレタイプ文字(等幅フォント)の太字で出力する。
|
571
|
-
@<u>{下線}:: 下線。
|
572
|
-
@<br>{}:: 段落中改行。
|
573
|
-
@<m>{a + \alpha}:: TeXインライン式。
|
574
|
-
@<icon>{samplephoto}:: インライン画像。
|
575
|
-
@<uchar>{2460}:: Unicode文字の出力。引数は16進数で指定する。
|
576
|
-
@<href>{http://www.google.com/}:: リンク。URLで指定できる
|
577
|
-
@<raw>{|ビルダ名|<span>★</span>}:: そのまま出力する。「}」は「バックスラッシュ+}」でエスケープする。ビルダ名は「html」「latex」「idgxml」「top」のいずれかで、「,」で区切って複数指定することも可能。該当のビルダを使用時のみ、出力される。内容に「バックスラッシュ+n」を入れると改行に変換される。
|
587
|
+
@<comment>{あとで書く}
|
578
588
|
```
|
579
589
|
|
580
|
-
##
|
590
|
+
## 生データ行
|
591
|
+
|
592
|
+
Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、`//raw` ブロック命令または `@<raw>` インライン命令を使います。
|
581
593
|
|
582
|
-
|
583
|
-
影響を与えます。それに対して以下のタグは著者が使うための
|
584
|
-
専用タグであり、最終段階ではすべて消されてしまいます。
|
594
|
+
例:
|
585
595
|
|
586
596
|
```
|
587
|
-
|
588
|
-
#@warn(...):: 警告メッセージ。プリプロセス時にメッセージが出力される。
|
589
|
-
#@require, #@provide:: キーワードの依存関係を宣言する。
|
590
|
-
#@mapfile(ファイル名) 〜 #@end:: ファイルの内容をその場に展開する。
|
591
|
-
#@maprange(ファイル名, 範囲名) 〜 #@end:: ファイル内の範囲をその場に展開する。
|
592
|
-
#@mapoutput(コマンド) 〜 #@end:: コマンドを実行して、その出力結果を展開する。
|
597
|
+
//raw[|html|<div class="special">\nここは特別な行です。\n</div>]
|
593
598
|
```
|
594
599
|
|
595
|
-
|
600
|
+
ブロック命令は1つだけオプションをとり、「|ビルダ名|そのまま出力させる内容」という書式です。
|
596
601
|
|
597
|
-
|
598
|
-
を置くとその html を ERB で評価します。
|
602
|
+
ビルダ名には「`html`」「`latex`」「`idgxml`」「`top`」のいずれかが入り、(複数のビルダにまたがる指定が必要かは別として)「,」で区切って複数指定することも可能です。「バックスラッシュ+n」は改行に変換されます。該当のビルダを使用しているときのみ、内容が出力されます。
|
599
603
|
|
600
604
|
例:
|
601
605
|
|
602
606
|
```
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
<hr/>
|
610
|
-
</body>
|
611
|
-
</html>
|
607
|
+
(HTMLビルダの場合:)
|
608
|
+
<div class="special">
|
609
|
+
ここは特別な行です。
|
610
|
+
</div>
|
611
|
+
|
612
|
+
(ほかのビルダの場合は単に無視されて何も出力されない)
|
612
613
|
```
|
613
614
|
|
614
|
-
|
615
|
+
インライン命令は、`@<raw>{|ビルダ名|〜}` という書式で、記述はブロック命令に同じです。
|
615
616
|
|
616
|
-
|
617
|
-
PART ファイルは CHAPS の部わけと対応しています。
|
617
|
+
`//raw` および `@<raw>` は、HTML、XML や TeX の文書構造を容易に壊す可能性があります。使用には十分に注意してください。
|
618
618
|
|
619
|
-
|
619
|
+
## インライン命令
|
620
|
+
主なインライン命令を次に示します。
|
620
621
|
|
621
|
-
|
622
|
-
|
623
|
-
intro.re
|
622
|
+
### 書体
|
623
|
+
書体については、適用するスタイルシートなどによって異なることがあります。
|
624
624
|
|
625
|
-
|
625
|
+
* `@<kw>{〜}`, `@<kw>{キーワード, 補足}` : キーワード。通常は太字になることを想定しています。2つめの記法では、たとえば `@<kw>{信任状, credential}` と表記したら「信任状(credential)」のようになります。
|
626
|
+
* `@<bou>{〜}` : 傍点が付きます。
|
627
|
+
* `@<ami>{〜}` : 文字に対して網がかかります。
|
628
|
+
* `@<u>{〜}` : 下線を引きます。
|
629
|
+
* `@<b>{〜}` : 太字にします。
|
630
|
+
* `@<i>{〜}` : イタリックにします。和文の場合、処理系によってはイタリックがかからないこともあります。
|
631
|
+
* `@<strong>{〜}` : 強調(太字)にします。
|
632
|
+
* `@<em>{〜}` : 強調にします。
|
633
|
+
* `@<tt>{〜}` : 等幅にします。
|
634
|
+
* `@<tti>{〜}` : 等幅+イタリックにします。
|
635
|
+
* `@<ttb>{〜}` : 等幅+太字にします。
|
636
|
+
* `@<code>{〜}` : 等幅にします(コードの引用という性質)。
|
637
|
+
* `@<tcy>{〜}` : 縦書きの文書において文字を縦中横にします。
|
626
638
|
|
627
|
-
|
628
|
-
|
639
|
+
### 参照
|
640
|
+
* `@<chap>{章ファイル名}` : 「第17章」のような、章番号を含むテキストに置換されます。
|
641
|
+
* `@<title>{章ファイル名}` : その章の章題に置換されます。
|
642
|
+
* `@<chapref>{章ファイル名}` : 『第17章「さらに進んだ話題」』のように、章番号とタイトルを含むテキストに置換されます。
|
643
|
+
* `@<list>{識別子}` : リストを参照します。
|
644
|
+
* `@<img>{識別子}` : 図を参照します。
|
645
|
+
* `@<table>{識別子}` : 表を参照します。
|
646
|
+
* `@<hd>{ラベルまたは見出し}` : 節や項を参照します。
|
647
|
+
* `@<column>{ラベルまたは見出し}` : コラムを参照します。
|
629
648
|
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
649
|
+
### その他
|
650
|
+
* `@<ruby>{親文字, ルビ}` : ルビを振ります。たとえば `@<ruby>{愕然, がくぜん}` のように表記します。
|
651
|
+
* `@<br>{}` : 段落途中で改行します。濫用は避けたいところですが、表のセル内や箇条書き内などで必要になることもあります。
|
652
|
+
* `@<uchar>{番号}` : Unicode文字を出力します。引数は16進数で指定します。
|
653
|
+
* `@<href>{URL}`, `@<href>{URL, 文字表現}` : ハイパーリンクを作成します(後述)。
|
654
|
+
* `@<icon>{識別子}` : インラインの画像を出力します。
|
655
|
+
* `@<m>{数式}` : インラインの数式を出力します。
|
656
|
+
* `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。
|
636
657
|
|
637
|
-
|
638
|
-
catalog.ymlの使い方については「Re:VIEW カタログファイルガイド」を参照してください。
|
658
|
+
## 著者用タグ(プリプロセッサ命令)
|
639
659
|
|
640
|
-
|
660
|
+
これまでに説明したタグはすべて最終段階まで残り、見た目に影響を与えます。それに対して以下のタグは著者が使うための専用タグであり、変換結果からは除去されます。
|
641
661
|
|
642
|
-
|
643
|
-
|
662
|
+
* `#@#` : コメント。この行には何を書いても無視されます。
|
663
|
+
* `#@warn(〜)` : 警告メッセージ。プリプロセス時にメッセージが出力されます。
|
664
|
+
* `#@require`, `#@provide` : キーワードの依存関係を宣言します。
|
665
|
+
* `#@mapfile(ファイル名) 〜 #@end` : ファイルの内容をその場に展開します。
|
666
|
+
* `#@maprange(ファイル名, 範囲名) 〜 #@end` : ファイル内の範囲をその場に展開します。
|
667
|
+
* `#@mapoutput(コマンド) 〜 #@end` : コマンドを実行して、その出力結果を展開します。
|
644
668
|
|
645
|
-
|
669
|
+
コメントを除き、プリプロセッサ `review-preproc` コマンドとの併用を前提とします。
|
646
670
|
|
647
|
-
|
648
|
-
@<hd>{はじめに|まずわ}
|
649
|
-
```
|
650
|
-
|
651
|
-
見出しを一意に特定できる場合は、"`|`"は不要です。
|
671
|
+
## 国際化(i18n)
|
652
672
|
|
653
|
-
|
654
|
-
@<hd>{まずわ}
|
655
|
-
```
|
673
|
+
Re:VIEW が出力する文字列(「第◯章」「図」「表」など)を、指定した言語に合わせて出力することができます。デフォルトは日本語です。
|
656
674
|
|
657
|
-
|
675
|
+
ファイルが置かれているディレクトリに `locale.yml` というファイルを用意して、以下のように記述します(日本語の場合)。
|
658
676
|
|
659
677
|
例:
|
660
678
|
|
661
679
|
```
|
662
|
-
|
680
|
+
locale: ja
|
663
681
|
```
|
664
682
|
|
665
|
-
|
683
|
+
既存の表記を書き換えたい場合は、該当する項目を上書きします。既存の設定ファイルは Re:VIEW の `lib/review/i18n.yml` にあります。
|
684
|
+
|
685
|
+
例:
|
666
686
|
|
667
687
|
```
|
668
|
-
|
669
|
-
:
|
670
|
-
=== まずわ
|
671
|
-
:
|
672
|
-
@<hd>{hajimeni|まずわ}
|
688
|
+
locale: ja
|
689
|
+
list: 実行例
|
673
690
|
```
|
674
691
|
|
692
|
+
### Re:VIEW カスタムフォーマット
|
675
693
|
|
676
|
-
|
694
|
+
`locale.yml` ファイルでは、章番号などに以下の Re:VIEW カスタムフォーマットを使用可能です。
|
677
695
|
|
678
|
-
|
696
|
+
* `%pA` : アルファベット(大文字)A, B, C, ...
|
697
|
+
* `%pa` : アルファベット(小文字)a, b, c, ...
|
698
|
+
* `%pAW` : アルファベット(大文字・いわゆる全角)A, B, C, ...
|
699
|
+
* `%paW` : アルファベット(小文字・いわゆる全角)a, b, c, ...
|
700
|
+
* `%pR` : ローマ数字(大文字)I, II, III, ...
|
701
|
+
* `%pr` : ローマ数字(小文字)i, ii, iii, ...
|
702
|
+
* `%pRW` : ローマ数字(大文字・単一文字表記)Ⅰ, Ⅱ, Ⅲ, ...
|
703
|
+
* `%pJ` : 漢数字 一, 二, 三, ...
|
704
|
+
* `%pdW' : アラビア数字(0〜9まではいわゆる全角、10以降半角)1, 2, ... 10, ...
|
705
|
+
* `%pDW' : アラビア数字(すべて全角)1, 2, ... 10, ...
|
679
706
|
|
680
707
|
例:
|
681
708
|
|
682
709
|
```
|
683
|
-
|
710
|
+
locale: ja
|
711
|
+
part: 第%pRW部
|
712
|
+
appendix: 付録%pA
|
684
713
|
```
|
685
714
|
|
686
|
-
|
715
|
+
## その他の文法
|
687
716
|
|
688
|
-
|
689
|
-
==[column]{review-application} Re:VIEWの応用
|
690
|
-
:
|
691
|
-
@<column>{review-application}
|
692
|
-
```
|
717
|
+
拡張文法は `review-ext.rb` というファイルで指定できます。
|
693
718
|
|
694
|
-
|
719
|
+
たとえば、
|
695
720
|
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
721
|
+
```ruby
|
722
|
+
# review-ext.rb
|
723
|
+
ReVIEW::Compiler.defblock :foo, 0..1
|
724
|
+
class ReVIEW::HTMLBuilder
|
725
|
+
def foo(lines, caption = nil)
|
726
|
+
puts lines.join(",")
|
727
|
+
end
|
728
|
+
end
|
729
|
+
```
|
700
730
|
|
701
|
-
|
731
|
+
のような内容のファイルを用意すると、以下のような文法を追加できます。
|
702
732
|
|
703
733
|
```
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
//
|
734
|
+
//foo{
|
735
|
+
A
|
736
|
+
B
|
737
|
+
C
|
738
|
+
//}
|
709
739
|
```
|
710
740
|
|
711
|
-
## 国際化(i18n)
|
712
|
-
|
713
|
-
Re:VIEWが出力する文字列(「第◯章」「図」「表」など)を、指定した言語に
|
714
|
-
合わせて出力することができます。デフォルトは日本語です。
|
715
|
-
|
716
|
-
CHAPS などと同じディレクトリに locale.yml というファイルを用意して、
|
717
|
-
以下のように記述します(日本語の場合)。
|
718
|
-
|
719
|
-
例:
|
720
|
-
|
721
741
|
```
|
722
|
-
|
742
|
+
# 出力結果
|
743
|
+
A,B,C
|
723
744
|
```
|
724
745
|
|
725
|
-
|
726
|
-
|
746
|
+
詳しいことについては、ここでは触れません。
|
747
|
+
|
748
|
+
## HTML および LaTeX のレイアウト機能
|
749
|
+
|
750
|
+
ファイルが置かれているディレクトリに layouts/layout.html.erb を置くと、デフォルトの HTML テンプレートの代わりにその HTML が使われます(erb 記法で記述します)。
|
727
751
|
|
728
752
|
例:
|
729
753
|
|
730
754
|
```
|
731
|
-
|
732
|
-
|
733
|
-
|
755
|
+
<html>
|
756
|
+
<head>
|
757
|
+
<title><%= @config["booktitle"] %></title>
|
758
|
+
</head>
|
759
|
+
<body>
|
760
|
+
<%= @body %>
|
761
|
+
<hr/>
|
762
|
+
</body>
|
763
|
+
</html>
|
734
764
|
```
|
765
|
+
|
766
|
+
同様に、layouts/layout.tex.erb で、デフォルトの LaTeX テンプレートを置き換えることができます。
|