review 4.0.0 → 5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) 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 +141 -38
  6. data/Dockerfile +21 -5
  7. data/NEWS.ja.md +338 -1
  8. data/NEWS.md +339 -2
  9. data/README.md +11 -7
  10. data/Rakefile +7 -2
  11. data/appveyor.yml +0 -20
  12. data/bin/review +2 -4
  13. data/bin/review-catalog-converter +4 -4
  14. data/bin/review-check +8 -12
  15. data/bin/review-checkdep +2 -5
  16. data/bin/review-compile +11 -20
  17. data/bin/review-epub2html +1 -4
  18. data/bin/review-epubmaker +3 -4
  19. data/bin/review-idgxmlmaker +1 -3
  20. data/bin/review-index +5 -86
  21. data/bin/review-init +1 -4
  22. data/bin/review-pdfmaker +1 -3
  23. data/bin/review-preproc +3 -5
  24. data/bin/review-textmaker +1 -3
  25. data/bin/review-update +1 -4
  26. data/bin/review-validate +5 -5
  27. data/bin/review-vol +5 -82
  28. data/bin/review-webmaker +1 -3
  29. data/doc/config.yml.sample +55 -12
  30. data/doc/config.yml.sample-simple +4 -3
  31. data/doc/format.ja.md +119 -17
  32. data/doc/format.md +106 -17
  33. data/doc/makeindex.ja.md +2 -2
  34. data/doc/pdfmaker.ja.md +42 -0
  35. data/doc/pdfmaker.md +41 -0
  36. data/doc/quickstart.ja.md +55 -25
  37. data/doc/quickstart.md +47 -17
  38. data/lib/review.rb +1 -1
  39. data/lib/review/book.rb +2 -2
  40. data/lib/review/book/base.rb +69 -30
  41. data/lib/review/book/bib.rb +21 -0
  42. data/lib/review/book/book_unit.rb +158 -0
  43. data/lib/review/book/chapter.rb +33 -26
  44. data/lib/review/book/index.rb +39 -206
  45. data/lib/review/book/index/item.rb +8 -2
  46. data/lib/review/book/page_metric.rb +7 -7
  47. data/lib/review/book/part.rb +26 -11
  48. data/lib/review/book/volume.rb +5 -5
  49. data/lib/review/builder.rb +124 -27
  50. data/lib/review/call_hook.rb +20 -0
  51. data/lib/review/catalog.rb +3 -2
  52. data/lib/review/compiler.rb +197 -91
  53. data/lib/review/configure.rb +95 -9
  54. data/lib/review/converter.rb +1 -1
  55. data/lib/review/epub2html.rb +6 -1
  56. data/lib/review/epubmaker.rb +116 -117
  57. data/lib/review/epubmaker/content.rb +113 -0
  58. data/lib/review/epubmaker/epubcommon.rb +372 -0
  59. data/lib/review/epubmaker/epubv2.rb +178 -0
  60. data/lib/review/epubmaker/epubv3.rb +231 -0
  61. data/lib/review/epubmaker/producer.rb +168 -0
  62. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  63. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  64. data/lib/review/exception.rb +6 -0
  65. data/lib/review/extentions/string.rb +0 -4
  66. data/lib/review/htmlbuilder.rb +132 -87
  67. data/lib/review/htmlutils.rb +8 -11
  68. data/lib/review/i18n.rb +2 -1
  69. data/lib/review/idgxmlbuilder.rb +156 -76
  70. data/lib/review/idgxmlmaker.rb +22 -18
  71. data/lib/review/img_math.rb +245 -0
  72. data/lib/review/index_builder.rb +654 -0
  73. data/lib/review/init.rb +17 -18
  74. data/lib/review/latexbox.rb +58 -0
  75. data/lib/review/latexbuilder.rb +173 -43
  76. data/lib/review/latexutils.rb +9 -1
  77. data/lib/review/lineinput.rb +112 -2
  78. data/lib/review/logger.rb +42 -3
  79. data/lib/review/makerhelper.rb +12 -187
  80. data/lib/review/markdownbuilder.rb +51 -2
  81. data/lib/review/pdfmaker.rb +78 -73
  82. data/lib/review/plaintextbuilder.rb +98 -14
  83. data/lib/review/preprocessor.rb +18 -12
  84. data/lib/review/rstbuilder.rb +28 -9
  85. data/lib/review/sec_counter.rb +14 -0
  86. data/lib/review/template.rb +6 -0
  87. data/lib/review/textmaker.rb +21 -19
  88. data/lib/review/textutils.rb +3 -12
  89. data/lib/review/tocprinter.rb +242 -97
  90. data/lib/review/topbuilder.rb +91 -24
  91. data/lib/review/update.rb +12 -13
  92. data/lib/review/version.rb +1 -1
  93. data/lib/review/volumeprinter.rb +97 -0
  94. data/lib/review/webmaker.rb +34 -33
  95. data/lib/review/webtocprinter.rb +39 -35
  96. data/lib/review/yamlloader.rb +2 -1
  97. data/review.gemspec +5 -3
  98. data/samples/sample-book/src/.gitignore +1 -0
  99. data/samples/sample-book/src/config-ebook.yml +4 -0
  100. data/samples/sample-book/src/config-epub2.yml +1 -1
  101. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  102. data/samples/sample-book/src/config.yml +3 -3
  103. data/samples/sample-book/src/lib/tasks/review.rake +26 -6
  104. data/samples/syntax-book/Gemfile +1 -1
  105. data/samples/syntax-book/ch01.re +3 -1
  106. data/samples/syntax-book/ch02.re +28 -21
  107. data/samples/syntax-book/ch03.re +1 -1
  108. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  109. data/samples/syntax-book/config-print.yml +3 -0
  110. data/samples/syntax-book/config.yml +1 -1
  111. data/samples/syntax-book/images/img3-2.png +0 -0
  112. data/samples/syntax-book/lib/tasks/review.rake +23 -8
  113. data/templates/html/_colophon.html.erb +23 -0
  114. data/templates/html/_colophon_history.html.erb +9 -0
  115. data/templates/html/_cover.html.erb +10 -0
  116. data/templates/html/_part_body.html.erb +6 -0
  117. data/templates/html/_titlepage.html.erb +20 -0
  118. data/templates/html/layout-html5.html.erb +6 -0
  119. data/templates/html/layout-xhtml1.html.erb +6 -0
  120. data/templates/latex/config.erb +41 -29
  121. data/templates/latex/review-jlreq/README.md +3 -1
  122. data/templates/latex/review-jlreq/review-base.sty +47 -22
  123. data/templates/latex/review-jlreq/review-jlreq.cls +25 -24
  124. data/templates/latex/review-jlreq/review-style.sty +6 -1
  125. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  126. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  127. data/templates/latex/review-jsbook/README.md +7 -5
  128. data/templates/latex/review-jsbook/review-base.sty +47 -21
  129. data/templates/latex/review-jsbook/review-jsbook.cls +12 -2
  130. data/templates/latex/review-jsbook/review-style.sty +6 -1
  131. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  132. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  133. data/templates/opf/epubv2.opf.erb +7 -7
  134. data/templates/opf/epubv3.opf.erb +7 -7
  135. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  136. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  137. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  138. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  139. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  140. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  141. data/templates/web/html/layout-html5.html.erb +9 -8
  142. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  143. data/test/assets/header_listener.html +35 -0
  144. data/test/assets/img_math/img1.png +0 -0
  145. data/test/assets/img_math/img2.png +0 -0
  146. data/test/assets/img_math/img3.png +0 -0
  147. data/test/assets/syntax_book_index_detail.txt +58 -0
  148. data/test/assets/test_template.tex +12 -9
  149. data/test/assets/test_template_backmatter.tex +12 -9
  150. data/test/book_test_helper.rb +11 -5
  151. data/test/run_test.rb +1 -1
  152. data/test/test_book.rb +62 -63
  153. data/test/test_book_chapter.rb +99 -56
  154. data/test/test_book_part.rb +3 -3
  155. data/test/test_builder.rb +24 -15
  156. data/test/test_catalog.rb +1 -0
  157. data/test/test_catalog_converter_cmd.rb +1 -1
  158. data/test/test_converter.rb +1 -0
  159. data/test/test_epub3maker.rb +170 -126
  160. data/test/test_epubmaker.rb +249 -129
  161. data/test/test_epubmaker_cmd.rb +14 -7
  162. data/test/test_helper.rb +23 -11
  163. data/test/test_htmlbuilder.rb +956 -76
  164. data/test/test_htmlutils.rb +0 -12
  165. data/test/test_i18n.rb +33 -33
  166. data/test/test_idgxmlbuilder.rb +568 -10
  167. data/test/test_idgxmlmaker_cmd.rb +50 -0
  168. data/test/test_image_finder.rb +52 -70
  169. data/test/test_img_math.rb +111 -0
  170. data/test/test_index.rb +62 -52
  171. data/test/test_indexbuilder.rb +52 -0
  172. data/test/test_latexbuilder.rb +1056 -30
  173. data/test/test_latexbuilder_v2.rb +52 -12
  174. data/test/test_lineinput.rb +20 -93
  175. data/test/test_logger.rb +7 -7
  176. data/test/test_makerhelper.rb +0 -12
  177. data/test/test_markdownbuilder.rb +32 -0
  178. data/test/test_pdfmaker.rb +100 -11
  179. data/test/test_pdfmaker_cmd.rb +101 -7
  180. data/test/test_plaintextbuilder.rb +531 -25
  181. data/test/test_review_ext.rb +2 -1
  182. data/test/test_reviewheaderlistener.rb +49 -0
  183. data/test/test_rstbuilder.rb +25 -1
  184. data/test/test_sec_counter.rb +156 -0
  185. data/test/test_template.rb +12 -2
  186. data/test/test_textmaker_cmd.rb +58 -0
  187. data/test/test_tocprinter.rb +46 -0
  188. data/test/test_topbuilder.rb +365 -10
  189. data/test/test_update.rb +44 -44
  190. data/test/test_webtocprinter.rb +75 -43
  191. data/test/test_zip_exporter.rb +5 -6
  192. data/vendor/gentombow/LICENSE +1 -1
  193. data/vendor/gentombow/Makefile +0 -1
  194. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  195. data/vendor/gentombow/bounddvi-en.tex +1 -0
  196. data/vendor/gentombow/bounddvi.pdf +0 -0
  197. data/vendor/gentombow/bounddvi.sty +30 -7
  198. data/vendor/gentombow/bounddvi.tex +1 -0
  199. data/vendor/gentombow/create_archive.sh +1 -0
  200. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  201. data/vendor/gentombow/gentombow-ja.tex +9 -0
  202. data/vendor/gentombow/gentombow.pdf +0 -0
  203. data/vendor/gentombow/gentombow.sty +32 -10
  204. data/vendor/gentombow/gentombow.tex +8 -0
  205. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  206. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  207. data/vendor/jsclasses/LICENSE +1 -1
  208. data/vendor/jsclasses/Makefile +3 -2
  209. data/vendor/jsclasses/create_archive.sh +5 -5
  210. data/vendor/jsclasses/jis/Makefile +3 -2
  211. data/vendor/jsclasses/jis/jsarticle.cls +74 -31
  212. data/vendor/jsclasses/jis/jsbook.cls +74 -31
  213. data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
  214. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  215. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  216. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  217. data/vendor/jsclasses/jis/jslogo.sty +4 -16
  218. data/vendor/jsclasses/jis/jspf.cls +73 -30
  219. data/vendor/jsclasses/jis/jsreport.cls +74 -31
  220. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  221. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  222. data/vendor/jsclasses/jis/kiyou.cls +74 -31
  223. data/vendor/jsclasses/jis/minijs.sty +65 -22
  224. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  225. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  226. data/vendor/jsclasses/jis/okumacro.sty +4 -17
  227. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  228. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  229. data/vendor/jsclasses/jis/winjis.sty +23 -19
  230. data/vendor/jsclasses/jsarticle.cls +74 -31
  231. data/vendor/jsclasses/jsbook.cls +74 -31
  232. data/vendor/jsclasses/jsclasses.dtx +176 -36
  233. data/vendor/jsclasses/jsclasses.ins +15 -5
  234. data/vendor/jsclasses/jsclasses.pdf +0 -0
  235. data/vendor/jsclasses/jslogo.dtx +4 -4
  236. data/vendor/jsclasses/jslogo.ins +9 -0
  237. data/vendor/jsclasses/jslogo.pdf +0 -0
  238. data/vendor/jsclasses/jslogo.sty +4 -16
  239. data/vendor/jsclasses/jspf.cls +73 -30
  240. data/vendor/jsclasses/jsreport.cls +74 -31
  241. data/vendor/jsclasses/jsverb.ins +9 -0
  242. data/vendor/jsclasses/jsverb.pdf +0 -0
  243. data/vendor/jsclasses/jsverb.sty +1 -13
  244. data/vendor/jsclasses/kiyou.cls +74 -31
  245. data/vendor/jsclasses/minijs.sty +68 -22
  246. data/vendor/jsclasses/okumacro.dtx +4 -5
  247. data/vendor/jsclasses/okumacro.ins +9 -0
  248. data/vendor/jsclasses/okumacro.pdf +0 -0
  249. data/vendor/jsclasses/okumacro.sty +4 -17
  250. data/vendor/jsclasses/okuverb.ins +9 -0
  251. data/vendor/jsclasses/okuverb.pdf +0 -0
  252. data/vendor/jsclasses/okuverb.sty +1 -13
  253. data/vendor/jsclasses/tests/relfont.tex +10 -0
  254. data/vendor/jsclasses/winjis.sty +23 -19
  255. metadata +109 -20
  256. data/.rubocop_todo.yml +0 -7
  257. data/lib/epubmaker.rb +0 -23
  258. data/lib/epubmaker/content.rb +0 -110
  259. data/lib/epubmaker/epubcommon.rb +0 -441
  260. data/lib/epubmaker/epubv2.rb +0 -143
  261. data/lib/epubmaker/epubv3.rb +0 -233
  262. data/lib/epubmaker/producer.rb +0 -375
  263. data/lib/epubmaker/zip_exporter.rb +0 -81
  264. data/lib/lineinput.rb +0 -155
  265. data/lib/review/book/compilable.rb +0 -178
  266. data/lib/review/tocparser.rb +0 -271
  267. data/samples/syntax-book/review-ext.rb +0 -14
  268. data/test/test_tocparser.rb +0 -25
