review 4.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-tex.yml +35 -0
  3. data/.github/workflows/ruby-win.yml +19 -9
  4. data/.github/workflows/ruby.yml +7 -3
  5. data/.rubocop.yml +138 -34
  6. data/NEWS.ja.md +285 -0
  7. data/NEWS.md +285 -1
  8. data/README.md +7 -6
  9. data/Rakefile +7 -2
  10. data/bin/review +2 -4
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -12
  13. data/bin/review-checkdep +2 -5
  14. data/bin/review-compile +18 -34
  15. data/bin/review-epub2html +1 -4
  16. data/bin/review-epubmaker +3 -4
  17. data/bin/review-idgxmlmaker +1 -3
  18. data/bin/review-index +5 -86
  19. data/bin/review-init +1 -4
  20. data/bin/review-pdfmaker +1 -3
  21. data/bin/review-preproc +30 -38
  22. data/bin/review-textmaker +1 -3
  23. data/bin/review-update +1 -4
  24. data/bin/review-validate +4 -4
  25. data/bin/review-vol +5 -82
  26. data/bin/review-webmaker +1 -3
  27. data/doc/config.yml.sample +45 -11
  28. data/doc/config.yml.sample-simple +3 -3
  29. data/doc/format.ja.md +103 -13
  30. data/doc/format.md +104 -16
  31. data/doc/makeindex.ja.md +2 -2
  32. data/doc/pdfmaker.ja.md +42 -0
  33. data/doc/pdfmaker.md +41 -0
  34. data/doc/quickstart.ja.md +19 -6
  35. data/doc/quickstart.md +18 -6
  36. data/doc/writing_vertical.ja.md +6 -0
  37. data/lib/review.rb +1 -1
  38. data/lib/review/book.rb +2 -2
  39. data/lib/review/book/base.rb +67 -29
  40. data/lib/review/book/bib.rb +21 -0
  41. data/lib/review/book/book_unit.rb +158 -0
  42. data/lib/review/book/chapter.rb +33 -26
  43. data/lib/review/book/index.rb +24 -185
  44. data/lib/review/book/index/item.rb +7 -1
  45. data/lib/review/book/page_metric.rb +7 -7
  46. data/lib/review/book/part.rb +26 -11
  47. data/lib/review/book/volume.rb +5 -5
  48. data/lib/review/builder.rb +121 -52
  49. data/lib/review/call_hook.rb +20 -0
  50. data/lib/review/catalog.rb +3 -2
  51. data/lib/review/compiler.rb +230 -111
  52. data/lib/review/configure.rb +91 -7
  53. data/lib/review/converter.rb +1 -1
  54. data/lib/review/epub2html.rb +6 -1
  55. data/lib/review/epubmaker.rb +124 -152
  56. data/lib/review/epubmaker/content.rb +113 -0
  57. data/lib/review/epubmaker/epubcommon.rb +372 -0
  58. data/lib/review/epubmaker/epubv2.rb +178 -0
  59. data/lib/review/epubmaker/epubv3.rb +231 -0
  60. data/lib/review/epubmaker/producer.rb +167 -0
  61. data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
  62. data/lib/review/epubmaker/zip_exporter.rb +84 -0
  63. data/lib/review/exception.rb +13 -0
  64. data/lib/review/htmlbuilder.rb +176 -89
  65. data/lib/review/htmlutils.rb +8 -11
  66. data/lib/review/i18n.rb +2 -1
  67. data/lib/review/idgxmlbuilder.rb +165 -75
  68. data/lib/review/idgxmlmaker.rb +24 -28
  69. data/lib/review/img_math.rb +238 -0
  70. data/lib/review/index_builder.rb +645 -0
  71. data/lib/review/init.rb +9 -17
  72. data/lib/review/latexbox.rb +58 -0
  73. data/lib/review/latexbuilder.rb +193 -75
  74. data/lib/review/latexutils.rb +9 -1
  75. data/lib/review/lineinput.rb +112 -2
  76. data/lib/review/loggable.rb +27 -0
  77. data/lib/review/logger.rb +90 -3
  78. data/lib/review/makerhelper.rb +17 -188
  79. data/lib/review/markdownbuilder.rb +54 -4
  80. data/lib/review/pdfmaker.rb +76 -84
  81. data/lib/review/plaintextbuilder.rb +106 -22
  82. data/lib/review/preprocessor.rb +107 -303
  83. data/lib/review/preprocessor/directive.rb +35 -0
  84. data/lib/review/preprocessor/line.rb +34 -0
  85. data/lib/review/preprocessor/repository.rb +177 -0
  86. data/lib/review/rstbuilder.rb +27 -8
  87. data/lib/review/sec_counter.rb +14 -0
  88. data/lib/review/template.rb +11 -1
  89. data/lib/review/textmaker.rb +27 -32
  90. data/lib/review/textutils.rb +3 -12
  91. data/lib/review/tocprinter.rb +242 -97
  92. data/lib/review/topbuilder.rb +98 -31
  93. data/lib/review/update.rb +12 -13
  94. data/lib/review/version.rb +1 -1
  95. data/lib/review/volumeprinter.rb +97 -0
  96. data/lib/review/webmaker.rb +40 -47
  97. data/lib/review/webtocprinter.rb +39 -35
  98. data/lib/review/yamlloader.rb +2 -1
  99. data/review.gemspec +5 -3
  100. data/samples/sample-book/src/config-epub2.yml +1 -1
  101. data/samples/sample-book/src/config.yml +3 -3
  102. data/samples/sample-book/src/lib/tasks/review.rake +19 -1
  103. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +2 -1
  104. data/samples/syntax-book/Gemfile +1 -1
  105. data/samples/syntax-book/ch01.re +1 -1
  106. data/samples/syntax-book/ch02.re +21 -6
  107. data/samples/syntax-book/ch03.re +1 -1
  108. data/samples/syntax-book/config.yml +1 -1
  109. data/samples/syntax-book/images/img3-2.png +0 -0
  110. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +2 -1
  111. data/templates/html/_colophon.html.erb +23 -0
  112. data/templates/html/_colophon_history.html.erb +9 -0
  113. data/templates/html/_cover.html.erb +10 -0
  114. data/templates/html/_part_body.html.erb +6 -0
  115. data/templates/html/_titlepage.html.erb +20 -0
  116. data/templates/html/layout-html5.html.erb +6 -0
  117. data/templates/html/layout-xhtml1.html.erb +6 -0
  118. data/templates/latex/config.erb +35 -23
  119. data/templates/latex/review-jlreq/README.md +3 -1
  120. data/templates/latex/review-jlreq/review-base.sty +36 -23
  121. data/templates/latex/review-jlreq/review-jlreq.cls +18 -25
  122. data/templates/latex/review-jlreq/review-style.sty +6 -1
  123. data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
  124. data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
  125. data/templates/latex/review-jsbook/README.md +7 -5
  126. data/templates/latex/review-jsbook/review-base.sty +40 -24
  127. data/templates/latex/review-jsbook/review-jsbook.cls +13 -3
  128. data/templates/latex/review-jsbook/review-style.sty +6 -1
  129. data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
  130. data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
  131. data/templates/opf/epubv2.opf.erb +7 -7
  132. data/templates/opf/epubv3.opf.erb +7 -7
  133. data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
  134. data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
  135. data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
  136. data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
  137. data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
  138. data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
  139. data/templates/web/html/layout-html5.html.erb +9 -8
  140. data/templates/web/html/layout-xhtml1.html.erb +6 -0
  141. data/test/assets/header_listener.html +35 -0
  142. data/test/assets/img_math/img1.png +0 -0
  143. data/test/assets/img_math/img2.png +0 -0
  144. data/test/assets/img_math/img3.png +0 -0
  145. data/test/assets/syntax_book_index_detail.txt +58 -0
  146. data/test/assets/test_template.tex +6 -3
  147. data/test/assets/test_template_backmatter.tex +6 -3
  148. data/test/book_test_helper.rb +11 -5
  149. data/test/run_test.rb +1 -1
  150. data/test/test_book.rb +54 -63
  151. data/test/test_book_chapter.rb +95 -54
  152. data/test/test_book_part.rb +3 -3
  153. data/test/test_builder.rb +29 -20
  154. data/test/test_catalog_converter_cmd.rb +1 -1
  155. data/test/test_converter.rb +1 -0
  156. data/test/test_epub3maker.rb +170 -126
  157. data/test/test_epubmaker.rb +254 -129
  158. data/test/test_epubmaker_cmd.rb +15 -4
  159. data/test/test_helper.rb +12 -5
  160. data/test/test_htmlbuilder.rb +926 -76
  161. data/test/test_htmlutils.rb +0 -12
  162. data/test/test_i18n.rb +33 -33
  163. data/test/test_idgxmlbuilder.rb +531 -20
  164. data/test/test_idgxmlmaker_cmd.rb +7 -3
  165. data/test/test_img_math.rb +111 -0
  166. data/test/test_index.rb +62 -52
  167. data/test/test_indexbuilder.rb +52 -0
  168. data/test/test_latexbuilder.rb +891 -20
  169. data/test/test_latexbuilder_v2.rb +56 -10
  170. data/test/test_lineinput.rb +20 -93
  171. data/test/test_logger.rb +7 -7
  172. data/test/test_makerhelper.rb +0 -12
  173. data/test/test_markdownbuilder.rb +32 -0
  174. data/test/test_pdfmaker.rb +100 -11
  175. data/test/test_pdfmaker_cmd.rb +3 -3
  176. data/test/test_plaintextbuilder.rb +546 -32
  177. data/test/test_preprocessor.rb +188 -1
  178. data/test/test_review_ext.rb +2 -1
  179. data/test/test_reviewheaderlistener.rb +49 -0
  180. data/test/test_rstbuilder.rb +25 -1
  181. data/test/test_sec_counter.rb +156 -0
  182. data/test/test_template.rb +12 -2
  183. data/test/test_textmaker_cmd.rb +5 -1
  184. data/test/test_tocprinter.rb +46 -0
  185. data/test/test_topbuilder.rb +324 -20
  186. data/test/test_update.rb +44 -44
  187. data/test/test_webtocprinter.rb +75 -43
  188. data/test/test_zip_exporter.rb +5 -6
  189. data/vendor/gentombow/LICENSE +1 -1
  190. data/vendor/gentombow/Makefile +0 -1
  191. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  192. data/vendor/gentombow/bounddvi-en.tex +1 -0
  193. data/vendor/gentombow/bounddvi.pdf +0 -0
  194. data/vendor/gentombow/bounddvi.sty +30 -7
  195. data/vendor/gentombow/bounddvi.tex +1 -0
  196. data/vendor/gentombow/create_archive.sh +1 -0
  197. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  198. data/vendor/gentombow/gentombow-ja.tex +9 -0
  199. data/vendor/gentombow/gentombow.pdf +0 -0
  200. data/vendor/gentombow/gentombow.sty +32 -10
  201. data/vendor/gentombow/gentombow.tex +8 -0
  202. data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
  203. data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
  204. data/vendor/jsclasses/Makefile +3 -2
  205. data/vendor/jsclasses/create_archive.sh +5 -5
  206. data/vendor/jsclasses/jis/Makefile +3 -2
  207. data/vendor/jsclasses/jis/jsarticle.cls +22 -18
  208. data/vendor/jsclasses/jis/jsbook.cls +22 -18
  209. data/vendor/jsclasses/jis/jsclasses.dtx +94 -13
  210. data/vendor/jsclasses/jis/jsclasses.ins +15 -5
  211. data/vendor/jsclasses/jis/jslogo.ins +9 -0
  212. data/vendor/jsclasses/jis/jslogo.sty +1 -13
  213. data/vendor/jsclasses/jis/jspf.cls +22 -18
  214. data/vendor/jsclasses/jis/jsreport.cls +22 -18
  215. data/vendor/jsclasses/jis/jsverb.ins +9 -0
  216. data/vendor/jsclasses/jis/jsverb.sty +1 -13
  217. data/vendor/jsclasses/jis/kiyou.cls +22 -18
  218. data/vendor/jsclasses/jis/minijs.sty +65 -22
  219. data/vendor/jsclasses/jis/okumacro.ins +9 -0
  220. data/vendor/jsclasses/jis/okumacro.sty +1 -13
  221. data/vendor/jsclasses/jis/okuverb.ins +9 -0
  222. data/vendor/jsclasses/jis/okuverb.sty +1 -13
  223. data/vendor/jsclasses/jis/winjis.sty +23 -19
  224. data/vendor/jsclasses/jsarticle.cls +22 -18
  225. data/vendor/jsclasses/jsbook.cls +22 -18
  226. data/vendor/jsclasses/jsclasses.dtx +94 -13
  227. data/vendor/jsclasses/jsclasses.ins +15 -5
  228. data/vendor/jsclasses/jsclasses.pdf +0 -0
  229. data/vendor/jsclasses/jslogo.ins +9 -0
  230. data/vendor/jsclasses/jslogo.pdf +0 -0
  231. data/vendor/jsclasses/jslogo.sty +1 -13
  232. data/vendor/jsclasses/jspf.cls +22 -18
  233. data/vendor/jsclasses/jsreport.cls +22 -18
  234. data/vendor/jsclasses/jsverb.ins +9 -0
  235. data/vendor/jsclasses/jsverb.pdf +0 -0
  236. data/vendor/jsclasses/jsverb.sty +1 -13
  237. data/vendor/jsclasses/kiyou.cls +22 -18
  238. data/vendor/jsclasses/minijs.sty +68 -22
  239. data/vendor/jsclasses/okumacro.ins +9 -0
  240. data/vendor/jsclasses/okumacro.pdf +0 -0
  241. data/vendor/jsclasses/okumacro.sty +1 -13
  242. data/vendor/jsclasses/okuverb.ins +9 -0
  243. data/vendor/jsclasses/okuverb.pdf +0 -0
  244. data/vendor/jsclasses/okuverb.sty +1 -13
  245. data/vendor/jsclasses/tests/relfont.tex +10 -0
  246. data/vendor/jsclasses/winjis.sty +23 -19
  247. metadata +106 -22
  248. data/.rubocop_todo.yml +0 -7
  249. data/lib/epubmaker.rb +0 -23
  250. data/lib/epubmaker/content.rb +0 -110
  251. data/lib/epubmaker/epubcommon.rb +0 -441
  252. data/lib/epubmaker/epubv2.rb +0 -143
  253. data/lib/epubmaker/epubv3.rb +0 -233
  254. data/lib/epubmaker/producer.rb +0 -375
  255. data/lib/epubmaker/zip_exporter.rb +0 -81
  256. data/lib/lineinput.rb +0 -155
  257. data/lib/review/book/compilable.rb +0 -178
  258. data/lib/review/tocparser.rb +0 -275
  259. 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
  ```
@@ -378,7 +375,7 @@ The order of finding image is as follows. The first matched one is used.
378
375
  ```
