review 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.travis.yml +1 -0
  4. data/ChangeLog +87 -0
  5. data/bin/review-check +2 -2
  6. data/bin/review-compile +15 -30
  7. data/bin/review-index +1 -1
  8. data/bin/review-init +12 -7
  9. data/bin/review-vol +9 -1
  10. data/doc/catalog.ja.md +53 -0
  11. data/doc/catalog.md +52 -0
  12. data/doc/format.ja.md +734 -0
  13. data/doc/format.md +746 -0
  14. data/doc/format_idg.ja.md +203 -0
  15. data/doc/{quickstart.rdoc → quickstart.ja.md} +138 -104
  16. data/doc/quickstart.md +252 -0
  17. data/doc/sample.yml +216 -48
  18. data/lib/epubmaker.rb +0 -1
  19. data/lib/epubmaker/content.rb +2 -2
  20. data/lib/epubmaker/epubcommon.rb +440 -0
  21. data/lib/epubmaker/epubv2.rb +8 -418
  22. data/lib/epubmaker/epubv3.rb +67 -61
  23. data/lib/epubmaker/producer.rb +60 -19
  24. data/lib/review/book.rb +1 -3
  25. data/lib/review/book/base.rb +18 -11
  26. data/lib/review/book/chapter.rb +5 -24
  27. data/lib/review/book/compilable.rb +5 -1
  28. data/lib/review/book/index.rb +48 -17
  29. data/lib/review/book/page_metric.rb +17 -8
  30. data/lib/review/book/part.rb +12 -2
  31. data/lib/review/book/volume.rb +3 -2
  32. data/lib/review/builder.rb +30 -10
  33. data/lib/review/compiler.rb +6 -4
  34. data/lib/review/configure.rb +3 -3
  35. data/lib/review/epubmaker.rb +56 -26
  36. data/lib/review/htmlbuilder.rb +33 -42
  37. data/lib/review/htmlutils.rb +12 -7
  38. data/lib/review/i18n.rb +77 -17
  39. data/lib/review/i18n.yml +80 -4
  40. data/lib/review/idgxmlbuilder.rb +27 -57
  41. data/lib/review/inaobuilder.rb +3 -3
  42. data/lib/review/latexbuilder.rb +90 -67
  43. data/lib/review/layout.tex.erb +54 -7
  44. data/lib/review/markdownbuilder.rb +21 -3
  45. data/lib/review/pdfmaker.rb +67 -38
  46. data/lib/review/sec_counter.rb +1 -1
  47. data/lib/review/tocparser.rb +9 -5
  48. data/lib/review/topbuilder.rb +6 -6
  49. data/lib/review/version.rb +1 -1
  50. data/review.gemspec +3 -1
  51. data/test/book_test_helper.rb +1 -1
  52. data/test/sample-book/README.md +2 -0
  53. data/test/sample-book/src/Rakefile +31 -0
  54. data/test/sample-book/src/_cover.html +0 -0
  55. data/test/sample-book/src/catalog.yml +10 -0
  56. data/test/sample-book/src/ch01.re +0 -0
  57. data/test/sample-book/src/ch02.re +0 -0
  58. data/test/sample-book/src/config.yml +160 -32
  59. data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
  60. data/test/sample-book/src/images/cover.jpg +0 -0
  61. data/test/sample-book/src/preface.re +0 -0
  62. data/test/sample-book/src/sty/jumoline.sty +0 -0
  63. data/test/sample-book/src/sty/reviewmacro.sty +18 -0
  64. data/test/sample-book/src/style.css +0 -0
  65. data/test/test_book.rb +25 -27
  66. data/test/test_book_chapter.rb +4 -73
  67. data/test/test_book_part.rb +5 -4
  68. data/test/test_builder.rb +3 -3
  69. data/test/test_epub3maker.rb +527 -0
  70. data/test/test_epubmaker.rb +6 -6
  71. data/test/test_htmlbuilder.rb +143 -6
  72. data/test/test_i18n.rb +95 -10
  73. data/test/test_idgxmlbuilder.rb +28 -2
  74. data/test/test_index.rb +109 -1
  75. data/test/test_latexbuilder.rb +51 -0
  76. data/test/test_markdownbuilder.rb +54 -1
  77. data/test/test_pdfmaker.rb +7 -6
  78. data/test/test_review_ext.rb +31 -0
  79. data/test/test_topbuilder.rb +3 -1
  80. metadata +46 -13
  81. data/doc/catalog.rdoc +0 -49
  82. data/doc/format.rdoc +0 -618
  83. data/doc/format_idg.rdoc +0 -180
  84. data/doc/libepubmaker/config.yml +0 -207
  85. data/lib/epubmaker/resource.rb +0 -82
  86. data/test/sample-book/src/CHAPS +0 -2
  87. data/test/sample-book/src/PREDEF +0 -1
