review 3.2.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +31 -0
  3. data/.github/workflows/ruby-win.yml +45 -0
  4. data/.github/workflows/ruby.yml +27 -0
  5. data/.rubocop.yml +167 -42
  6. data/.travis.yml +1 -1
  7. data/Dockerfile +21 -5
  8. data/NEWS.ja.md +428 -1
  9. data/NEWS.md +429 -2
  10. data/README.md +11 -7
  11. data/Rakefile +7 -2
  12. data/appveyor.yml +0 -20
  13. data/bin/review +2 -4
  14. data/bin/review-catalog-converter +5 -5
  15. data/bin/review-check +13 -17
  16. data/bin/review-checkdep +3 -6
  17. data/bin/review-compile +13 -22
  18. data/bin/review-epub2html +1 -4
  19. data/bin/review-epubmaker +3 -4
  20. data/bin/review-idgxmlmaker +14 -0
  21. data/bin/review-index +5 -86
  22. data/bin/review-init +1 -4
  23. data/bin/review-pdfmaker +1 -3
  24. data/bin/review-preproc +11 -13
  25. data/bin/review-textmaker +1 -3
  26. data/bin/review-update +1 -4
  27. data/bin/review-validate +7 -7
  28. data/bin/review-vol +5 -82
  29. data/bin/review-webmaker +1 -3
  30. data/doc/config.yml.sample +67 -16
  31. data/doc/config.yml.sample-simple +4 -3
  32. data/doc/format.ja.md +133 -21
  33. data/doc/format.md +135 -34
  34. data/doc/makeindex.ja.md +2 -2
  35. data/doc/pdfmaker.ja.md +43 -1
  36. data/doc/pdfmaker.md +42 -1
  37. data/doc/quickstart.ja.md +55 -25
  38. data/doc/quickstart.md +47 -17
  39. data/lib/review.rb +1 -1
  40. data/lib/review/book.rb +2 -2
  41. data/lib/review/book/base.rb +89 -90
  42. data/lib/review/book/bib.rb +21 -0
  43. data/lib/review/book/book_unit.rb +158 -0
  44. data/lib/review/book/chapter.rb +51 -29
  45. data/lib/review/book/index.rb +42 -248
  46. data/lib/review/book/index/item.rb +46 -0
  47. data/lib/review/book/page_metric.rb +7 -7
  48. data/lib/review/book/part.rb +45 -10
  49. data/lib/review/book/volume.rb +5 -5
  50. data/lib/review/builder.rb +171 -54
  51. data/lib/review/call_hook.rb +20 -0
  52. data/lib/review/catalog.rb +15 -17
  53. data/lib/review/compiler.rb +240 -102
  54. data/lib/review/configure.rb +101 -12
  55. data/lib/review/converter.rb +1 -1
  56. data/lib/review/epub2html.rb +6 -1
  57. data/lib/review/epubmaker.rb +120 -118
  58. data/lib/review/epubmaker/content.rb +113 -0
  59. data/lib/review/epubmaker/epubcommon.rb +372 -0
  60. data/lib/review/epubmaker/epubv2.rb +178 -0
  61. data/lib/review/epubmaker/epubv3.rb +231 -0
  62. data/lib/review/epubmaker/producer.rb +168 -0
  63. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  64. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  65. data/lib/review/exception.rb +6 -0
  66. data/lib/review/extentions/string.rb +0 -4
  67. data/lib/review/htmlbuilder.rb +147 -149
  68. data/lib/review/htmlutils.rb +10 -14
  69. data/lib/review/i18n.rb +4 -3
  70. data/lib/review/idgxmlbuilder.rb +229 -103
  71. data/lib/review/idgxmlmaker.rb +188 -0
  72. data/lib/review/img_math.rb +245 -0
  73. data/lib/review/index_builder.rb +654 -0
  74. data/lib/review/init-web/finish.html +10 -0
  75. data/lib/review/init-web/index.html +190 -0
  76. data/lib/review/init-web/review-layout-design.js +691 -0
  77. data/lib/review/init.rb +124 -41
  78. data/lib/review/latexbox.rb +58 -0
  79. data/lib/review/latexbuilder.rb +249 -97
  80. data/lib/review/latexutils.rb +9 -1
  81. data/lib/review/lineinput.rb +113 -3
  82. data/lib/review/logger.rb +43 -8
  83. data/lib/review/makerhelper.rb +13 -186
  84. data/lib/review/markdownbuilder.rb +75 -39
  85. data/lib/review/md2inaobuilder.rb +3 -5
  86. data/lib/review/pdfmaker.rb +88 -83
  87. data/lib/review/plaintextbuilder.rb +158 -83
  88. data/lib/review/preprocessor.rb +30 -24
  89. data/lib/review/rstbuilder.rb +58 -39
  90. data/lib/review/sec_counter.rb +14 -0
  91. data/lib/review/template.rb +6 -0
  92. data/lib/review/textmaker.rb +29 -17
  93. data/lib/review/textutils.rb +68 -2
  94. data/lib/review/tocprinter.rb +242 -97
  95. data/lib/review/topbuilder.rb +147 -61
  96. data/lib/review/update.rb +27 -28
  97. data/lib/review/version.rb +1 -1
  98. data/lib/review/volumeprinter.rb +97 -0
  99. data/lib/review/webmaker.rb +36 -35
  100. data/lib/review/webtocprinter.rb +39 -35
  101. data/lib/review/yamlloader.rb +4 -0
  102. data/review.gemspec +8 -5
  103. data/samples/sample-book/README.md +7 -2
  104. data/samples/sample-book/src/.gitignore +154 -0
  105. data/samples/sample-book/src/config-ebook.yml +4 -0
  106. data/samples/sample-book/src/config-epub2.yml +1 -1
  107. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  108. data/samples/sample-book/src/config-jlreq.yml +6 -0
  109. data/samples/sample-book/src/config.yml +3 -3
  110. data/samples/sample-book/src/lib/tasks/review.rake +45 -14
  111. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  112. data/samples/syntax-book/Gemfile +1 -1
  113. data/samples/syntax-book/ch01.re +3 -1
  114. data/samples/syntax-book/ch02.re +28 -21
  115. data/samples/syntax-book/ch03.re +4 -7
  116. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  117. data/samples/syntax-book/config-jlreq.yml +5 -0
  118. data/samples/syntax-book/config-print.yml +3 -0
  119. data/samples/syntax-book/config.yml +1 -1
  120. data/samples/syntax-book/images/img3-2.png +0 -0
  121. data/samples/syntax-book/lib/tasks/review.rake +30 -15
  122. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  123. data/templates/html/_colophon.html.erb +23 -0
  124. data/templates/html/_colophon_history.html.erb +9 -0
  125. data/templates/html/_cover.html.erb +10 -0
  126. data/templates/html/_part_body.html.erb +6 -0
  127. data/templates/html/_titlepage.html.erb +20 -0
  128. data/templates/html/layout-html5.html.erb +6 -0
  129. data/templates/html/layout-xhtml1.html.erb +6 -0
  130. data/templates/latex/config.erb +45 -27
  131. data/templates/latex/layout.tex.erb +1 -0
  132. data/templates/latex/review-jlreq/README.md +3 -1
  133. data/templates/latex/review-jlreq/review-base.sty +124 -37
  134. data/templates/latex/review-jlreq/review-jlreq.cls +29 -22
  135. data/templates/latex/review-jlreq/review-style.sty +9 -1
  136. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  137. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  138. data/templates/latex/review-jsbook/README.md +46 -5
  139. data/templates/latex/review-jsbook/review-base.sty +111 -30
  140. data/templates/latex/review-jsbook/review-jsbook.cls +16 -2
  141. data/templates/latex/review-jsbook/review-style.sty +10 -2
  142. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  143. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  144. data/templates/opf/epubv2.opf.erb +7 -7
  145. data/templates/opf/epubv3.opf.erb +7 -7
  146. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  147. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  148. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  149. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  150. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  151. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  152. data/templates/web/html/layout-html5.html.erb +9 -8
  153. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  154. data/test/assets/header_listener.html +35 -0
  155. data/test/assets/img_math/img1.png +0 -0
  156. data/test/assets/img_math/img2.png +0 -0
  157. data/test/assets/img_math/img3.png +0 -0
  158. data/test/assets/syntax_book_index_detail.txt +58 -0
  159. data/test/assets/test_template.tex +20 -9
  160. data/test/assets/test_template_backmatter.tex +20 -9
  161. data/test/book_test_helper.rb +11 -5
  162. data/test/run_test.rb +1 -1
  163. data/test/test_book.rb +123 -78
  164. data/test/test_book_chapter.rb +99 -56
  165. data/test/test_book_part.rb +3 -3
  166. data/test/test_builder.rb +24 -15
  167. data/test/test_catalog.rb +19 -42
  168. data/test/test_catalog_converter_cmd.rb +1 -1
  169. data/test/test_converter.rb +1 -0
  170. data/test/test_epub3maker.rb +170 -126
  171. data/test/test_epubmaker.rb +249 -129
  172. data/test/test_epubmaker_cmd.rb +16 -9
  173. data/test/test_helper.rb +23 -11
  174. data/test/test_htmlbuilder.rb +1083 -114
  175. data/test/test_htmlutils.rb +0 -12
  176. data/test/test_i18n.rb +37 -37
  177. data/test/test_idgxmlbuilder.rb +627 -27
  178. data/test/test_idgxmlmaker_cmd.rb +50 -0
  179. data/test/test_image_finder.rb +52 -70
  180. data/test/test_img_math.rb +111 -0
  181. data/test/test_index.rb +62 -52
  182. data/test/test_indexbuilder.rb +52 -0
  183. data/test/test_latexbuilder.rb +1189 -59
  184. data/test/test_latexbuilder_v2.rb +74 -34
  185. data/test/test_lineinput.rb +20 -93
  186. data/test/test_logger.rb +17 -4
  187. data/test/test_makerhelper.rb +2 -14
  188. data/test/test_markdownbuilder.rb +77 -4
  189. data/test/test_md2inaobuilder.rb +12 -2
  190. data/test/test_pdfmaker.rb +101 -12
  191. data/test/test_pdfmaker_cmd.rb +102 -8
  192. data/test/test_plaintextbuilder.rb +562 -31
  193. data/test/test_review_ext.rb +2 -1
  194. data/test/test_reviewheaderlistener.rb +49 -0
  195. data/test/test_rstbuilder.rb +58 -5
  196. data/test/test_sec_counter.rb +156 -0
  197. data/test/test_template.rb +12 -2
  198. data/test/test_textmaker_cmd.rb +58 -0
  199. data/test/test_textutils.rb +109 -2
  200. data/test/test_tocprinter.rb +46 -0
  201. data/test/test_topbuilder.rb +400 -17
  202. data/test/test_update.rb +53 -44
  203. data/test/test_webtocprinter.rb +75 -43
  204. data/test/test_yamlloader.rb +13 -0
  205. data/test/test_zip_exporter.rb +5 -6
  206. data/vendor/gentombow/LICENSE +1 -1
  207. data/vendor/gentombow/Makefile +0 -1
  208. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  209. data/vendor/gentombow/bounddvi-en.tex +1 -0
  210. data/vendor/gentombow/bounddvi.pdf +0 -0
  211. data/vendor/gentombow/bounddvi.sty +30 -7
  212. data/vendor/gentombow/bounddvi.tex +1 -0
  213. data/vendor/gentombow/create_archive.sh +1 -0
  214. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  215. data/vendor/gentombow/gentombow-ja.tex +9 -0
  216. data/vendor/gentombow/gentombow.pdf +0 -0
  217. data/vendor/gentombow/gentombow.sty +32 -10
  218. data/vendor/gentombow/gentombow.tex +8 -0
  219. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  220. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  221. data/vendor/jsclasses/LICENSE +1 -1
  222. data/vendor/jsclasses/Makefile +3 -2
  223. data/vendor/jsclasses/create_archive.sh +5 -5
  224. data/vendor/jsclasses/jis/Makefile +3 -2
  225. data/vendor/jsclasses/jis/jsarticle.cls +74 -31
  226. data/vendor/jsclasses/jis/jsbook.cls +74 -31
  227. data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
  228. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  229. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  230. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  231. data/vendor/jsclasses/jis/jslogo.sty +4 -16
  232. data/vendor/jsclasses/jis/jspf.cls +73 -30
  233. data/vendor/jsclasses/jis/jsreport.cls +74 -31
  234. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  235. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  236. data/vendor/jsclasses/jis/kiyou.cls +74 -31
  237. data/vendor/jsclasses/jis/minijs.sty +65 -22
  238. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  239. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  240. data/vendor/jsclasses/jis/okumacro.sty +4 -17
  241. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  242. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  243. data/vendor/jsclasses/jis/winjis.sty +23 -19
  244. data/vendor/jsclasses/jsarticle.cls +74 -31
  245. data/vendor/jsclasses/jsbook.cls +74 -31
  246. data/vendor/jsclasses/jsclasses.dtx +176 -36
  247. data/vendor/jsclasses/jsclasses.ins +15 -5
  248. data/vendor/jsclasses/jsclasses.pdf +0 -0
  249. data/vendor/jsclasses/jslogo.dtx +4 -4
  250. data/vendor/jsclasses/jslogo.ins +9 -0
  251. data/vendor/jsclasses/jslogo.pdf +0 -0
  252. data/vendor/jsclasses/jslogo.sty +4 -16
  253. data/vendor/jsclasses/jspf.cls +73 -30
  254. data/vendor/jsclasses/jsreport.cls +74 -31
  255. data/vendor/jsclasses/jsverb.ins +9 -0
  256. data/vendor/jsclasses/jsverb.pdf +0 -0
  257. data/vendor/jsclasses/jsverb.sty +1 -13
  258. data/vendor/jsclasses/kiyou.cls +74 -31
  259. data/vendor/jsclasses/minijs.sty +68 -22
  260. data/vendor/jsclasses/okumacro.dtx +4 -5
  261. data/vendor/jsclasses/okumacro.ins +9 -0
  262. data/vendor/jsclasses/okumacro.pdf +0 -0
  263. data/vendor/jsclasses/okumacro.sty +4 -17
  264. data/vendor/jsclasses/okuverb.ins +9 -0
  265. data/vendor/jsclasses/okuverb.pdf +0 -0
  266. data/vendor/jsclasses/okuverb.sty +1 -13
  267. data/vendor/jsclasses/tests/relfont.tex +10 -0
  268. data/vendor/jsclasses/winjis.sty +23 -19
  269. metadata +136 -23
  270. data/.rubocop_todo.yml +0 -7
  271. data/lib/epubmaker.rb +0 -23
  272. data/lib/epubmaker/content.rb +0 -110
  273. data/lib/epubmaker/epubcommon.rb +0 -441
  274. data/lib/epubmaker/epubv2.rb +0 -143
  275. data/lib/epubmaker/epubv3.rb +0 -233
  276. data/lib/epubmaker/producer.rb +0 -375
  277. data/lib/epubmaker/zip_exporter.rb +0 -81
  278. data/lib/lineinput.rb +0 -155
  279. data/lib/review/book/compilable.rb +0 -173
  280. data/lib/review/tocparser.rb +0 -271
  281. data/samples/syntax-book/review-ext.rb +0 -14
  282. data/test/test_tocparser.rb +0 -25