379
376
 
380
377
  * ``<imgdir>`` is `images` as default.
381
- * ``<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`.
382
379
  * ``<chapid>`` is basename of *.re file. If the filename is `ch01.re`, chapid is `ch01`.
383
380
  * ``<id>`` is the ID of the first argument of `//image`. You should use only printable ASCII characters as ID.
384
381
  * ``<ext>`` is file extensions of Re:VIEW. They are different by the builder you use.
@@ -387,7 +384,7 @@ For each builder, image files are searched in order of the following extensions,
387
384
 
388
385
  * HTMLBuilder (EPUBMaker, WEBMaker), MARKDOWNBuilder: .png, .jpg, .jpeg, .gif, .svg
389
386
  * LATEXBuilder (PDFMaker): .ai, .eps, .pdf, .tif, .tiff, .png, .bmp, .jpg, .jpeg, .gif
390
- * 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
391
388
 
392
389
  ### Inline Images
393
390
 
@@ -532,6 +529,19 @@ Some block commands are used for short column.
532
529
 
533
530
  The content is like paragraph; separated by empty lines.
534
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
+
535
545
  ## Footnotes
536
546
 
537
547
  You can use `//footnote` to write footnotes.
@@ -624,7 +634,7 @@ Usage:
624
634
  If you'd like to assign a number like 'Equation 1.1`, specify the identifier and caption.
625
635
 
626
636
  ```