data/doc/format.md CHANGED
@@ -4,8 +4,7 @@ The document is a brief guide for Re:VIEW markup syntax.
4
4
 
5
5
  Re:VIEW is based on EWB of ASCII (now KADOKAWA), influenced RD and other Wiki system's syntax.
6
6
 
7
- This document explains about the format of Re:VIEW 3.0.
8
-
7
+ This document explains about the format of Re:VIEW 5.1.
9
8
 
10
9
  ## Paragraph
11
10
 
@@ -284,7 +283,6 @@ puts "hello world!"
284
283
  //}
285
284
  ```
286
285
 
287
-
288
286
  ### Quoting Source Code
289
287
 
290
288
  `//source` is for quoting source code. filename is mandatory.
@@ -339,7 +337,6 @@ You can use `//image{ ... //}` for figures.
339
337
  You can write comments or Ascii art in the block as an alternative description.
340
338
  When publishing, it's simply ignored.
341
339
 
342
-
343
340
  Usage:
344
341
 
345
342
  ```
@@ -355,6 +352,7 @@ V1 --> V6 --|
355
352
  ```
356
353
 
357
354
  The third option is used to define the scale of images. `scale=X` is scaling for page width (`scale=0.5` makes image width to be half of page width).
355
+ If you'd like to use different values for each builders, such as HTML and TeX, you can specify the target builders using `::`. Example: `html::style="transform: scale(0.5);",latex::scale=0.5`
358
356
 
