review 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +90 -66
  3. data/.travis.yml +1 -1
  4. data/Gemfile +0 -1
  5. data/NEWS.ja.md +82 -0
  6. data/NEWS.md +83 -0
  7. data/README.md +5 -3
  8. data/Rakefile +8 -8
  9. data/bin/review +1 -5
  10. data/bin/review-catalog-converter +22 -27
  11. data/bin/review-check +36 -43
  12. data/bin/review-checkdep +10 -15
  13. data/bin/review-compile +37 -55
  14. data/bin/review-epubmaker +4 -5
  15. data/bin/review-index +21 -29
  16. data/bin/review-init +26 -37
  17. data/bin/review-pdfmaker +0 -2
  18. data/bin/review-preproc +25 -45
  19. data/bin/review-validate +19 -18
  20. data/bin/review-vol +15 -27
  21. data/doc/config.yml.sample +5 -2
  22. data/doc/format.ja.md +20 -1
  23. data/doc/format.md +21 -5
  24. data/doc/images/review-generate.png +0 -0
  25. data/lib/epubmaker.rb +1 -3
  26. data/lib/epubmaker/content.rb +24 -27
  27. data/lib/epubmaker/epubcommon.rb +135 -148
  28. data/lib/epubmaker/epubv2.rb +39 -46
  29. data/lib/epubmaker/epubv3.rb +93 -103
  30. data/lib/epubmaker/producer.rb +138 -151
  31. data/lib/epubmaker/zip_exporter.rb +21 -26
  32. data/lib/review/book.rb +3 -6
  33. data/lib/review/book/base.rb +78 -103
  34. data/lib/review/book/chapter.rb +36 -40
  35. data/lib/review/book/compilable.rb +28 -31
  36. data/lib/review/book/image_finder.rb +6 -13
  37. data/lib/review/book/index.rb +100 -121
  38. data/lib/review/book/page_metric.rb +2 -7
  39. data/lib/review/book/part.rb +18 -20
  40. data/lib/review/book/volume.rb +9 -13
  41. data/lib/review/builder.rb +81 -116
  42. data/lib/review/catalog.rb +15 -19
  43. data/lib/review/compiler.rb +64 -83
  44. data/lib/review/configure.rb +87 -97
  45. data/lib/review/converter.rb +2 -7
  46. data/lib/review/epubbuilder.rb +1 -3
  47. data/lib/review/epubmaker.rb +213 -205
  48. data/lib/review/exception.rb +2 -4
  49. data/lib/review/extentions.rb +0 -1
  50. data/lib/review/extentions/hash.rb +2 -2
  51. data/lib/review/extentions/string.rb +5 -30
  52. data/lib/review/htmlbuilder.rb +320 -375
  53. data/lib/review/htmltoc.rb +4 -7
  54. data/lib/review/htmlutils.rb +29 -32
  55. data/lib/review/i18n.rb +33 -44
  56. data/lib/review/i18n.yml +3 -3
  57. data/lib/review/idgxmlbuilder.rb +309 -345
  58. data/lib/review/latexbuilder.rb +175 -212
  59. data/lib/review/latexindex.rb +2 -8
  60. data/lib/review/latexutils.rb +33 -43
  61. data/lib/review/lineinput.rb +1 -1
  62. data/lib/review/logger.rb +21 -0
  63. data/lib/review/makerhelper.rb +1 -4
  64. data/lib/review/markdownbuilder.rb +44 -53
  65. data/lib/review/md2inaobuilder.rb +6 -12
  66. data/lib/review/pdfmaker.rb +143 -173
  67. data/lib/review/preprocessor.rb +64 -101
  68. data/lib/review/rstbuilder.rb +126 -158
  69. data/lib/review/sec_counter.rb +18 -34
  70. data/lib/review/template.rb +4 -5
  71. data/lib/review/textbuilder.rb +2 -3
  72. data/lib/review/textutils.rb +7 -13
  73. data/lib/review/tocparser.rb +31 -56
  74. data/lib/review/tocprinter.rb +26 -52
  75. data/lib/review/topbuilder.rb +219 -247
  76. data/lib/review/unfold.rb +15 -24
  77. data/lib/review/version.rb +1 -1
  78. data/lib/review/webmaker.rb +75 -99
  79. data/lib/review/webtocprinter.rb +15 -20
  80. data/lib/review/yamlloader.rb +13 -15
  81. data/review.gemspec +20 -22
  82. data/templates/latex/layout.tex.erb +2 -2
  83. data/templates/opf/epubv2.opf.erb +7 -7
  84. data/templates/opf/epubv3.opf.erb +7 -7
  85. data/templates/web/html/layout-html5.html.erb +2 -2
  86. data/test/assets/black.eps +280 -0
  87. data/test/assets/fit.png +0 -0
  88. data/test/assets/large.gif +0 -0
  89. data/test/assets/large.jpg +0 -0
  90. data/test/assets/large.png +0 -0
  91. data/test/assets/large.svg +65 -0
  92. data/test/assets/test_template.tex +1 -1
  93. data/test/book_test_helper.rb +2 -2
  94. data/test/run_test.rb +4 -4
  95. data/test/sample-book/src/Rakefile +21 -22
  96. data/test/syntax-book/Gemfile +4 -0
  97. data/test/syntax-book/Rakefile +72 -0
  98. data/test/syntax-book/appA.re +22 -0
  99. data/test/syntax-book/bib.re +6 -0
  100. data/test/syntax-book/catalog.yml +15 -0
  101. data/test/syntax-book/ch01.re +136 -0
  102. data/test/syntax-book/ch02.re +351 -0
  103. data/test/syntax-book/ch03.re +82 -0
  104. data/test/syntax-book/config.yml +35 -0
  105. data/test/syntax-book/images/ball.png +0 -0
  106. data/test/syntax-book/images/cover.jpg +0 -0
  107. data/test/syntax-book/images/fractal.png +0 -0
  108. data/test/syntax-book/images/img3-1.png +0 -0
  109. data/test/syntax-book/images/inlineicon.jpg +0 -0
  110. data/test/syntax-book/images/logic.png +0 -0
  111. data/test/syntax-book/images/logic2.png +0 -0
  112. data/test/syntax-book/images/puzzle.jpg +0 -0
  113. data/test/syntax-book/images/table.jpg +0 -0
  114. data/test/syntax-book/part2.re +6 -0
  115. data/test/syntax-book/pre01.re +26 -0
  116. data/test/syntax-book/review-ext.rb +14 -0
  117. data/test/syntax-book/sty/jumoline.sty +310 -0
  118. data/test/syntax-book/sty/reviewmacro.sty +39 -0
  119. data/test/syntax-book/style.css +494 -0
  120. data/test/syntax-book/syntax.dic +2 -0
  121. data/test/test_book.rb +106 -111
  122. data/test/test_book_chapter.rb +21 -22
  123. data/test/test_book_part.rb +3 -5
  124. data/test/test_builder.rb +11 -22
  125. data/test/test_catalog.rb +17 -18
  126. data/test/test_catalog_converter_cmd.rb +5 -5
  127. data/test/test_compiler.rb +18 -16
  128. data/test/test_configure.rb +35 -38
  129. data/test/test_converter.rb +3 -4
  130. data/test/test_epub3maker.rb +136 -117
  131. data/test/test_epubmaker.rb +107 -114
  132. data/test/test_epubmaker_cmd.rb +2 -4
  133. data/test/test_extentions_hash.rb +32 -33
  134. data/test/test_helper.rb +9 -11
  135. data/test/test_htmlbuilder.rb +454 -420
  136. data/test/test_htmltoc.rb +8 -12
  137. data/test/test_htmlutils.rb +0 -2
  138. data/test/test_i18n.rb +159 -150
  139. data/test/test_idgxmlbuilder.rb +190 -197
  140. data/test/test_image_finder.rb +21 -22
  141. data/test/test_index.rb +24 -29
  142. data/test/test_latexbuilder.rb +274 -264
  143. data/test/test_lineinput.rb +7 -10
  144. data/test/test_location.rb +7 -7
  145. data/test/test_makerhelper.rb +13 -25
  146. data/test/test_markdownbuilder.rb +23 -26
  147. data/test/test_md2inaobuilder.rb +8 -11
  148. data/test/test_pdfmaker.rb +114 -123
  149. data/test/test_pdfmaker_cmd.rb +1 -3
  150. data/test/test_review_ext.rb +3 -5
  151. data/test/test_rstbuilder.rb +92 -97
  152. data/test/test_template.rb +3 -7
  153. data/test/test_textutils.rb +27 -27
  154. data/test/test_tocparser.rb +2 -2
  155. data/test/test_topbuilder.rb +98 -103
  156. data/test/test_webtocprinter.rb +5 -6
  157. data/test/test_yamlloader.rb +42 -42
  158. data/test/test_zip_exporter.rb +12 -18
  159. metadata +86 -9
  160. data/lib/review/ewbbuilder.rb +0 -382