627
- //texequationl[emc][The Equivalence of Mass and Energy]{
637
+ //texequation[emc][The Equivalence of Mass and Energy]{
628
638
  \sum_{i=1}^nf_n(x)
629
639
  //}
630
640
  ```
@@ -635,7 +645,7 @@ There is `@<m>{ ... }` for inline (see "Fence notation for inline commands" sect
635
645
 
636
646
  Whether LaTeX formula is correctly displayed or not depends on the processing system. PDFMaker uses LaTeX internally, so there is no problem.
637
647
 
638
- EPUBMaker and WEBMaker use either MathML transformation or imaging.
648
+ In EPUBMaker and WEBMaker, you can choose between MathML conversion, MathJax conversion, and imaging.
639
649
 
640
650
  ### MathML case
641
651
  Install MathML library (`gem install math_ml`).
@@ -643,11 +653,20 @@ Install MathML library (`gem install math_ml`).
643
653
  Specify in config.yml as follows:
644
654
 
645
655
  ```
646
- mathml: true
656
+ math_format: mathml
647
657
  ```
648
658
 
649
659
  Whether it is displayed properly in MathML depends on your viewer or browser.
650
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
+
651
670
  ### imaging case
652
671
 
653
672
  This way calls LaTeX internally and images it with an external tool. Image files will be placed in `images/_review_math` folder.
@@ -662,7 +681,7 @@ In addition, external tools for image conversion are also needed. Currently, it
662
681
  By setting in config.yml,
663
682
 
664
683
  ```