359
357
  When you want to refer images such as "see figure 1.", you can use
360
358
  inline reference markup like `@<img>{unixhistory}`.
@@ -377,7 +375,7 @@ The order of finding image is as follows. The first matched one is used.
377
375
  ```
378
376
 
379
377
  * ``<imgdir>`` is `images` as default.
380
- * ``<builder>`` is a builder (target) name to use. When you use review-comile commmand with ``--target=html``, `<imagedir>/<builder>` is `images/html`.
378
+ * ``<builder>`` is a builder (target) name to use. When you use review-comile commmand with ``--target=html``, `<imagedir>/<builder>` is `images/html`. The builder name for epubmaker and webmaker is `html`, for pdfmaker it is `latex`, and for textmaker it is `top`.
381
379
  * ``<chapid>`` is basename of *.re file. If the filename is `ch01.re`, chapid is `ch01`.
382
380
  * ``<id>`` is the ID of the first argument of `//image`. You should use only printable ASCII characters as ID.
383
381
  * ``<ext>`` is file extensions of Re:VIEW. They are different by the builder you use.
@@ -386,7 +384,7 @@ For each builder, image files are searched in order of the following extensions,
386
384
 
387
385
  * HTMLBuilder (EPUBMaker, WEBMaker), MARKDOWNBuilder: .png, .jpg, .jpeg, .gif, .svg