@@ -0,0 +1,351 @@
1
+ = 長い章見出し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
2
+
3
+ == ブロック命令
4
+ === ソースコード
5
+ 採番付きリストの場合はlistです(@<list>{list2-1})。
6
+
7
+ //list[list2-1][@<b>{Ruby}の@<tt>{hello}コード@<fn>{f2-1}][ruby]{
8
+ puts 'Hello, World!'
9
+ //}
10
+
11
+ //footnote[f2-1][コードハイライトは外部パッケージに委任しています。TeXではjlisting、HTMLではRouge?]
12
+
13
+ 行番号と採番付きのリストはlistnumです。
14
+
15
+ //listnum[list2-2][行番号はリテラルな文字で特に加工はしていない][ruby]{
16
+ class Hello
17
+ def initialize
18
+ @msg = 'Hello, World!'
19
+ end
20
+ end
21
+ //}
22
+
23
+ 採番なしはemlistを使います。キャプションはあったりなかったりします。
24
+
25
+ //emlist[][c]{
26
+ printf("hello");
27
+ //}
28
+
29
+ //emlist[Python記法][python]{
30
+ print('hello');
31
+ //}
32
+
33
+ 行番号付きのパターンとしてemlistnumがあります。
34
+
35
+ //emlistnum[][c]{
36
+ printf("hello");
37
+ //}
38
+
39
+ //firstlinenum[101]
40
+ //emlistnum[Python記法][python]{
41
+ print('hello');
42
+ //}
43
+
44
+ ソースコード引用を主ターゲットにするのには一応sourceというのを用意しています@<fn>{type}。
45
+
46
+ //footnote[type][書籍だと、いろいろ使い分けが必要なんですよ……(4、5パターンくらい使うことも)。普通の用途ではlistとemlistで十分だと思いますし、見た目も同じでよいのではないかと。TeXの抽象タグ名は変えてはいます。]
47
+
48
+ //source[hello.rb][ruby]{
49
+ puts 'Hello'
50
+ //}
51
+
52
+ #@# //source{
53
+ #@# //}
54
+ #@# FIXME:キャプションなしはLaTeXだとエラーになることがわかった。Re:VIEW側修正予定
55
+
56
+ 実行例を示すとき用にはcmdを用意しています。いずれにせよ、商業書籍レベルでは必要なので用意しているものの、原稿レベルで書き手が使うコードブロックはほどほどの数に留めておいたほうがいいのではないかと思います。TeX版の紙面ではデフォルトは黒アミ。印刷によってはベタ黒塗りはちょっと怖いかもなので、あまり長々したものには使わないほうがいいですね。
57
+
58
+ //cmd{
59
+ $ @<b>{ls /}
60
+ //}
61
+
62
+ === 図
63
+ 採番・キャプション付きの図の貼り付けはimageを使用します(@<img>{ball})。図版ファイルは識別子とビルダが対応しているフォーマットから先着順に探索されます。詳細については@<href>{https://github.com/kmuto/review/wiki/ImagePath, ImagePath}のドキュメントを参照してください。
64
+
65
+ @<fn>{madebygimp}
66
+ 本当はimageのキャプションにfootnoteを付けたいのですが、TeXではエラーになりますね。厳しい……。
67
+ #@# FIXME:TeXのキャプションfootnote問題
68
+
69
+ #@# //image[ball][ボール@<fn>{madebygimp}]{
70
+ //image[ball][ボール]{
71
+ //}
72
+
73
+ //footnote[madebygimp][GIMPのフィルタで作成。@<br>{}footnote内改行]
74
+
75
+ //noindent
76
+ (いちおう、@<tt>{config.yml}ファイルに@<tt>{footnotetext: true}を追加すれば、footnotemark/footnotetextを使うモードになりますが)
77
+
78
+ 採番なし、あるいはキャプションもなしのものはindepimageを使います。
79
+
80
+ //indepimage[logic]{
81
+ //}
82
+
83
+ //indepimage[logic2][採番なしキャプション]{
84
+ //}
85
+
86
+ === 表
87
+ 表はtableを使います。@<table>{tab2-1}
88
+
89
+ tableもキャプション・セル内含めてTeXでは脚注できないですね…
90
+ 本当は→@<fn>{tabalign}はキャプション内。TeXだとセル内の脚注は脚注文書が消えています。
91
+
92
+ #@# //table[tab2-1][表の@<b>{例}@<fn>{tabalign}]{
93
+ //table[tab2-1][表の@<b>{例}]{
94
+ A B C
95
+ ----------------------------------
96
+ D E@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code} F@<br>{}G
97
+ H I@<fn>{footi} 長いセルの折り返し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
98
+ //}
99
+ #@# FIXME:ヘッダセルにはreviewthを付けているけれども、TeXスタイルで何も使っていないのはもったいないかも。アミかけるかベタ塗りにして白抜きにする?
100
+
101
+ //footnote[tabalign][現状、表のalignmentとかjoinとかはRe:VIEW記法では対応していません。筆者自身の制作では@<href>{https://kmuto.jp/d/?date=20120208#p01}みたいな手法を使っています。]
102
+ //footnote[footi][表内の脚注っていろいろ難しいです。]
103
+
104
+ TeX向けにはtsizeでTeX形式の列指定自体は可能です。以下は@<code>{//tsize[|latex|p{10mm\}p{18mm\}|p{50mm\}]}としています。
105
+
106
+ //tsize[|latex|p{10mm}p{18mm}|p{50mm}]
107
+ //table{
108
+ A B C
109
+ ----------------------------------
110
+ D E@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code} F@<br>{}G
111
+ H I 長いセルの折り返し■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
112
+ //}
113
+
114
+ TeXの普通のクラスファイルだと、列指定はl,c,r,p(幅指定+左均等)しかないので、幅指定+左寄せ(均等なし)、幅指定+中寄せ、幅指定+右寄せの指定ができると嬉しそうです。
115
+
116
+ あとは縦に長い表がTeXだとそのままはみ出してしまうのでlongtableがあるけれどもそれはまた問題がいろいろあり……。
117
+
118
+ 採番はしたくないけれどもキャプションは指定したいという場合はemtableがあります。
119
+
120
+ //emtable[キャプションを指定したいが採番はしたくない表]{
121
+ A B
122
+ C D
123
+ //}
124
+
125
+ 画像にしておいて貼り付けたほうがよさそうな場合はimgtableを使います(@<table>{table})。
126
+
127
+ //imgtable[table][ポンチ表]{
128
+ //}
129
+
130
+ === 囲み記事
131
+ @<embed>{/}/{〜//}の囲み記事の中には段落のみしか入らないものと想定します(箇条書きなどを入れたい場合はユーザーの責任で適宜、変換後ソースを加工してもらうことを前提とします)。
132
+
133
+ 引用はquoteで表現します。上下アキ、左インデント(2文字くらい?)が入るのが一般的でしょうか。
134
+
135
+ //quote{
136
+ ここに引用文。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
137
+
138
+ 2行目の引用文。
139
+ //}
140
+
141
+ 中寄せはcenteringです。
142
+
143
+ //flushright{
144
+ 中寄せ本文。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
145
+
146
+ 2行目の中寄せ本文。
147
+ //}
148
+
149
+ 右寄せはflushrightです。
150
+
151
+ //flushright{
152
+ 右寄せ本文。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
153
+
154
+ 2行目の右寄せ本文。
155
+ //}
156
+
157
+ ノートnote。以降、キャプションあり/なしのパターンがあります。表現については結局紙面デザインに応じて千差万別になるものだと思いますので、基本デザインとしては何か囲み要素だとわかって、カスタマイズしやすければよい、という程度です。
158
+
159
+ //note[ノートの例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
160
+ ノート1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
161
+
162
+ ノート2。
163
+ //}
164
+
165
+ //note{
166
+ ノート。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
167
+ //}
168
+
169
+ メモmemo。
170
+
171
+ //memo[メモの例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
172
+ メモ1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
173
+
174
+ メモ2。
175
+ //}
176
+
177
+ //memo{
178
+ メモ。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
179
+ //}
180
+
181
+ Tips tip。
182
+
183
+ //tip[Tipsの例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
184
+ Tips1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
185
+
186
+ Tips2。
187
+ //}
188
+
189
+ //tip{
190
+ Tips。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
191
+ //}
192
+
193
+ 情報 info。
194
+
195
+ //info[情報の例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
196
+ 情報1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
197
+
198
+ 情報2。
199
+ //}
200
+
201
+ //info{
202
+ 情報。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
203
+ //}
204
+
205
+ 注意 warning。
206
+
207
+ //warning[注意の例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
208
+ 注意1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
209
+
210
+ 注意2。
211
+ //}
212
+
213
+ //warning{
214
+ 注意。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
215
+ //}
216
+
217
+ 重要 important。
218
+
219
+ //important[重要の例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
220
+ 重要1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
221
+
222
+ 重要2。
223
+ //}
224
+
225
+ //important{
226
+ 重要。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
227
+ //}
228
+
229
+ 警告 caution。
230
+
231
+ //caution[警告の例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
232
+ 警告1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
233
+
234
+ 警告2。
235
+ //}
236
+
237
+ //caution{
238
+ 警告。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
239
+ //}
240
+
241
+ 注意 notice。
242
+
243
+ //notice[注意の例@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}]{
244
+ 注意1。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
245
+
246
+ 注意2。
247
+ //}
248
+
249
+ //notice{
250
+ 注意。@<b>{太字bold}@<i>{italicイタ}@<tt>{等幅code}
251
+ //}
252
+
253
+ 脚注が入ることもあり得ます。
254
+
255
+ //notice[脚注がある注意@<fn>{notice1}]{
256
+ こちらにも脚注@<fn>{notice2}
257
+ //}
258
+
259
+ //footnote[notice1][noticeの見出し側脚注です。]
260
+ //footnote[notice2][noticeの文章側脚注です。]
261
+ #@# FIXME:囲み内でも本当はなるべく脚注は版面下のほうに置きたい
262
+
263
+ #@# doorquote、bpo、talk、graph、address、box、linebreak、pagebreak、hr、comment、abbr、acronym、dfn、kbd、q、samp、var、big、small、del、ins、recipe、dtp、raw、embed、include
264
+
265
+ == LaTeX式
266
+ LaTeX式はTeX紙面以外は保証されません。EPUBではMathML(@<tt>{mathml: true})を使えますが、表現や互換性が不足しており、LaTeXをバックエンドとして画像化する@<tt>{imgmath: true}のほうがよさそうです。
267
+
268
+ //texequation{
269
+ \sum_{i=1}^nf_n(x)
270
+ //}
271
+
272
+ //texequation{
273
+ A = \left(
274
+ \begin{array}{ccc}
275
+ a_{11} & \cdots & a_{1n} \\
276
+ \vdots & \ddots & \vdots \\
277
+ a_{m1} & \cdots & a_{mn}
278
+ \end{array}
279
+ \right)
280
+ //}
281
+
282
+ 式採番がほしいケースは多々発生しているので、標準の文法を拡張する必要があるように思っています(現状、@<tt>{review-ext.rb}でなんとかしていることが多いです)。
283
+
284
+ 段落中の式は@<m>{E=mc^2}というシンプルなものならまだよいのですが、@<m>{\sinh^{-1\} x = \log(x + \sqrt{x^2 + 1\}}のような形だと}のエスケープで読みにくめです。今のところRubyにあるようなフェンス文法を実装するのも難しいですね。@<m>{\sum_{i=1\}^n} @<m>{\displaystyle\sum_{i=1\}^n}
285
+
286
+ == インライン命令
287
+ //label[inlineop]
288
+ #@# 場所ラベル定義
289
+
290
+ === 書体
291
+ 本文での……キーワード@<kw>{キーワード, keyword}@<fn>{kw}、太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}、強調@<strong>{strong強調}、強調@<em>{em強調}、下線@<u>{u下線}、等幅@<code>{code等幅}、等幅太字@<ttb>{ttb等幅太字}、等幅イタリック@<tti>{tti等幅イタリック}、網カケ@<ami>{amiアミ}、16進UTF文字指定@<uchar>{3042}、インラインアイコン@<icon>{inlineicon}
292
+
293
+ 傍点@<embed>{@}<bou>{bou傍点}、ルビ@<embed>{@}<ruby>{愕然, がくぜん}、縦中横@<embed>{@}<tcy>{90}、はTeXでは現状、別パッケージが必要です。
294
+ #@# FIXME:TEXでの文字スタイル。外部パッケージが必要
295
+ #@# 傍点@<bou>{bou傍点}、
296
+ #@# ルビ@<ruby>{愕然, がくぜん}、
297
+ #@# 縦中横@<tcy>{90}、
298
+
299
+ * kw, b, strong, emは同じ書体でよいでしょう。
300
+ * tt、codeは同じ書体でよいでしょう。
301
+ * amiはコードブロックの中で使うことを想定しています。
302
+
303
+ //footnote[kw][キーワードのカッコは太字にしないほうがいいのかなと思いつつあります(手元の案件では太字にしないよう挙動を変えてしまっているほうが多い)。]
304
+
305
+ * 箇条書き内での……キーワード@<kw>{キーワード, keyword}、太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}、強調@<strong>{strong強調}、強調@<em>{em強調}、下線@<u>{u下線}、等幅@<code>{code等幅}、等幅太字@<ttb>{ttb等幅太字}、等幅イタリック@<tti>{tti等幅イタリック}、網カケ@<ami>{amiアミ}、16進UTF文字指定@<uchar>{3042}、インラインアイコン@<icon>{inlineicon}
306
+
307
+ //tsize[|latex|p{120mm}]
308
+ //table{
309
+ 表内での……キーワード@<kw>{キーワード, keyword}、太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}、強調@<strong>{strong強調}、強調@<em>{em強調}、下線@<u>{u下線}、等幅@<code>{code等幅}、等幅太字@<ttb>{ttb等幅太字}、等幅イタリック@<tti>{tti等幅イタリック}、網カケ@<ami>{amiアミ}、16進UTF文字指定@<uchar>{3042}、インラインアイコン@<icon>{inlineicon}
310
+ //}
311
+
312
+ コードブロック内では対応装飾は減らしてよいと考えます。代わりにballoonが追加されます。
313
+
314
+ //emlist[キャプション内での……キーワード@<kw>{キーワード, keyword}、太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}、強調@<strong>{strong強調}、強調@<em>{em強調}、下線@<u>{u下線}、等幅@<code>{code等幅}、等幅太字@<ttb>{ttb等幅太字}、等幅イタリック@<tti>{tti等幅イタリック}、網カケ@<ami>{amiアミ}、16進UTF文字指定@<uchar>{3042}、インラインアイコン@<icon>{inlineicon}]{
315
+ コードブロック内での……
316
+ 太字@<b>{b太字}
317
+ イタリック@<i>{iイタリック}
318
+ 下線@<u>{u下線}
319
+ 網カケ@<ami>{amiアミ} @<balloon>{ふきだし説明}
320
+ //}
321
+
322
+
323
+ ==={crossref} 参照
324
+ #@# FIXME:任意ラベルを使うと、EPUBチェックエラーになることがある?
325
+
326
+ * 章番号:@<chap>{ch01}、@<chap>{appA}、@<chap>{part2}、@<chap>{bib}
327
+ * 章題:@<title>{ch01}、@<title>{part2}、@<title>{appA}、@<title>{bib}
328
+ * 章番号+題:@<chapref>{ch02}、@<chapref>{part2}、@<chapref>{appA}、@<chapref>{bib}
329
+ #@# FIXME:TeXで、部が実際のページではIIなのに参照では2になっているのはおかしい→i18n.ymlがおかしいせいか
330
+
331
+ 節や項への参照はhdを使います。
332
+
333
+ * @<hd>{ch02|ブロック命令}の@<hd>{ch02|ブロック命令|図}
334
+ * @<hd>{ch02|crossref}
335
+ * コラム参照 @<column>{ch03|column2}
336
+
337
+ 他章への図表リスト参照の例です(@<list>{pre01|main1}、@<img>{pre01|fractal}、@<table>{pre01|tbl1}、@<list>{appA|lista-1}、@<img>{appA|puzzle}、@<table>{appA|taba-1})。
338
+
339
+ なお、この「.」区切りなどのフォーマットは@<tt>{i18n.yml}あるいは@<tt>{locale.yml}でカスタマイズされ得る(format_number、format_number_header、format_number_without_chapter、format_number_header_without_chapter)ので、スタイルで固定化するのは避けるべきです。
340
+
341
+ labelで定義したラベルへの参照の例です。EPUBだと@<href>{#inlineop} TeXだと@<embed>{@}<href>{inlineop} 。互換性がないのは気味が悪いですね。
342
+ #@# FIXME:EPUB側にTeXのほうを寄せるようにRe:VIEWコードを直す
343
+ #@# FIXME:TeXではpagerefがほしい、ということがありそう。EPUBとの整合性を検討
344
+
345
+ === 参考文献
346
+ 参考文献@<tt>{bib.re}ファイルへの文献参照は、@<bib>{lins}とします。
347
+
348
+ === 索引
349
+ @<hidx>{索引}@<hidx>{index}索引はTeXとIDGXML以外では妥当な動作を定義していません。idx@<hidx>{索引<<>>idx}は文中にも表示し、hidx@<hidx>{索引<<>>hidx}は文中からは隠した形の索引にします。読みは@<idx>{Mecab}があればそちらを使いますが、@<idx>{辞書ファイル}を直接定義することもできます。@<hidx>{!<>"$&()~=|,./\{\}?_[]*:;+%#()'`^}
350
+
351
+ idx, hidxいずれも=見出しの中には入れないようにし、後続の段落先頭にhidxで入れるように注意します(入れてしまうと目次などがおかしくなります)。
@@ -0,0 +1,82 @@
1
+ = コラム
2
+ //lead{
3
+ コラムは見出しを流用する形で作成され、//noteなどのブロックでは普通には表現できない、箇条書きや図表・リストなどを内包する囲み記事を作成することを目的としています。
4
+ //}
5
+
6
+ #@# ====[column] コラム見出し1太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}@<fn>{f3-1}
7
+ ====[column] コラム見出し1太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}
8
+
9
+ @<fn>{f3-1}を見出しに入れたときになぜかwebmakerは失敗するようです。
10
+ #@# FIXME:webmakerだけ何か変?epubmakerは通る
11
+
12
+ コラム段落のキーワード@<kw>{キーワード, keyword}、太字@<b>{b太字}、イタリック@<i>{iイタリック}、等幅@<tt>{tt等幅}、強調@<strong>{strong強調}、強調@<em>{em強調}、下線@<u>{u下線}、等幅@<code>{code等幅}、等幅太字@<ttb>{ttb等幅太字}、等幅イタリック@<tti>{tti等幅イタリック}、インラインアイコン@<icon>{inlineicon}]。@<fn>{f3-2}
13
+
14
+ //noindent
15
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
16
+
17
+ //list[l3-1][コラムのリスト]{
18
+ puts "Re:VIEW is #{impression}."
19
+ //}
20
+
21
+ @<raw>{/}/image[img3-1][適当に作ったコラム内画像]{
22
+ はTeXでは現状、エラーになります。
23
+
24
+ //indepimage[img3-1][適当に作ったコラム内画像]{
25
+ //}
26
+
27
+ @<raw>{/}/table[tab3-1][コラム表]{
28
+ もだめですね。
29
+
30
+ //table{
31
+ A B
32
+ ---------------------
33
+ C D
34
+ //}
35
+
36
+ * 箇条書き1
37
+ ** 箇条書き1-1
38
+ *** 箇条書き1-1-1
39
+
40
+ 1. 番号箇条書き1
41
+ 2. 番号箇条書き2
42
+
43
+ : 説明文見出し
44
+ 説明文の説明
45
+
46
+ ====[/column]
47
+
48
+ //footnote[f3-1][コラム見出しの脚注です。]
49
+ //footnote[f3-2][コラム内からの脚注です。]
50
+
51
+ ====[column]{column2} コラムその2
52
+ 長い長いコラム。
53
+
54
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
55
+
56
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
57
+
58
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
59
+
60
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
61
+
62
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
63
+
64
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
65
+
66
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
67
+
68
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
69
+
70
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
71
+
72
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
73
+
74
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
75
+
76
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
77
+
78
+ ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
79
+
80
+ ====[/column]
81
+
82
+ 参照は@<column>{column2}です。
@@ -0,0 +1,35 @@
1
+ review_version: 2.0
2
+ bookname: syntax-book
3
+ language: ja
4
+ booktitle: {name: "Re:VIEW文法使用例", file-as: "リビューブンポウシヨウレイ"}
5
+ aut: [{name: "武藤健志", file-as: "ムトウケンシ"}]
6
+ date: 2017-09-30
7
+ history: [["2017-09-30"]]
8
+ debug: true
9
+ stylesheet: ["style.css"]
10
+ toclevel: 3
11
+ secnolevel: 4
12
+ coverimage: cover.jpg
13
+
14
+ # highlight:
15
+ # html: "rouge"
16
+ # latex: "listings"
17
+
18
+ opf_prefix: {ebpaj: "http://www.ebpaj.jp/"}
19
+ opf_meta: {"ebpaj:guide-version": "1.1.3"}
20
+
21
+ epubmaker:
22
+ htmlext: xhtml
23
+
24
+ texstyle: reviewmacro
25
+ # texdocumentclass: ["jsbook", "uplatex,oneside"]
26
+ # texcommand: "uplatex"
27
+ # texoptions: null
28
+ # dvicommand: "dvipdfmx"
29
+ # dvioptions: "-d 5"
30
+
31
+ pdfmaker:
32
+ toc: true
33
+ colophon: true
34
+ makeindex: true
35
+ makeindex_dic: syntax.dic