665
- imgmath: true
684
+ math_format: imgmath
666
685
  ```
667
686
 
668
687
  it is set as follows:
@@ -697,7 +716,7 @@ imgmath_options:
697
716
  For example, to make SVG:
698
717
 
699
718
  ```
700
- imgmath: true
719
+ math_format: imgmath
701
720
  imgmath_options:
702
721
  format: svg
703
722
  pdfcrop_pixelize_cmd: "pdftocairo -svg -r 90 -f %p -l %p -singlefile %i %o"
@@ -708,7 +727,7 @@ By default, the command specified in `pdfcrop_pixelize_cmd` takes the filename o
708
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.
709
728
 
710
729
  ```
711
- imgmath: true
730
+ math_format: imgmath
712
731
  imgmath_options:
713
732
  extract_singlepage: true
714
733
  # use pdftk instead of default pdfjam (for Windows)
@@ -722,7 +741,7 @@ imgmath_options:
722
741
  To create PDF math images:
723
742
 
724
743
  ```
725
- imgmath: true
744
+ math_format: imgmath
726
745
  imgmath_options:
727
746
  format: pdf
728
747
  extract_singlepage: true
@@ -733,7 +752,7 @@ imgmath_options:
733
752
  To set the same setting as Re:VIEW 2:
734
753
 