388
386
  * LATEXBuilder (PDFMaker): .ai, .eps, .pdf, .tif, .tiff, .png, .bmp, .jpg, .jpeg, .gif
389
- * Other builders: .ai, .psd, .eps, .pdf, .tif, .tiff, .png, .bmp, .jpg, .jpeg, .gif, .svg
387
+ * Other builders/makers: .ai, .psd, .eps, .pdf, .tif, .tiff, .png, .bmp, .jpg, .jpeg, .gif, .svg
390
388
 
391
389
  ### Inline Images
392
390
 
@@ -531,6 +529,19 @@ Some block commands are used for short column.
531
529
 
532
530
  The content is like paragraph; separated by empty lines.
533
531
 
532
+ From Re:VIEW 5.0, it is also possible to include itemize, figures and tables in short columns.
533
+
534
+ ```
535
+ //note{
536
+
537
+ With ordered itemize.
538
+
539
+ 1. item1
540
+ 2. item2
541
+
542
+ //}
543
+ ```
544
+
534
545
  ## Footnotes
535
546
 
536
547
  You can use `//footnote` to write footnotes.
@@ -623,7 +634,7 @@ Usage:
623
634
  If you'd like to assign a number like 'Equation 1.1`, specify the identifier and caption.
624
635
 
625
636
  ```