data/doc/catalog.rdoc DELETED
@@ -1,49 +0,0 @@
1
- = Re:VIEW カタログファイル ガイド
2
-
3
- Re:VIEW のカタログファイル catalog.ymlについて説明します。
4
-
5
- == カタログファイルとは
6
-
7
- Re:VIEW フォーマットで記述された各ファイルを特に一冊の本(例えばpdfやepub)にまとめる際に、どのようにそれらのファイルを構造化するかを指定するファイルです。
8
- 現在はカタログファイルと言えばcatalog.ymlのことを指します。
9
-
10
- == catalog.ymlを用いた場合の設定方法
11
-
12
- catalog.yml内で、PREDEF(前付け)、CHAPS(本編)、APPENDIX(付録)、POSTDEF(後付け)を記述します。CHAPSのみ必須です。
13
-
14
- PREDEF:
15
- - intro.re
16
-
17
- CHAPS:
18
- - ch01.re
19
- - ch02.re
20
-
21
- APPENDIX:
22
- - appendix.re
23
-
24
- POSTDEF:
25
- - postscript.re
26
-
27
- 本編に対して、「部」構成を加えたい場合、CHAPSを段階的にして記述します。部の指定については、タイトル名でもファイル名でもどちらでも使えます。
28
-
29
- CHAPS:
30
- - ch01.re
31
- - 第1部:
32
- - ch02.re
33
- - ch03.re
34
- - pt02.re:
35
- - ch04.re
36
-
37
- (旧バージョンの利用者の方へ: PARTという項目はありません。CHAPSに記述してください)
38
-
39
- == バージョン 1.3以前について
40
-
41
- APPENDIXは指定できません。POSTDEFを使ってください。
42
-
43
- == バージョン 1.2以前について
44
-
45
- 1.2以前のRe:VIEWではカタログファイルとしてPREDEF, CHAPS, POSTDEF, PARTという独立した4つのファイルを使用していました。
46
- そのため、当時のバージョンを利用する際にはcatalog.ymlではなくそちらを記述する必要があります。
47
-
48
- 現在のRe:VIEWはcatalog.ymlを用いた方法と旧バージョンが使用していたCHAPS, PREDEF, POSTDEF, PARTを用いた方法と両方をサポートしています。
49
- ただしcatalog.ymlが存在する場合、そちらが優先されます。
data/doc/format.rdoc DELETED
@@ -1,618 +0,0 @@
1
- = Re:VIEW フォーマット
2
-
3
- Re:VIEW フォーマットの文法について解説します。Re:VIEW
4
- フォーマットは ASCII の EWB を基本としながら、一部に
5
- RD や各種 Wiki の文法をとりいれて簡素化しています。
6
-
7
- == 段落
8
-
9
- 段落(本文)の間は英語の段落のように1行空けます。
10
-
11
- 例:
12
-
13
- だんらくだんらく〜〜〜
14
- この行も同じ段落
15
-
16
- 次の段落〜〜〜
17
-
18
- 2行以上空いている場合も1行空きと同様に処理します。
19
-
20
- == 章・節・項・段(見出し)
21
-
22
- 章・節・項・段など、見出しは「=」「==」「===」「====」「=====」です。6 レベル以上は使えません。
23
-
24
- 例:
25
-
26
- = 章のキャプション
27
-
28
- == 節のキャプション
29
-
30
- === 項のキャプション
31
-
32
- ==== 段のキャプション
33
-
34
- ===== 小段のキャプション
35
-
36
- 見出しは行の先頭から始める必要があります。行頭に空白が入ると、ただの本文とみなされます。
37
-
38
- == コラムなど
39
-
40
- 節や項の見出しに [column] を追加するとコラムのキャプションになります。
41
-
42
- 例:
43
-
44
- ===[column] コンパイラコンパイラ
45
-
46
- このとき、「=」と「[column]」は間を開けず、必ず続けて書かなければ
47
- なりません。空白があってもいけません。
48
-
49
- 次の節や項を待たずにコラムを終了する場合は、「===[/column]」を記述します。
50
-
51
- 例:
52
-
53
- ===[column] コンパイラコンパイラ
54
-
55
- コラムの内容
56
-
57
- ===[/column]
58
-
59
- == 箇条書き
60
-
61
- 箇条書き (HTML で言う ul) は「*」で表現します。
62
- ネストは「**」のように深さに応じて数を増やします。
63
-
64
- 例:
65
-
66
- * 第一の項目
67
- ** 第一の項目のネスト
68
- * 第二の項目
69
- ** 第二の項目のネスト
70
- * 第三の項目
71
-
72
- 箇条書きを書くには、行頭に1つ以上の空白を必ず入れるようにします。
73
- 行頭に空白を入れず「*」を書くと、ただのテキストとみなされます。
74
-
75
- == 番号付き箇条書き
76
-
77
- 番号付きの箇条書き (HTML で言う ol) は「1. 〜」「2. 〜」
78
- 「3. 〜」で示します。ネストはしません。
79
-
80
- 例:
81
-
82
- 1. 第一の条件
83
- 2. 第二の条件
84
- 3. 第三の条件
85
-
86
- 番号付き箇条書きも、ただの箇条書きと同様、行頭に1つ以上の空白が必要です。
87
-
88
- == 用語リスト
89
-
90
- 用語リスト (HTML で言う dl) は「:」と、続く空白で始まる行を使って示します。
91
-
92
- 例:
93
-
94
- : Alpha
95
- DEC の作っていた RISC CPU。
96
- 浮動小数点数演算が速い。
97
- : POWER
98
- IBM とモトローラが共同製作した RISC CPU。
99
- 派生として POWER PC がある。
100
- : SPARC
101
- Sun が作っている RISC CPU。
102
- CPU 数を増やすのが得意。
103
-
104
- 頭の「:」それ自体はテキストではないので注意してください。
105
- その後に続く文字列が用語名(HTMLではdt要素)になります。
106
-
107
- 用語リストの「:」ではじまる行は、行頭に空白があってもなくてもかまいません。
108
- そして、その行以降、空白で始まる行が用語内容(HTMLではdd要素)になります。
109
-
110
- また、リスト内でも後述するインライン命令は有効です。
111
-
112
- == ソースコードなどのリスト
113
-
114
- ソースコードリストにはキャプションの付くリストとキャプションの付かないリストがあります。
115
- 連番つきリストは「//list[識別子][キャプション]{ 〜 //}」で、
116
- 連番なしリストは「//emlist[キャプション]{ 〜 //}」です。
117
- //emlistのキャプションは省略できます。
118
-
119
- 例:
120
-
121
- //list[main][main()]{ ←「main」が識別子で「main()」がキャプション
122
- int
123
- main(int argc, char **argv)
124
- {
125
- puts("OK");
126
- return 0;
127
- }
128
- //}
129
-
130
- 例:
131
-
132
- //emlist{
133
- printf("hello");
134
- //}
135
-
136
- ブロック内でも後述するインライン命令は有効です。
137
-
138
- また本文中で「リスト X を見てください」のようにリストを指定
139
- する場合は、//list で指定した識別子を使って「@<list>{main}」
140
- と表記します。
141
-
142
- === ソースコード専用の引用
143
-
144
- ソースコードを引用する場合、ファイル名が必要です。
145
-
146
- 例:
147
-
148
- //source[/hello/world.rb]{
149
- puts "hello world!"
150
- //}
151
-
152
- ソースコードの引用は、キャプションをつけた//emlistとあまり違いはありません。
153
- が、HTMLのCSSなどでは区別した表現ができます。
154
-
155
- == 行番号付き連番ありリスト
156
-
157
- 連番ありのリスト(list)で自動的に行番号がつきます。
158
-
159
- 例:
160
-
161
- //listnum[hello][ハローワールド]{
162
- puts "hello world!"
163
- //}
164
-
165
- 参照方法はlistと変わりません。
166
-
167
- 例:
168
-
169
- ..は@<list>{hello}をみてください。
170
-
171
- == 行番号付き連番なしリスト
172
-
173
- 連番なしのリスト(emlist)で自動的に行番号がつきます。
174
-
175
- 例:
176
-
177
- //emlistnum{
178
- puts "hello world!"
179
- //}
180
-
181
- == 本文中でのソースコード引用
182
-
183
- 本文中でソースコードを引用して記述します。
184
-
185
- 例:
186
-
187
- @<code>{p = obj.ref_cnt}
188
-
189
- == コマンドラインのキャプチャ
190
-
191
- コマンドラインの操作を示すときは //cmd{ 〜 //} を使います。
192
-
193
- 例:
194
-
195
- //cmd{
196
- $ ls /
197
- //}
198
-
199
- ブロック内でも後述するインライン命令は有効です。
200
-
201
- == 図
202
-
203
- 図は //image{ 〜 //} で指定します。執筆中はアスキーアートで
204
- 代替しているため、ダミーのアスキーアートが入っていることがあり
205
- ます。この部分は、組版時には単に無視してください。
206
-
207
- 例:
208
-
209
- //image[unixhistory][UNIX系OSの簡単な系譜]{
210
- System V 系列
211
- +----------- SVr4 --> 各種商用UNIX(Solaris, AIX, HP-UX, ...)
212
- V1 --> V6 --|
213
- +--------- 4.4BSD --> FreeBSD, NetBSD, OpenBSD, ...
214
- BSD 系列
215
-
216
- --------------> Linux
217
- //}
218
-
219
- 3番目の引数として、画像の倍率・大きさを指定することができます。
220
- 今のところ「scale=X」で倍率(X倍)が指定できます。
221
-
222
- また本文中で「図 X を見てください」のように図を指定する場合は、
223
- //image で指定した識別子を用いて「@<img>{unixhistory}」と
224
- 記述します。//image と @<img> でつづりが違うので注意してください。
225
-
226
- なお、後述しますが、インラインで図を出力するには@<icon>を使用します。
227
-
228
- 図として貼り込む画像ファイルは、次の順序で探索され、最初に発見されたものが利用されます。
229
-
230
- 1. <imgdir>/<builder>/<chapid>/<id>.<ext>
231
- 2. <imgdir>/<builder>/<chapid>-<id>.<ext>
232
- 3. <imgdir>/<builder>/<id>.<ext>
233
- 4. <imgdir>/<chapid>/<id>.<ext>
234
- 5. <imgdir>/<chapid>-<id>.<ext>
235
- 6. <imgdir>/<id>.<ext>
236
-
237
- * <imgdir> はデフォルトでは images ディレクトリです。
238
- * <builder> は利用しているビルダ名 (ターゲット名) で、たとえば --target=html としているのであれば、images/html ディレクトリとなります。
239
- * <chapid> は re ファイルの名前に相当します。たとえば ch01.re という名前であれば「ch01」です。
240
- * <id> は //image[〜] の最初に入れた「〜」のことです (つまり、ID に日本語や空白交じりの文字を使ってしまうと、後で画像ファイル名の名付けに苦労することになります!)。
241
- * <ext> は Re:VIEW が自動で判別する拡張子です。ビルダによってサポートおよび優先する拡張子は異なります。
242
-
243
- == 番号が振られていない図
244
-
245
- //indepimage[ファイル名][キャプション] で番号が振られていない画像ファイルを生成します。キャプションは省略できます。
246
-
247
- 例:
248
-
249
- //indepimage[unixhistory2]
250
-
251
- 同様のことは、//numberlessimageでも使えます。
252
-
253
- 例:
254
-
255
- //numberlessimage[door_image_path][扉絵]
256
-
257
- ※ただし、//indepimageと機能的にかぶっているので、将来は廃止され、//indepimageに統合される予定です。
258
-
259
- == グラフ表現ツールを使った図
260
-
261
- //graph[ファイル名][コマンド名][キャプション] で各種グラフ表現ツールを使った画像ファイルの生成ができます。キャプションは省略できます。
262
-
263
- 例: gnuplotの使用
264
-
265
- //graph[sin_x][gnuplot]{
266
- plot sin(x)
267
- //}
268
-
269
- コマンド名には、「graphviz」「gnuplot」「blockdiag」「aafigure」のいずれかを指定できます。ツールはそれぞれ別途インストールする必要があります。
270
-
271
- == 表
272
-
273
- 表は //table[識別子][キャプション]{ 〜 //} です。ヘッダと内容を
274
- 分ける罫線は「------」で書き込んであります。
275
-
276
- カラム間は任意個数のタブで区切ります。また、カラム先頭の「.」は削除されるので、カラムの先頭文字が「.」の場合は「.」をもう一つ余計に付けてください。例えば「.」という内容のカラムは「..」と書きます。
277
- また、空のカラムは「.」と書けます。
278
-
279
- 例:
280
-
281
- //table[envvars][重要な環境変数]{
282
- 名前 意味
283
- -------------------------------------------------------------
284
- PATH コマンドの存在するディレクトリ
285
- TERM 使っている端末の種類。linux・kterm・vt100など
286
- LANG ユーザのデフォルトロケール。日本語ならja_JP.eucJPやja_JP.utf8
287
- LOGNAME ユーザのログイン名
288
- TEMP 一時ファイルを置くディレクトリ。/tmpなど
289
- PAGER manなどで起動するテキスト閲覧プログラム。lessなど
290
- EDITOR デフォルトエディタ。viやemacsなど
291
- MANPATH manのソースを置いているディレクトリ
292
- DISPLAY X Window Systemのデフォルトディスプレイ
293
- //}
294
-
295
- 本文中で「表 X を見てください」のように表を指定する場合は
296
- @<table>{envvars} という表記を使います。
297
-
298
- 表内でも後述するインライン命令は有効です。
299
-
300
- == 引用
301
-
302
- 引用は「//quote{ 〜 //}」を使って記述します。
303
-
304
- 例:
305
-
306
- //quote{
307
- 百聞は一見に如かず。
308
- //}
309
-
310
- 引用内でも後述するインライン命令は有効です。
311
- また、いまのところ引用内で別のブロック構文を使うことはできません。
312
-
313
- == 脚注
314
-
315
- 脚注は「//footnote」を使って記述します。
316
-
317
- 例:
318
-
319
- パッケージは本書のサポートサイトから入手できます@<fn>{site}。
320
- 各自ダウンロードしてインストールしておいてください。
321
- //footnote[site][本書のサポートサイト: http://i.loveruby.net/ja/stdcompiler ]
322
-
323
- 本文中の「@<fn>{site}」は脚注番号に置換され、「本書のサポート
324
- サイト……」という文は実際の脚注に変換されます。
325
-
326
- 注意: PDFで、コラムや表など平文でないところで「@<fn>{~}」を使うには、footnotetextオプションを使う必要があります。
327
-
328
- === footnotetextオプション
329
-
330
- footnotetextオプションを使うには、YAMLファイルのparamsに「--footnotetext」を追加します。
331
-
332
- これでPDFのコラムや表のなかでも脚注が使えるようになります。
333
-
334
- ただし、通常の脚注(footnote)ではなく、footnotemarkとfootnotetextを使うため、
335
- 本文と脚注が別ページに分かれる可能性があるなど、いろいろな制約があります。
336
- なお、採番が別々になるためfootnoteとfootnotemark/footnotetextを両立させることはできません。
337
-
338
- == 参考文献の定義
339
-
340
- 参考文献は同一ディレクトリ内の bib.re に定義します。
341
- //bibpaper[cite][キャプション]{..コメント..}
342
- コメントが無い場合も定義可能です。
343
- //bibpaper[cite][キャプション]
344
-
345
- 例:
346
-
347
- //bibpaper[lins][Lins, 1991]{
348
- Refael D. Lins. A shared memory architecture for parallel study of
349
- algorithums for cyclic reference_counting. Technical Report 92,
350
- Computing Laboratory, The University of Kent at Canterbury , August
351
- 1991
352
- //}
353
-
354
- 本文中で参考文献を参照したい場合は次のようにしてください。
355
-
356
- 例:
357
-
358
- …という研究が知られています(@<bib>{lins})
359
-
360
- == リード文
361
-
362
- リード文は //lead{ 〜 //} で指定します。
363
- 歴史的経緯により//read{ 〜 //} でも使えます。
364
-
365
- 例:
366
-
367
- //lead{
368
- 本章ではまずこの本の概要について話し、
369
- 次にLinuxでプログラムを作る方法を説明していきます。
370
- //}
371
-
372
- == TeX式
373
-
374
- LaTeX の式を挿入するには、//texequation{ 〜 //} を使います。
375
-
376
- 例:
377
-
378
- //texequation{
379
- \sum_{i=1}^nf_n(x)
380
- //}
381
-
382
- == 空白制御
383
-
384
- 出力される空白を制御するタグとしては、//noindentがあります。
385
-
386
- //noindent:: その直後に来る段落冒頭のインデントをなくす(HTMLではnoindentクラスになる)
387
-
388
- 以前あった「//linebreak」(改行)、「//pagebreak」(改ページ)は廃止になります。
389
-
390
- == コメント
391
-
392
- 最終結果に出力されないコメントを記述したい場合は「#@#」を使ってください。
393
-
394
- 例:
395
-
396
- #@# ここで 1 行あける
397
-
398
- また、修正が必要な警告的コメントには#@warn(...)を使ってください。
399
-
400
- 例:
401
-
402
- #@warn(あとで書く)
403
-
404
- 最終結果に出力するコメントを記述したい場合は、//commentまたは@<comment>を使った上で、review-compileコマンドに--draftオプションを追加してください。
405
-
406
- 例:
407
-
408
- @<comment>{あとで書く}
409
-
410
- == 生データ行
411
-
412
- Re:VIEW のタグ範囲を越えて何か特別な行を挿入したい場合、//raw を使います。
413
-
414
- 例:
415
-
416
- //raw[|html|<div class="special">\nここは特別な行です。\n</div>]
417
-
418
- 「|ビルダ名|そのまま出力させる内容」という書式です。
419
-
420
- ビルダ名には「html」「latex」「idgxml」「top」のいずれかが入り、(複数のビルダにまたがる指定が必要かは別として)「,」で区切って複数指定することも可能です。
421
- 「バックスラッシュ+n」は改行に変換されます。
422
- 該当のビルダを使用しているときのみ、内容が出力されます。
423
-
424
- 例:
425
-
426
- (HTMLビルダの場合:)
427
- <div class="special">
428
- ここは特別な行です。
429
- </div>
430
-
431
- (ほかのビルダの場合は単に無視されて何も出力されない)
432
-
433
- //raw およびこの後に紹介する @<raw> インラインタグは、誤った内容を入れると
434
- 構造化文書を容易に破壊し得ることに注意してください。
435
-
436
- == その他の文法
437
-
438
- Re:VIEW は任意のブロックを追加可能なので、本によって専用ブロックを
439
- 使う場合があります。これまでに使った例を以下に示します。
440
-
441
- //prototype:: 関数プロトタイプ。『ふつうのLinuxプログラミング』で使用。
442
- //type:: 関数の型宣言。『ふつうのHaskellプログラミング』で使用。
443
-
444
- 拡張文法はreview-ext.rbというファイルで指定できます。
445
- 例えば、
446
-
447
- # review-ext.rb
448
- ReVIEW::Compiler.defblock :foo, 0..1
449
-
450
- class ReVIEW::HTMLBuilder
451
- def foo(lines, caption = nil)
452
- puts lines.join(",")
453
- end
454
- end
455
-
456
- のようにすると、以下のような文法を追加できます。
457
-
458
- //foo{
459
- A
460
- B
461
- C
462
- //}
463
-
464
- # 出力結果
465
- A,B,C
466
-
467
- 詳しいことについては、ここでは触れません。
468
-
469
-
470
- == 段落中で使う文法 (インライン命令)
471
-
472
- @<list>{program}:: 「リスト1.5」のような文字列に置換される。
473
- @<img>{unixhistory}:: 「図1.3」のような文字列に置換される。
474
- @<table>{ascii}:: 「表1.2」のような文字列に置換される。
475
- @<fn>{site}:: 脚注番号に置換される。
476
- @<kw>{信任状, credential}:: キーワード。太字などにして強調してください。
477
- @<chap>{advanced}:: 「第17章」のような、章番号を含むテキストに置換される。
478
- @<title>{advanced}:: その章の章題に置換される。
479
- @<chapref>{advanced}:: 『第17章「さらに進んだ話題」』のように、章番号とタイトルを含むテキストに置換される。
480
- @<bou>{ふさわしい}:: 傍点。
481
- @<ruby>{直截, ちょくせつ}:: ルビ。
482
- @<ami>{重点ポイント}:: 文字に対するアミかけ。
483
- @<b>{どうしても}:: 太字 (ボールド)。
484
- @<i>{どうしても}:: イタリック。
485
- @<strong>{どうしても}:: 強調。
486
- @<em>{どうしても}:: 強調。
487
- @<tt>{foo($bar)}:: テキストをテレタイプ文字(等幅フォント)で出力する。
488
- @<tti>{FooClass}:: テキストをテレタイプ文字(等幅フォント)のイタリックで出力する。
489
- @<ttb>{BarClass}:: テキストをテレタイプ文字(等幅フォント)の太字で出力する。
490
- @<u>{下線}:: 下線。
491
- @<br>{}:: 段落中改行。
492
- @<m>{a + \alpha}:: TeXインライン式。
493
- @<icon>{samplephoto}:: インライン画像。
494
- @<uchar>{2460}:: Unicode文字の出力。引数は16進数で指定する。
495
- @<href>{http://www.google.com/}:: リンク。URLで指定できる
496
- @<raw>{|ビルダ名|<span>★</span>}:: そのまま出力する。「}」は「バックスラッシュ+}」でエスケープする。ビルダ名は「html」「latex」「idgxml」「top」のいずれかで、「,」で区切って複数指定することも可能。該当のビルダを使用時のみ、出力される。内容に「バックスラッシュ+n」を入れると改行に変換される。
497
-
498
- == 著者用タグ (プリプロセッサ命令)
499
-
500
- これまでに説明したタグはすべて最終段階まで残り、見ために
501
- 影響を与えます。それに対して以下のタグは著者が使うための
502
- 専用タグであり、最終段階ではすべて消されてしまいます。
503
-
504
- #@#:: コメント。この行には何を書いても無視される。
505
- #@warn(...):: 警告メッセージ。プリプロセス時にメッセージが出力される。
506
- #@require, #@provide:: キーワードの依存関係を宣言する。
507
- #@mapfile(ファイル名) 〜 #@end:: ファイルの内容をその場に展開する。
508
- #@maprange(ファイル名, 範囲名) 〜 #@end:: ファイル内の範囲をその場に展開する。
509
- #@mapoutput(コマンド) 〜 #@end:: コマンドを実行して、その出力結果を展開する。
510
-
511
- == HTMLのレイアウト機能
512
-
513
- CHAPSファイルが置かれているディレクトリに layouts/layout.html.erb
514
- を置くとその html を ERB で評価します。
515
-
516
- 例:
517
-
518
- <html>
519
- <head>
520
- <title><%= title %></title>
521
- </head>
522
- <body>
523
- <%= body %>
524
- <hr/>
525
- </body>
526
- </html>
527
-
528
- == 部タイトル取得(目次生成機能)
529
-
530
- PART ファイルに定義してください。
531
- PART ファイルは CHAPS の部わけと対応しています。
532
-
533
- 例:
534
-
535
- CHAPS:
536
- intro.re
537
-
538
- start.re
539
-
540
- end.re
541
-
542
- PART:
543
- (序章なので空行)
544
- はじまりの部
545
- おわりの部
546
-
547
- == 見出し参照
548
-
549
- 見出し番号と見出しを生成します。
550
- 見出しの階層は"|"で区切って指定してください。
551
-
552
- 例:
553
-
554
- @<hd>{はじめに|まずわ}
555
-
556
- 他の章を参照したい場合は、先頭に章のidを指定してください。
557
-
558
- 例:
559
-
560
- @<hd>{preface|はじめに|まずわ}
561
-
562
- 参照先にラベルが設定されている場合は、ラベルで参照します。
563
-
564
- =={hajimeni} はじめに
565
- :
566
- === まずわ
567
- :
568
- @<hd>{hajimeni|まずわ}
569
-
570
- === コラム見出し参照
571
-
572
- コラムの見出しの参照は、@<column>を使います。
573
-
574
- 例:
575
-
576
- @<column>{Re:VIEWの用途いろいろ}
577
-
578
- ラベルでの参照もできます。
579
-
580
- ==[column]{review-application} Re:VIEWの応用
581
- :
582
- @<column>{review-application}
583
-
584
- == リンク
585
-
586
- Web ハイパーリンクを記述するには、リンクに @<href>、アンカーに //label
587
- を使います。リンクの書式は @<href>{URL, 文字表現} で、「, 文字表現」を
588
- 省略すると URL がそのまま使われます。URL 中に , を使いたいときには、\,
589
- と表記してください。
590
-
591
- 例:
592
-
593
- @<href>{http://github.com/, GitHub}
594
- @<href>{http://www.google.com/}
595
- @<href>{#point1, ドキュメント内ポイント}
596
- @<href>{chap1.html#point1, ドキュメント内ポイント}
597
- //label[point1]
598
-
599
- == 国際化(i18n)
600
-
601
- Re:VIEWが出力する文字列(「第◯章」「図」「表」など)を、指定した言語に
602
- 合わせて出力することができます。デフォルトは日本語です。
603
-
604
- CHAPS などと同じディレクトリに locale.yml というファイルを用意して、
605
- 以下のように記述します(日本語の場合)。
606
-
607
- 例:
608
-
609
- locale: ja
610
-
611
- 既存の表記を書き換えたい場合は、該当する項目を上書きします。
612
- 既存の設定ファイルは lib/review/i18n.yml にあります。
613
-
614
- 例:
615
-
616
- locale: ja
617
- image: イメージ
618
- table: テーブル