735
754
  ```
736
- imgmath: true
755
+ math_format: imgmath
737
756
  imgmath_options:
738
757
  converter: dvipng
739
758
  fontsize: 12
@@ -956,6 +975,75 @@ this is a special line.
956
975
 
957
976
  (In other formats, it is just ignored.)
958
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.)
959
1047
 
960
1048
  ## Inline Commands
961
1049
 
@@ -975,6 +1063,8 @@ this is a special line.
975
1063
  @<ttb>{BarClass}:: teletype (monospaced font) and bold
976
1064
  @<code>{a.foo(bar)}:: teletype (monospaced font) for fragments of code
977
1065
  @<tcy>{}:: short horizontal text in vertical text
1066
+ @<ins>{sentence}:: inserted part (underline)
1067
+ @<del>{sentence}:: deleted part (strike through)
978
1068
  ```
979
1069
 
980
1070
  ### References
@@ -1106,13 +1196,11 @@ C
1106
1196
  A,B,C
1107
1197
  ```
1108
1198
 
1109
-
1110
1199
  ## HTML/LaTeX Layout
1111
1200
 
1112
1201
  `layouts/layout.html.erb` and `layouts/layout.tex.erb` are used as layout file.
1113
1202
  You can use ERb tags in the layout files.
1114
1203
 
1115
-
1116
1204
  Sample layout file(layout.html.erb):
1117
1205
 
1118
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,7 +8,7 @@ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布
8
8
 
9
9
  このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
10
10
 
11
- このドキュメントは、Re:VIEW 4.0 に基づいています。
11
+ このドキュメントは、Re:VIEW 5.1 に基づいています。
12
12
 
13
13
  ## セットアップ
14
14
 
@@ -160,6 +160,16 @@ config.yml のサンプルについては以下を参照してください。
160
160
 
161
161
  * [config.yml.sample](https://github.com/kmuto/review/blob/master/doc/config.yml.sample)
162
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
+
163
173
  ### 章を増やす、カスタマイズする
164
174
  作成した PDF あるいは EPUB を見ると、先に作成した RE:VIEW フォーマットテキストファイルが「第1章」となっていることがわかります。
165
175
 
@@ -217,20 +227,23 @@ $ review-preproc --replace ファイル ←ファイルを更新したもので
217
227
  $ review-vol
218
228
  ```