626
- //texequationl[emc][The Equivalence of Mass and Energy]{
637
+ //texequation[emc][The Equivalence of Mass and Energy]{
627
638
  \sum_{i=1}^nf_n(x)
628
639
  //}
629
640
  ```
@@ -634,7 +645,7 @@ There is `@<m>{ ... }` for inline (see "Fence notation for inline commands" sect
634
645
 
635
646
  Whether LaTeX formula is correctly displayed or not depends on the processing system. PDFMaker uses LaTeX internally, so there is no problem.
636
647
 
637
- EPUBMaker and WEBMaker use either MathML transformation or imaging.
648
+ In EPUBMaker and WEBMaker, you can choose between MathML conversion, MathJax conversion, and imaging.
638
649
 
639
650
  ### MathML case
640
651
  Install MathML library (`gem install math_ml`).
@@ -642,11 +653,20 @@ Install MathML library (`gem install math_ml`).
642
653
  Specify in config.yml as follows:
643
654
 
644
655
  ```
645
- mathml: true
656
+ math_format: mathml
646
657
  ```
647
658
 
648
659
  Whether it is displayed properly in MathML depends on your viewer or browser.
649
660
 
661
+ ### MathJax case
662
+ Specify in config.yml as follows:
663
+
664
+ ```
665
+ math_format: mathjax
666
+ ```
667
+
668
+ MathJax JavaScript module is loaded from the Internet. Because the EPUB specification prohibits loading files from external, enabling this feature will cause the EPUB file to fail validation. Also MathJax will not work in almost all EPUB readers, but may be available with CSS formatting processor.
669
+
650
670
  ### imaging case
651
671
 
652
672
  This way calls LaTeX internally and images it with an external tool. Image files will be placed in `images/_review_math` folder.
@@ -661,7 +681,7 @@ In addition, external tools for image conversion are also needed. Currently, it
661
681
  By setting in config.yml,
662
682
 
663
683
  ```
664
- imgmath: true
684
+ math_format: imgmath
665
685
  ```
666
686
 
667
687
  it is set as follows:
@@ -696,7 +716,7 @@ imgmath_options:
696
716
  For example, to make SVG:
697
717
 
698
718
  ```
699
- imgmath: true
719
+ math_format: imgmath
700
720
  imgmath_options:
701
721
  format: svg
702
722
  pdfcrop_pixelize_cmd: "pdftocairo -svg -r 90 -f %p -l %p -singlefile %i %o"
@@ -707,7 +727,7 @@ By default, the command specified in `pdfcrop_pixelize_cmd` takes the filename o
707
727
  If you want to use the `sips` command or the` magick` command, they can only process a single page, so you need to set `extract_singlepage: true` to extract the specified page from the input PDF. `pdfjam` command (in TeXLive) is used to extract pages.
708
728
 
709
729
  ```
710
- imgmath: true
730
+ math_format: imgmath
711
731
  imgmath_options:
712
732
  extract_singlepage: true
713
733
  # use pdftk instead of default pdfjam (for Windows)
@@ -721,7 +741,7 @@ imgmath_options:
721
741
  To create PDF math images:
722
742
 
723
743
  ```
724
- imgmath: true
744
+ math_format: imgmath
725
745
  imgmath_options:
726
746
  format: pdf
