review 4.0.0 → 5.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-tex.yml +31 -0
- data/.github/workflows/ruby-win.yml +45 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.rubocop.yml +141 -38
- data/Dockerfile +21 -5
- data/NEWS.ja.md +338 -1
- data/NEWS.md +339 -2
- data/README.md +11 -7
- data/Rakefile +7 -2
- data/appveyor.yml +0 -20
- data/bin/review +2 -4
- data/bin/review-catalog-converter +4 -4
- data/bin/review-check +8 -12
- data/bin/review-checkdep +2 -5
- data/bin/review-compile +11 -20
- data/bin/review-epub2html +1 -4
- data/bin/review-epubmaker +3 -4
- data/bin/review-idgxmlmaker +1 -3
- data/bin/review-index +5 -86
- data/bin/review-init +1 -4
- data/bin/review-pdfmaker +1 -3
- data/bin/review-preproc +3 -5
- data/bin/review-textmaker +1 -3
- data/bin/review-update +1 -4
- data/bin/review-validate +5 -5
- data/bin/review-vol +5 -82
- data/bin/review-webmaker +1 -3
- data/doc/config.yml.sample +55 -12
- data/doc/config.yml.sample-simple +4 -3
- data/doc/format.ja.md +119 -17
- data/doc/format.md +106 -17
- data/doc/makeindex.ja.md +2 -2
- data/doc/pdfmaker.ja.md +42 -0
- data/doc/pdfmaker.md +41 -0
- data/doc/quickstart.ja.md +55 -25
- data/doc/quickstart.md +47 -17
- data/lib/review.rb +1 -1
- data/lib/review/book.rb +2 -2
- data/lib/review/book/base.rb +69 -30
- data/lib/review/book/bib.rb +21 -0
- data/lib/review/book/book_unit.rb +158 -0
- data/lib/review/book/chapter.rb +33 -26
- data/lib/review/book/index.rb +39 -206
- data/lib/review/book/index/item.rb +8 -2
- data/lib/review/book/page_metric.rb +7 -7
- data/lib/review/book/part.rb +26 -11
- data/lib/review/book/volume.rb +5 -5
- data/lib/review/builder.rb +124 -27
- data/lib/review/call_hook.rb +20 -0
- data/lib/review/catalog.rb +3 -2
- data/lib/review/compiler.rb +197 -91
- data/lib/review/configure.rb +95 -9
- data/lib/review/converter.rb +1 -1
- data/lib/review/epub2html.rb +6 -1
- data/lib/review/epubmaker.rb +116 -117
- data/lib/review/epubmaker/content.rb +113 -0
- data/lib/review/epubmaker/epubcommon.rb +372 -0
- data/lib/review/epubmaker/epubv2.rb +178 -0
- data/lib/review/epubmaker/epubv3.rb +231 -0
- data/lib/review/epubmaker/producer.rb +168 -0
- data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
- data/lib/review/epubmaker/zip_exporter.rb +84 -0
- data/lib/review/exception.rb +6 -0
- data/lib/review/extentions/string.rb +0 -4
- data/lib/review/htmlbuilder.rb +132 -87
- data/lib/review/htmlutils.rb +8 -11
- data/lib/review/i18n.rb +2 -1
- data/lib/review/idgxmlbuilder.rb +156 -76
- data/lib/review/idgxmlmaker.rb +22 -18
- data/lib/review/img_math.rb +245 -0
- data/lib/review/index_builder.rb +654 -0
- data/lib/review/init.rb +17 -18
- data/lib/review/latexbox.rb +58 -0
- data/lib/review/latexbuilder.rb +173 -43
- data/lib/review/latexutils.rb +9 -1
- data/lib/review/lineinput.rb +112 -2
- data/lib/review/logger.rb +42 -3
- data/lib/review/makerhelper.rb +12 -187
- data/lib/review/markdownbuilder.rb +51 -2
- data/lib/review/pdfmaker.rb +78 -73
- data/lib/review/plaintextbuilder.rb +98 -14
- data/lib/review/preprocessor.rb +18 -12
- data/lib/review/rstbuilder.rb +28 -9
- data/lib/review/sec_counter.rb +14 -0
- data/lib/review/template.rb +6 -0
- data/lib/review/textmaker.rb +21 -19
- data/lib/review/textutils.rb +3 -12
- data/lib/review/tocprinter.rb +242 -97
- data/lib/review/topbuilder.rb +91 -24
- data/lib/review/update.rb +12 -13
- data/lib/review/version.rb +1 -1
- data/lib/review/volumeprinter.rb +97 -0
- data/lib/review/webmaker.rb +34 -33
- data/lib/review/webtocprinter.rb +39 -35
- data/lib/review/yamlloader.rb +2 -1
- data/review.gemspec +5 -3
- data/samples/sample-book/src/.gitignore +1 -0
- data/samples/sample-book/src/config-ebook.yml +4 -0
- data/samples/sample-book/src/config-epub2.yml +1 -1
- data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
- data/samples/sample-book/src/config.yml +3 -3
- data/samples/sample-book/src/lib/tasks/review.rake +26 -6
- data/samples/syntax-book/Gemfile +1 -1
- data/samples/syntax-book/ch01.re +3 -1
- data/samples/syntax-book/ch02.re +28 -21
- data/samples/syntax-book/ch03.re +1 -1
- data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
- data/samples/syntax-book/config-print.yml +3 -0
- data/samples/syntax-book/config.yml +1 -1
- data/samples/syntax-book/images/img3-2.png +0 -0
- data/samples/syntax-book/lib/tasks/review.rake +23 -8
- data/templates/html/_colophon.html.erb +23 -0
- data/templates/html/_colophon_history.html.erb +9 -0
- data/templates/html/_cover.html.erb +10 -0
- data/templates/html/_part_body.html.erb +6 -0
- data/templates/html/_titlepage.html.erb +20 -0
- data/templates/html/layout-html5.html.erb +6 -0
- data/templates/html/layout-xhtml1.html.erb +6 -0
- data/templates/latex/config.erb +41 -29
- data/templates/latex/review-jlreq/README.md +3 -1
- data/templates/latex/review-jlreq/review-base.sty +47 -22
- data/templates/latex/review-jlreq/review-jlreq.cls +25 -24
- data/templates/latex/review-jlreq/review-style.sty +6 -1
- data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
- data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
- data/templates/latex/review-jsbook/README.md +7 -5
- data/templates/latex/review-jsbook/review-base.sty +47 -21
- data/templates/latex/review-jsbook/review-jsbook.cls +12 -2
- data/templates/latex/review-jsbook/review-style.sty +6 -1
- data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
- data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
- data/templates/opf/epubv2.opf.erb +7 -7
- data/templates/opf/epubv3.opf.erb +7 -7
- data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
- data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
- data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
- data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
- data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
- data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
- data/templates/web/html/layout-html5.html.erb +9 -8
- data/templates/web/html/layout-xhtml1.html.erb +6 -0
- data/test/assets/header_listener.html +35 -0
- data/test/assets/img_math/img1.png +0 -0
- data/test/assets/img_math/img2.png +0 -0
- data/test/assets/img_math/img3.png +0 -0
- data/test/assets/syntax_book_index_detail.txt +58 -0
- data/test/assets/test_template.tex +12 -9
- data/test/assets/test_template_backmatter.tex +12 -9
- data/test/book_test_helper.rb +11 -5
- data/test/run_test.rb +1 -1
- data/test/test_book.rb +62 -63
- data/test/test_book_chapter.rb +99 -56
- data/test/test_book_part.rb +3 -3
- data/test/test_builder.rb +24 -15
- data/test/test_catalog.rb +1 -0
- data/test/test_catalog_converter_cmd.rb +1 -1
- data/test/test_converter.rb +1 -0
- data/test/test_epub3maker.rb +170 -126
- data/test/test_epubmaker.rb +249 -129
- data/test/test_epubmaker_cmd.rb +14 -7
- data/test/test_helper.rb +23 -11
- data/test/test_htmlbuilder.rb +956 -76
- data/test/test_htmlutils.rb +0 -12
- data/test/test_i18n.rb +33 -33
- data/test/test_idgxmlbuilder.rb +568 -10
- data/test/test_idgxmlmaker_cmd.rb +50 -0
- data/test/test_image_finder.rb +52 -70
- data/test/test_img_math.rb +111 -0
- data/test/test_index.rb +62 -52
- data/test/test_indexbuilder.rb +52 -0
- data/test/test_latexbuilder.rb +1056 -30
- data/test/test_latexbuilder_v2.rb +52 -12
- data/test/test_lineinput.rb +20 -93
- data/test/test_logger.rb +7 -7
- data/test/test_makerhelper.rb +0 -12
- data/test/test_markdownbuilder.rb +32 -0
- data/test/test_pdfmaker.rb +100 -11
- data/test/test_pdfmaker_cmd.rb +101 -7
- data/test/test_plaintextbuilder.rb +531 -25
- data/test/test_review_ext.rb +2 -1
- data/test/test_reviewheaderlistener.rb +49 -0
- data/test/test_rstbuilder.rb +25 -1
- data/test/test_sec_counter.rb +156 -0
- data/test/test_template.rb +12 -2
- data/test/test_textmaker_cmd.rb +58 -0
- data/test/test_tocprinter.rb +46 -0
- data/test/test_topbuilder.rb +365 -10
- data/test/test_update.rb +44 -44
- data/test/test_webtocprinter.rb +75 -43
- data/test/test_zip_exporter.rb +5 -6
- data/vendor/gentombow/LICENSE +1 -1
- data/vendor/gentombow/Makefile +0 -1
- data/vendor/gentombow/bounddvi-en.pdf +0 -0
- data/vendor/gentombow/bounddvi-en.tex +1 -0
- data/vendor/gentombow/bounddvi.pdf +0 -0
- data/vendor/gentombow/bounddvi.sty +30 -7
- data/vendor/gentombow/bounddvi.tex +1 -0
- data/vendor/gentombow/create_archive.sh +1 -0
- data/vendor/gentombow/gentombow-ja.pdf +0 -0
- data/vendor/gentombow/gentombow-ja.tex +9 -0
- data/vendor/gentombow/gentombow.pdf +0 -0
- data/vendor/gentombow/gentombow.sty +32 -10
- data/vendor/gentombow/gentombow.tex +8 -0
- data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
- data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
- data/vendor/jsclasses/LICENSE +1 -1
- data/vendor/jsclasses/Makefile +3 -2
- data/vendor/jsclasses/create_archive.sh +5 -5
- data/vendor/jsclasses/jis/Makefile +3 -2
- data/vendor/jsclasses/jis/jsarticle.cls +74 -31
- data/vendor/jsclasses/jis/jsbook.cls +74 -31
- data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
- data/vendor/jsclasses/jis/jsclasses.ins +15 -5
- data/vendor/jsclasses/jis/jslogo.dtx +4 -4
- data/vendor/jsclasses/jis/jslogo.ins +9 -0
- data/vendor/jsclasses/jis/jslogo.sty +4 -16
- data/vendor/jsclasses/jis/jspf.cls +73 -30
- data/vendor/jsclasses/jis/jsreport.cls +74 -31
- data/vendor/jsclasses/jis/jsverb.ins +9 -0
- data/vendor/jsclasses/jis/jsverb.sty +1 -13
- data/vendor/jsclasses/jis/kiyou.cls +74 -31
- data/vendor/jsclasses/jis/minijs.sty +65 -22
- data/vendor/jsclasses/jis/okumacro.dtx +4 -5
- data/vendor/jsclasses/jis/okumacro.ins +9 -0
- data/vendor/jsclasses/jis/okumacro.sty +4 -17
- data/vendor/jsclasses/jis/okuverb.ins +9 -0
- data/vendor/jsclasses/jis/okuverb.sty +1 -13
- data/vendor/jsclasses/jis/winjis.sty +23 -19
- data/vendor/jsclasses/jsarticle.cls +74 -31
- data/vendor/jsclasses/jsbook.cls +74 -31
- data/vendor/jsclasses/jsclasses.dtx +176 -36
- data/vendor/jsclasses/jsclasses.ins +15 -5
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.dtx +4 -4
- data/vendor/jsclasses/jslogo.ins +9 -0
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +4 -16
- data/vendor/jsclasses/jspf.cls +73 -30
- data/vendor/jsclasses/jsreport.cls +74 -31
- data/vendor/jsclasses/jsverb.ins +9 -0
- data/vendor/jsclasses/jsverb.pdf +0 -0
- data/vendor/jsclasses/jsverb.sty +1 -13
- data/vendor/jsclasses/kiyou.cls +74 -31
- data/vendor/jsclasses/minijs.sty +68 -22
- data/vendor/jsclasses/okumacro.dtx +4 -5
- data/vendor/jsclasses/okumacro.ins +9 -0
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +4 -17
- data/vendor/jsclasses/okuverb.ins +9 -0
- data/vendor/jsclasses/okuverb.pdf +0 -0
- data/vendor/jsclasses/okuverb.sty +1 -13
- data/vendor/jsclasses/tests/relfont.tex +10 -0
- data/vendor/jsclasses/winjis.sty +23 -19
- metadata +109 -20
- data/.rubocop_todo.yml +0 -7
- data/lib/epubmaker.rb +0 -23
- data/lib/epubmaker/content.rb +0 -110
- data/lib/epubmaker/epubcommon.rb +0 -441
- data/lib/epubmaker/epubv2.rb +0 -143
- data/lib/epubmaker/epubv3.rb +0 -233
- data/lib/epubmaker/producer.rb +0 -375
- data/lib/epubmaker/zip_exporter.rb +0 -81
- data/lib/lineinput.rb +0 -155
- data/lib/review/book/compilable.rb +0 -178
- data/lib/review/tocparser.rb +0 -271
- data/samples/syntax-book/review-ext.rb +0 -14
- 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
|
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
|
-
//
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
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
|
11
|
+
このドキュメントは、Re:VIEW 5.1 に基づいています。
|
12
12
|
|
13
13
|
## セットアップ
|
14
14
|
|
15
|
-
Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。macOS および Windows
|
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
|
-
|
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
|
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
|
128
|
-
$ review-
|
129
|
-
$ review-
|
130
|
-
$ review-textmaker
|
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
|
233
|
+
$ review-index -l 掘り下げる見出しレベル数
|
234
|
+
$ review-index -l 掘り下げる見出しレベル数 -d ←分量の詳細を表示
|
207
235
|
```
|
208
236
|
|
209
|
-
|
237
|
+
review-vol と review-index では、文字数や行数、見込みページなど各値に大きな差が出ることがあります。これは、review-vol がごく簡単にファイルから概算しているのに対し、review-index は実際に内部でコンパイルして比較的精密に計量しているからです。
|
238
|
+
|
239
|
+
## プロジェクトフォルダを新しい Re:VIEW バージョンに追従する方法
|
210
240
|
|
211
|
-
Re:VIEW
|
241
|
+
Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、プロジェクトフォルダを新しいバージョンに更新する review-update コマンドを利用します。
|
212
242
|
|
213
243
|
```bash
|
214
244
|
$ review-update
|
215
|
-
** review-update はプロジェクトを
|
216
|
-
config.yml: 'review_version' を '
|
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 は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、
|
262
|
+
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2020年10月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
|
233
263
|
|
234
|
-
|
264
|
+
バグ・パッチの報告、その他の情報は、
|
235
265
|
|
236
266
|
* http://reviewml.org/
|
237
267
|
* https://github.com/kmuto/review/wiki
|