219
229
 
220
- より細かな見出し一覧などを出したいときには、review-index コマンドを使うのもよいでしょう。
230
+ より細かな見出し一覧などを出したいときには、review-index コマンドを使うとよいでしょう。
221
231
 
222
232
  ```bash
223
- $ review-index --level 掘り下げる見出しレベル数 -a
233
+ $ review-index -l 掘り下げる見出しレベル数
234
+ $ review-index -l 掘り下げる見出しレベル数 -d ←分量の詳細を表示
224
235
  ```
225
236
 
237
+ review-vol と review-index では、文字数や行数、見込みページなど各値に大きな差が出ることがあります。これは、review-vol がごく簡単にファイルから概算しているのに対し、review-index は実際に内部でコンパイルして比較的精密に計量しているからです。
238
+
226
239
  ## プロジェクトフォルダを新しい Re:VIEW バージョンに追従する方法
227
240
 
228
241
  Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、プロジェクトフォルダを新しいバージョンに更新する review-update コマンドを利用します。
229
242
 
230
243
  ```bash
231
244
  $ review-update
232
- ** review-update はプロジェクトを 4.0.0 に更新します **
233
- config.yml: 'review_version' を '4.0' に更新しますか? [y]/n ←Enterで実行
245
+ ** review-update はプロジェクトを 5.0.0 に更新します **
246
+ config.yml: 'review_version' を '5.0' に更新しますか? [y]/n ←Enterで実行
234
247
  Rakefile は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/Rakefile) で置き換えられます。本当に進めますか? [y]/n
235
248
  lib/tasks/review.rake は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/lib/tasks/review.rake) で置き換えられます。本当に進めますか? [y]/n
236
249
  INFO: 新しいファイル /.../sty/plistings.sty が作成されました。
@@ -246,7 +259,7 @@ INFO: 新しいファイル /.../sty/gentombow.sty が作成されました。
246
259
 
247
260
  ## クレジット
248
261
 
249
- Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、201912月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
262
+ Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、202010月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
250
263
 
251
264
  バグ・パッチの報告、その他の情報は、
252
265
 
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 4.0.
12
+ The supported version of the article is Re:VIEW 5.1.
13
13
 
14
14
  ## Set up Re:VIEW
15
15
 
@@ -161,6 +161,16 @@ $ rake idgxml ## generate InDesign XML
161
161
 
162
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.
163
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
+
164
174
  ### add chapters and modify them
165
175
 
166
176
  `catalog.yml` file is a catalog of Re:VIEW format files.
@@ -182,7 +192,6 @@ POSTDEF:
182
192
 
183
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).
184
194
 
185
-
186
195
  ### more information
187
196
 
188
197
  For more information about Re:VIEW format, see [format.md](https://github.com/kmuto/review/blob/master/doc/format.md).
@@ -223,17 +232,20 @@ $ review-vol
223
232
  You can also use `review-index` command to generate header list.
224
233
 
225
234
  ```bash
226
- $ review-index --level <heading level> -a
235
+ $ review-index --level <heading level>
236
+ $ review-index --level <heading level> -d ## show volumes also
227
237
  ```
228
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
+
229
241
  ## how to update the document folder to the new Re:VIEW version
230
242
 
231
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.
232
244
 
233
245
  ```bash
234
246
  $ review-update
235
- ** review-update updates your project to 4.0.0 **
236
- config.yml: Update 'review_version' to '4.0'? [y]/n
247
+ ** review-update updates your project to 5.0.0 **
248
+ config.yml: Update 'review_version' to '5.0'? [y]/n
237
249
  Rakefile will be overridden with Re:VIEW version (/.../review/samples/sample-book/src/Rakefile). Do you really proceed? [y]/n
238
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
239
251
  INFO: new file /.../sty/plistings.sty is created.
@@ -249,7 +261,7 @@ Finished.
249
261
 
250
262
  ## Copyright
251
263
 
252
- The original author of Re:VIEW is Minero Aoki. The current maintainer is Kenshi Muto(@kmuto), and committers are Masayoshi Takahashi and Masanori Kado (December 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).
253
265
 
254
266
  If you want to report bugs and patches, or to get more information, see:
255
267