727
747
  extract_singlepage: true
@@ -732,7 +752,7 @@ imgmath_options:
732
752
  To set the same setting as Re:VIEW 2:
733
753
 
734
754
  ```
735
- imgmath: true
755
+ math_format: imgmath
736
756
  imgmath_options:
737
757
  converter: dvipng
738
758
  fontsize: 12
@@ -850,7 +870,7 @@ This word file is a CSV file with extension .csv. This first columns is the key,
850
870
  "i18n","""i""nternationalizatio""n"""
851
871
  ```
852
872
 
853
- Specify the word file path in `words_file` parameter of `config.yml`.
873
+ Specify the word file path in `words_file` parameter of `config.yml`. You can specify multiple word files as `word_file: ["common.csv", "mybook.csv"]`.
854
874
 
855
875
  Usage:
856
876
 
@@ -955,6 +975,75 @@ this is a special line.
955
975
 
956
976
  (In other formats, it is just ignored.)
957
977
 
978
+ ### Nested itemize block
979
+
980
+ Re:VIEW itemize blocks basically cannot express nested items. Also, none of itemize blocks allow to contain another itemize block or paragraph/image/table/list.
981
+
982
+ As a workaround, Re:VIEW 4.2 provides an experimental `//beginchild` and `//endchild`. If you want to include something in an itemize block, enclose it with `//beginchild` and `//endchild`. It is also possible to create a multiple nest.
983
+
984
+ ```
985
+ * UL1
986
+
987
+ //beginchild
988
+ #@# child of UL1 start
989
+
990
+ 1. UL1-OL1
991
+
992
+ //beginchild
993
+ #@# child of UL1-OL1 start
994
+
995
+ UL1-OL1-PARAGRAPH
996
+
997
+ * UL1-OL1-UL1
998
+ * UL1-OL1-UL2
999
+
1000
+ //endchild
1001
+ #@# child of UL1-OL1 end
1002
+
1003
+ 2. UL1-OL2
1004
+
1005
+ : UL1-DL1
1006
+ UL1-DD1
1007
+ : UL1-DL2
1008
+ UL1-DD2
1009
+
1010
+ //endchild
1011
+ #@# child of UL1 end
1012
+
1013
+ * UL2
1014
+ ```
1015
+
1016
+ Output:
1017
+
1018
+ (In HTML:)
1019
+
1020
+ ```
1021
+ <ul>
1022
+ <li>UL1
1023
+ <ol>
1024
+ <li>UL1-OL1
1025
+ <p>UL1-OL1-PARAGRAPH</p>
1026
+ <ul>
1027
+ <li>UL1-OL1-UL1</li>
1028
+ <li>UL1-OL1-UL2</li>
1029
+ </ul>
1030
+ </li>
1031
+
1032
+ <li>UL1-OL2</li>
1033
+ </ol>
1034
+ <dl>
1035
+ <dt>UL1-DL1</dt>
1036
+ <dd>UL1-DD1</dd>
1037
+ <dt>UL1-DL2</dt>
1038
+ <dd>UL1-DD2</dd>
1039
+ </dl>
1040
+ </li>
1041
+
1042
+ <li>UL2</li>
1043
+ </ul>
1044
+ ```
1045
+
1046
+ (This is an experimental implementation. Names and behaviors may change in future versions.)
958
1047
 
959
1048
  ## Inline Commands
960
1049
 
@@ -974,6 +1063,8 @@ this is a special line.
974
1063
  @<ttb>{BarClass}:: teletype (monospaced font) and bold
975
1064
  @<code>{a.foo(bar)}:: teletype (monospaced font) for fragments of code
976
1065
  @<tcy>{}:: short horizontal text in vertical text
1066
+ @<ins>{sentence}:: inserted part (underline)
1067
+ @<del>{sentence}:: deleted part (strike through)
977
1068
  ```
978
1069
 
979
1070
  ### References
@@ -1105,13 +1196,11 @@ C
1105
1196
  A,B,C
1106
1197
  ```
1107
1198
 
1108
-
1109
1199
  ## HTML/LaTeX Layout
1110
1200
 
1111
1201
  `layouts/layout.html.erb` and `layouts/layout.tex.erb` are used as layout file.
1112
1202
  You can use ERb tags in the layout files.
1113
1203
 
1114
-
1115
1204
  Sample layout file(layout.html.erb):
1116
1205
 
1117
1206
  ```html
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 について
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.
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