data/doc/makeindex.ja.md CHANGED
@@ -35,7 +35,7 @@ re ファイル内に、`@<idx>` または `@<hidx>` インラインタグを使
35
35
 
36
36
  [索引]
37
37
 
38
- 表示もする索引です....1
38
+ 表示もする索引....1
39
39
  ```
40
40
 
41
41
  ```
@@ -50,7 +50,7 @@ re ファイル内に、`@<idx>` または `@<hidx>` インラインタグを使
50
50
 
51
51
 
52
52
 
53
- 表示もする索引です....1
53
+ 表示しない索引....1
54
54
  ```
55
55
 
56
56
  ## 読み辞書
data/doc/pdfmaker.ja.md CHANGED
@@ -109,6 +109,48 @@ Re:VIEW 3.0 から review-jlreq.cls という別のクラスファイルも用
109
109
 
110
110
  その他の詳細な設定については、sty フォルダにある README.md を参照してください。
111
111
 
112
+ ### カスタムパラメータの引き渡し
113
+
114
+ 技術的な都合で、config.yml の YAML 設定から TeX のマクロへの変換はすべての設定について行われるわけではなく、ごく限られた値のみに制限しています。これは Re:VIEW 内部の `config.erb` ( https://github.com/kmuto/review/blob/master/templates/latex/config.erb ) の ERB スクリプトによって処理されており、この挙動を変更することは許容していません。
115
+
116
+ 任意の YAML 設定を TeX に引き渡すには、`config.erb` と同様に YAML から TeX への変換を行う固有の ERB スクリプトを作成して配置します。このためには、プロジェクトフォルダに `layouts` フォルダを作成し、そこに固有の ERB スクリプトを `config-local.tex.erb` という名前で置きます。
117
+
118
+ `config-local.tex.erb` は `config.erb` の評価・埋め込みの後、評価・埋め込みされます。
119
+
120
+ config.yml を次のようにして、これを TeX に渡したいとします。
121
+
122
+ ```
123
+ mycustom:
124
+ mystring: HELLO_#1
125
+ mybool: true
126
+ ```
127
+
128
+ `layouts/config-local.tex.erb` はたとえば次のようになります。
129
+
130
+ ```
131
+ \def\mystring{<%= escape(@config['mycustom']['mystring']) %>}
132
+ <%- if @config['mycustom']['mybool'] -%>
133
+ \def\mybool{true}
134
+ <%- end -%>
135
+ ```
136
+
137
+ 次のように展開されます。
138
+ ```
139
+
140
+ \makeatother
141
+ %% BEGIN: config-local.tex.erb
142
+ \def\mystring{HELLO\textunderscore{}\#1}
143
+ \def\mybool{true}
144
+ %% END: config-local.tex.erb
145
+
146
+ \usepackage{reviewmacro}
147
+
148
+ ```
149
+
150
+ こうして定義されたマクロを sty ファイルなどで参照します。
151
+
152
+ なお、ERB での YAML 解析、および TeX マクロの記述において誤りがあると、極めてわかりにくいエラーになることがあります。`--debug` オプション付きで実行して展開された `__REVIEW_BOOK__.tex` を確認して原因を調査するのがよいでしょう。
153
+
112
154
  ## Re:VIEW 2.0 以前の情報
113
155
 
114
156
  ### upLaTeX について
@@ -121,7 +163,7 @@ LaTeX コンパイラコマンドおよびオプションについて、Re:VIEW
121
163
 
122
164
  ```yaml
123
165
  texcommand: uplatex
124
- texoptions: "-interaction=nonstopmode -file-line-error"
166
+ texoptions: "-interaction=nonstopmode -file-line-error -halt-on-error"
125
167
  texdocumentclass: ["jsbook", "uplatex,oneside"]
126
168
  dvicommand: dvipdfmx
127
169
  dvioptions: "-d 5"
data/doc/pdfmaker.md CHANGED
@@ -84,6 +84,47 @@ Since Re:VIEW 3.0, review-jlreq.cls is also provided. This class file extends jl
84
84
 
85
85
  `review-init --latex-template=review-jlreq` command copies the review-jlreq.cls set to `sty` folder.
86
86
 
87
+ ### Handing over custom parameters
88
+
89
+ For technical reasons, only a small part of the YAML parameters in config.yml is converted to TeX macros. Re:VIEW's internal `config.erb` ( https://github.com/ kmuto/review/blob/master/templates/latex/ config.erb ) ERB script manages this. You cannot change this script.
90
+
91
+ If you want to give YAML parameters to TeX, you can use your own ERB script that do the YAML to TeX conversion. This is done by creating `layouts/config-local.tex.erb` in the project folder.
92
+
93
+ After evaluation and embedding of `config.erb`, `config-local.tex. erb` will be evaluated and embedded as well. For example,
94
+
95
+ `config.yml`:
96
+
97
+ ```
98
+ mycustom:
99
+ mystring: HELLO_#1
100
+ mybool: true
101
+ ```
102
+
103
+ `layouts/config-local.tex.erb`:
104
+
105
+ ```
106
+ \def\mystring{<%= escape(@config['mycustom']['mystring']) %>}
107
+ <%- if @config['mycustom']['mybool'] -%>
108
+ \def\mybool{true}
109
+ <%- end -%>
110
+ ```
111
+
112
+ will be parsed:
113
+
114
+ ```
115
+
116
+ \makeatother
117
+ %% BEGIN: config-local.tex.erb
118
+ \def\mystring{HELLO\textunderscore{}\#1}
119
+ \def\mybool{true}
120
+ %% END: config-local.tex.erb
121
+
122
+ \usepackage{reviewmacro}
123
+
124
+ ```
125
+
126
+ Refer to these macros in your sty file.
127
+
87
128
  ## Important Changes about LaTeX in Re:VIEW 2.0
88
129
 
89
130
  * Default LaTeX compiler is upLaTeX, not pLaTeX.
@@ -100,7 +141,7 @@ Default settings of Re:VIEW is below:
100
141
 
101
142
  ```yaml
102
143
  texcommand: uplatex
103
- texoptions: "-interaction=nonstopmode -file-line-error"
144
+ texoptions: "-interaction=nonstopmode -file-line-error -halt-on-error"
104
145
  texdocumentclass: ["review-jsbook", "uplatex,twoside"]
105
146
  dvicommand: dvipdfmx
106
147
  dvioptions: "-d 5"
data/doc/quickstart.ja.md CHANGED
@@ -8,11 +8,11 @@ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布
8
8
 
9
9
  このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
10
10
 
11
- このドキュメントは、Re:VIEW 3.0 に基づいています。
11
+ このドキュメントは、Re:VIEW 5.1 に基づいています。
12
12
 
13
13
  ## セットアップ
14
14
 
15
- Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。macOS および Windows Cygwin でも動作可能です。Ruby gem あるいは Git のいずれかを使ってダウンロード・展開します。
15
+ Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。macOS および Windows でも動作可能です。Ruby gem あるいは Git のいずれかを使ってダウンロード・展開します。
16
16
 
17
17
  なお、Re:VIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS については UTF-8 文字エンコーディングさえ使用できれば制限はありません。
18
18
 
@@ -34,7 +34,7 @@ Ruby gem の bin ディレクトリにパスを通すようにしておいてく
34
34
  $ gem update review
35
35
  ```
36
36
 
37
- Gemfile を使っている場合は、以下の行を Gemfile に追加して、`bundle`コマンドを実行します。
37
+ Gemfile を使っている場合は、以下の行を Gemfile に追加して、`bundle` コマンドを実行します。
38
38
 
39
39
  ```Gemfile
40
40
  gem 'review'
@@ -58,29 +58,37 @@ review というディレクトリに展開されるので、review/bin にパ
58
58
  $ git pull
59
59
  ```
60
60
 
61
- ## Re:VIEW ドキュメントの作成
61
+ ## Re:VIEW プロジェクトの作成
62
62
 
63
63
  ### 雛型の作成
64
- review-init コマンドを使って、雛型となる作業フォルダを作成できます。
64
+ review-init コマンドを使って、雛型となるプロジェクトフォルダを作成できます。
65
65
 
66
66
  ```
67
- $ review-init ドキュメント名
67
+ $ review-init プロジェクト名
68
68
  ```
69
69
 
70
- これで指定のドキュメント名のフォルダが用意され、中に次のようなファイルが置かれます。
70
+ TeX を利用した PDF 作成を目的としているならば、雛型の作成時に、Web ブラウザによるウィザードモードで基本版面設計を行うことができます。これには `-w` オプションを付けます。
71
71
 
72
- * ドキュメント名を冠した「.re」拡張子を持つファイル(Re:VIEW フォーマットテキストファイル)
72
+ ```
73
+ $ review-init -w プロジェクト名
74
+ ```
75
+
76
+ 「http://localhost:18000」に Web ブラウザでアクセスし、文字数×行数および余白を調整できます。
77
+
78
+ これで指定のプロジェクト名のフォルダが用意され、中に次のようなファイルが置かれます。
79
+
80
+ * プロジェクト名を冠した「.re」拡張子を持つファイル(Re:VIEW フォーマットテキストファイル)
73
81
  * config.yml : 設定ファイル
82
+ * config-ebook.yml : 電子ブック用設定ファイル(ウィザードモード使用時)
74
83
  * catalog.yml : カタログファイル(目次構成)
75
84
  * Rakefile : rake コマンドのルールファイル
76
85
  * images : 画像の配置フォルダ
77
- * layouts : レイアウトファイルの配置フォルダ
78
86
  * style.css : サンプルスタイルシート
79
87
  * sty : スタイルファイル配置フォルダ(TeX 用)
80
88
  * doc : 本ドキュメントを含む使い方のドキュメント
81
89
  * lib : 主に rake コマンドの詳細ルールファイル
82
90
 
83
- review-init コマンドによらず、独自に作業フォルダを作成してもかまいません。
91
+ review-init コマンドによらず、独自にプロジェクトフォルダを作成してもかまいません。
84
92
 
85
93
  ### Re:VIEW テキストの作成と変換
86
94
 
@@ -115,34 +123,53 @@ review-init コマンドによらず、独自に作業フォルダを作成し
115
123
 
116
124
  テキストファイルの文字エンコーディングには、UTF-8 を使用してください。
117
125
 
118
- ### PDF 化と EPUB 化、プレインテキスト化
126
+ ### PDF 化と EPUB 化、プレインテキスト化、XML 化
127
+
128
+ review-*maker コマンドで一括して変換作成ができます。
119
129
 
120
- review-pdfmaker コマンドで PDF ブックの作成、review-epubmaker コマンドで EPUB ファイルの作成、review-textmaker コマンドでプレインテキストの作成ができます。
130
+ - review-pdfmaker コマンド:PDF ブックの作成
131
+ - review-epubmaker コマンド:EPUB ファイルの作成
132
+ - review-textmaker コマンド:プレインテキストの作成
133
+ - review-idgxmlmaker コマンド:InDesign XML の作成
121
134
 
122
135
  PDF を作成するには、TeXLive2012 以上の環境が必要です。EPUB を作成するには、rubyzip gem あるいは zip コマンドが必要です(MathML も使いたいときには、 [MathML ライブラリ](http://www.hinet.mydns.jp/?mathml.rb)も必要です)。
123
136
 
124
137
  いずれのコマンドも、必要な設定情報を記した YAML 形式ファイルを引数に指定して実行します。review-init コマンドで作成した環境には、デフォルトで config.yml として用意されているので、これを利用します。
125
138
 
126
139
  ```bash
127
- $ review-pdfmaker config.yml ←PDFの作成
128
- $ review-epubmaker config.yml ←EPUBの作成
129
- $ review-textmaker config.yml ←テキストの作成(装飾情報あり)
130
- $ review-textmaker -n config.yml ←テキストの作成(装飾情報なし)
140
+ $ review-pdfmaker config.yml ←PDFの作成
141
+ $ review-pdfmaker config-ebook.yml ←電子ブック設定でのPDFの作成
142
+ $ review-epubmaker config.yml ←EPUBの作成
143
+ $ review-textmaker config.yml ←テキストの作成(装飾情報あり)
144
+ $ review-textmaker -n config.yml ←テキストの作成(装飾情報なし)
145
+ $ review-idgxmlmaker config.yml ←InDesign XMLの作成
131
146
  ```
132
147
 
133
148
  rake コマンドを利用できるなら、次のように実行することもできます。
134
149
 
135
150
  ```bash
136
151
  $ rake pdf ←PDFの作成
152
+ $ REVIEW_CONFIG_FILE=config-ebook.yml rake pdf ←電子ブック設定でのPDFの作成
137
153
  $ rake epub ←EPUBの作成
138
154
  $ rake text ←テキストの作成(装飾情報あり)
139
155
  $ rake plaintext ←テキストの作成(装飾情報なし)
156
+ $ rake idgxml ←InDesign XMLの作成
140
157
  ```
141
158
 
142
159
  config.yml のサンプルについては以下を参照してください。
143
160
 
144
161
  * [config.yml.sample](https://github.com/kmuto/review/blob/master/doc/config.yml.sample)
145
162
 
163
+ #### Vivliostyle CLI を使った PDF 化
164
+
165
+ TeX (`review-pdfmaker`、`rake pdf`) を利用する代わりに、[Vivliostyle CLI](https://github.com/vivliostyle/vivliostyle-cli) を使って PDF を作成することもできます。Re:VIEW が EPUB を作成したあと、VivliostyleCLI がそれを PDF に変換します。
166
+
167
+ ```bash
168
+ $ rake vivliostyle:build ← Vivliostyle を使って PDF を作成
169
+ $ rake vivliostyle:preview ← Chrome/Chromium ブラウザでプレビュー
170
+ $ rake vivliostyle ← vivliostyle:buildのショートカット
171
+ ```
172
+
146
173
  ### 章を増やす、カスタマイズする
147
174
  作成した PDF あるいは EPUB を見ると、先に作成した RE:VIEW フォーマットテキストファイルが「第1章」となっていることがわかります。
148
175
 
@@ -177,7 +204,7 @@ Re:VIEW の使用実例については、https://github.com/reviewml/review-samp
177
204
  $ review-compile --target text sample.re > sample.txt ←テキストにする
178
205
  $ review-compile --target html sample.re > sample.html ←HTMLにする
179
206
  $ review-compile --target latex sample.re > sample.tex ←LaTeXにする
180
- $ review-compile --target idgxml sample.re > sample.xml ←XMLにする
207
+ $ review-compile --target idgxml sample.re > sample.xml ←InDesign XMLにする
181
208
  $ review-compile --target markdown sample.re > sample.md ←Markdownにする
182
209
  ```
183
210
 
@@ -200,20 +227,23 @@ $ review-preproc --replace ファイル ←ファイルを更新したもので
200
227
  $ review-vol
201
228
  ```
202
229
 
203
- より細かな見出し一覧などを出したいときには、review-index コマンドを使うのもよいでしょう。
230
+ より細かな見出し一覧などを出したいときには、review-index コマンドを使うとよいでしょう。
204
231
 
205
232
  ```bash
206
- $ review-index --level 掘り下げる見出しレベル数 -a
233
+ $ review-index -l 掘り下げる見出しレベル数
234
+ $ review-index -l 掘り下げる見出しレベル数 -d ←分量の詳細を表示
207
235
  ```
208
236
 
209
- ## ドキュメントフォルダを新しい Re:VIEW バージョンに追従する方法
237
+ review-vol review-index では、文字数や行数、見込みページなど各値に大きな差が出ることがあります。これは、review-vol がごく簡単にファイルから概算しているのに対し、review-index は実際に内部でコンパイルして比較的精密に計量しているからです。
238
+
239
+ ## プロジェクトフォルダを新しい Re:VIEW バージョンに追従する方法
210
240
 
211
- Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、ドキュメントフォルダを新しいバージョンに更新する review-update コマンドを利用します。
241
+ Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、プロジェクトフォルダを新しいバージョンに更新する review-update コマンドを利用します。
212
242
 
213
243
  ```bash
214
244
  $ review-update
215
- ** review-update はプロジェクトを 3.0.0 に更新します **
216
- config.yml: 'review_version' を '3.0' に更新しますか? [y]/n ←Enterで実行
245
+ ** review-update はプロジェクトを 5.0.0 に更新します **
246
+ config.yml: 'review_version' を '5.0' に更新しますか? [y]/n ←Enterで実行
217
247
  Rakefile は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/Rakefile) で置き換えられます。本当に進めますか? [y]/n
218
248
  lib/tasks/review.rake は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/lib/tasks/review.rake) で置き換えられます。本当に進めますか? [y]/n
219
249
  INFO: 新しいファイル /.../sty/plistings.sty が作成されました。
@@ -229,9 +259,9 @@ INFO: 新しいファイル /.../sty/gentombow.sty が作成されました。
229
259
 
230
260
  ## クレジット
231
261
 
232
- Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、20192月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
262
+ Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、202010月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
233
263
 
234
- バグ・パッチの報告、開発者用メーリングリストなどについての情報は、
264
+ バグ・パッチの報告、その他の情報は、
235
265
 
236
266
  * http://reviewml.org/
237
267
  * https://github.com/kmuto/review/wiki
data/doc/quickstart.md CHANGED
@@ -9,7 +9,7 @@ Re:VIEW is free software under the terms of the GNU Lesser General Public Licens
9
9
 
10
10
  This article describes how to setup Re:VIEW and use it.
11
11
 
12
- The supported version of the article is Re:VIEW 3.0.
12
+ The supported version of the article is Re:VIEW 5.1.
13
13
 
14
14
  ## Set up Re:VIEW
15
15
 
@@ -59,7 +59,7 @@ $ git pull
59
59
 
60
60
  ## Writing Re:VIEW Document
61
61
 
62
- ### Generating template fiels
62
+ ### Generating template files
63
63
 
64
64
  After setup, you can use `review-init` command to generate Re:VIEW project directory.
65
65
 
@@ -72,14 +72,23 @@ $ ls hello
72
72
  Rakefile catalog.yml config.yml hello.re images/ layouts/ sty/ style.css
73
73
  ```
74
74
 
75
+ If your purpose is to create a PDF using TeX, it is a good idea to use the wizard mode for basic layouting in a web browser. Add `-w` option to review-init.
76
+
77
+ (notice: currently wizard UI supports only Japanese language)
78
+
79
+ ```bash
80
+ $ review-init -w hello
81
+ (access http://localhost:18000 on Web browser)
82
+ ```
83
+
75
84
  In `hello` directory, many files are generated.
76
85
 
77
86
  * `*.re` : Re:VIEW format file.
78
87
  * config.yml : configuration file
88
+ * config-ebook.yml : configuration file for ebook (when using the wizard mode)
79
89
  * catalog.yml : catalog file (for TOC)
80
90
  * Rakefile : rule file for `rake` command
81
91
  * images : folder for images
82
- * layouts : forlder for layout files
83
92
  * style.css : sample stylesheet
84
93
  * sty : style files for LaTeX
85
94
  * doc : various documents (including this document)
@@ -116,33 +125,52 @@ The web site of Re:VIEW is @<tt>{https://reviewml.org/}.
116
125
 
117
126
  You should use UTF-8 as encodings in text files.
118
127
 
119
- ### generating PDF, EPUB, and plain-text
128
+ ### generating PDF, EPUB, plain-text, and InDesign XML
129
+
130
+ To convert files in the project, use review-*maker command.
120
131
 
121
- You can generate a PDF file with `review-pdfmaker` command. Also you can generate an EPUB file with `review-epubmaker` command, and can generate an plain-text file with 'review-textmaker' command.
132
+ - review-pdfmaker: generate PDF
133
+ - review-epubmaker: generate EPUB
134
+ - review-textmaker: genrate plaintext
135
+ - review-idgxmlmaker: genrate InDesign XML
122
136
 
123
- To generate PDF, you should install TeXLive 2012 or later. To generate EPUB, you should install zip command.
137
+ To generate PDF, you should install TeXLive 2012 or later. To generate EPUB, you should install zip command.
124
138
  When you want to use MathML, you should install [MathML library](http://www.hinet.mydns.jp/?mathml.rb)
125
139
 
126
- Each maker need `config.yml`, configuration YAML files. `review-init` command generates `config.yml` in default.
140
+ Each maker need `config.yml`, configuration YAML files. `review-init` command generates `config.yml` in default.
127
141
 
128
142
  ```bash
129
- $ review-pdfmaker config.yml ## generate PDF
130
- $ review-epubmaker config.yml ## generate EPUB
131
- $ review-textmaker config.yml ## generate text with decoration
132
- $ review-textmaker -n config.yml ## generate text without decoration
143
+ $ review-pdfmaker config.yml ## generate PDF
144
+ $ review-pdfmaker config-ebook.yml ## generate PDF (for ebook)
145
+ $ review-epubmaker config.yml ## generate EPUB
146
+ $ review-textmaker config.yml ## generate text with decoration
147
+ $ review-textmaker -n config.yml ## generate text without decoration
148
+ $ review-idgxmlmaker config.yml ## generate InDesign XML
133
149
  ```
134
150
 
135
151
  You also can generate them with Rake.
136
152
 
137
153
  ```bash
138
154
  $ rake pdf ## generate PDF
155
+ $ REVIEW_CONFIG_FILE=config-ebook.yml rake pdf ## generate PDF (for ebook)
139
156
  $ rake epub ## generate EPUB
140
157
  $ rake text ## generate text with decoration
141
158
  $ rake plaintext ## generate text without decoration
159
+ $ rake idgxml ## generate InDesign XML
142
160
  ```
143
161
 
144
162
  There is a sample YAML file [config.yml.sample](https://github.com/kmuto/review/blob/master/doc/config.yml.sample) in the same directory of this document.
145
163
 
164
+ #### generate PDF using Vivliostyle CLI
165
+
166
+ Instead of using TeX (`review-pdfmaker` or `rake pdf`), you can also create a PDF use [Vivliostyle CLI](https://github.com/vivliostyle/vivliostyle-cli). Re:VIEW creates EPUB first and then converts it to PDF with Vivliostyle CLI.
167
+
168
+ ```bash
169
+ $ rake vivliostyle:build ## build PDF using Viliostyle
170
+ $ rake vivliostyle:preview ## preview pages in Chrome/Chromium browser
171
+ $ rake vivliostyle ## shortcut of vivliostyle:build
172
+ ```
173
+
146
174
  ### add chapters and modify them
147
175
 
148
176
  `catalog.yml` file is a catalog of Re:VIEW format files.
@@ -164,7 +192,6 @@ POSTDEF:
164
192
 
165
193
  The first item in CHAPS is the first chapter, and the second item (if you add) is the second chapter. PREDEF is for front matter, APPENDIX is for appendix, and POSTDEF is for back matter. You can see in detail with [catalog.md](https://github.com/kmuto/review/blob/master/doc/catalog.ja.md).
166
194
 
167
-
168
195
  ### more information
169
196
 
170
197
  For more information about Re:VIEW format, see [format.md](https://github.com/kmuto/review/blob/master/doc/format.md).
@@ -205,17 +232,20 @@ $ review-vol
205
232
  You can also use `review-index` command to generate header list.
206
233
 
207
234
  ```bash
208
- $ review-index --level <heading level> -a
235
+ $ review-index --level <heading level>
236
+ $ review-index --level <heading level> -d ## show volumes also
209
237
  ```
210
238
 
239
+ review-vol and review-index can have large differences in the number of characters, lines, and pages. While review-vol only estimates from the file, review-index actually compiles and calculates.
240
+
211
241
  ## how to update the document folder to the new Re:VIEW version
212
242
 
213
- Re:VIEW is updated regularly. We Re:VIEW team watch the backward compatibility carefully, but if you want to use the features in the new version, you can use review-update command to update the document folder.
243
+ Re:VIEW is updated regularly. We Re:VIEW team watch the backward compatibility carefully, but if you want to use the features in the new version, you can use review-update command to update the project folder.
214
244
 
215
245
  ```bash
216
246
  $ review-update
217
- ** review-update updates your project to 3.0.0 **
218
- config.yml: Update 'review_version' to '3.0'? [y]/n
247
+ ** review-update updates your project to 5.0.0 **
248
+ config.yml: Update 'review_version' to '5.0'? [y]/n
219
249
  Rakefile will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/Rakefile). Do you really proceed? [y]/n
220
250
  lib/tasks/review.rake will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/lib/tasks/review.rake). Do you really proceed? [y]/n
221
251
  INFO: new file /.../sty/plistings.sty is created.
@@ -231,7 +261,7 @@ Finished.
231
261
 
232
262
  ## Copyright
233
263
 
234
- The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (February 2019).
264
+ The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (March 2020).
235
265
 
236
266
  If you want to report bugs and patches, or to get more information, see:
237
267