review 3.1.0 → 5.0.0
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-win.yml +45 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.rubocop.yml +161 -34
- data/.travis.yml +16 -15
- data/Dockerfile +21 -5
- data/NEWS.ja.md +394 -0
- data/NEWS.md +395 -1
- data/README.md +10 -7
- data/appveyor.yml +1 -3
- data/bin/review-catalog-converter +5 -5
- data/bin/review-check +10 -12
- data/bin/review-checkdep +2 -2
- data/bin/review-compile +17 -23
- data/bin/review-epubmaker +3 -35
- data/bin/review-idgxmlmaker +16 -0
- data/bin/review-index +2 -89
- data/bin/review-preproc +13 -13
- data/bin/review-validate +4 -4
- data/bin/review-vol +4 -78
- data/doc/config.yml.sample +47 -12
- data/doc/config.yml.sample-simple +3 -2
- data/doc/format.ja.md +120 -17
- data/doc/format.md +119 -27
- data/doc/makeindex.ja.md +2 -2
- data/doc/pdfmaker.ja.md +43 -1
- data/doc/pdfmaker.md +42 -1
- data/doc/quickstart.ja.md +45 -25
- data/doc/quickstart.md +37 -16
- data/lib/epubmaker/content.rb +3 -2
- data/lib/epubmaker/epubcommon.rb +34 -27
- data/lib/epubmaker/epubv2.rb +5 -6
- data/lib/epubmaker/epubv3.rb +21 -18
- data/lib/epubmaker/producer.rb +2 -1
- data/lib/review/book.rb +2 -2
- data/lib/review/book/base.rb +91 -96
- data/lib/review/book/bib.rb +21 -0
- data/lib/review/book/book_unit.rb +155 -0
- data/lib/review/book/chapter.rb +48 -29
- data/lib/review/book/index.rb +46 -240
- data/lib/review/book/index/item.rb +46 -0
- data/lib/review/book/page_metric.rb +7 -7
- data/lib/review/book/part.rb +45 -10
- data/lib/review/book/volume.rb +4 -5
- data/lib/review/builder.rb +172 -56
- data/lib/review/catalog.rb +14 -17
- data/lib/review/compiler.rb +219 -121
- data/lib/review/configure.rb +39 -7
- data/lib/review/converter.rb +1 -1
- data/lib/review/epub2html.rb +43 -5
- data/lib/review/epubmaker.rb +69 -27
- data/lib/review/extentions/string.rb +0 -4
- data/lib/review/htmlbuilder.rb +112 -101
- data/lib/review/htmlutils.rb +9 -13
- data/lib/review/i18n.rb +3 -3
- data/lib/review/idgxmlbuilder.rb +202 -78
- data/lib/review/idgxmlmaker.rb +186 -0
- data/lib/review/index_builder.rb +653 -0
- data/lib/review/init-web/finish.html +10 -0
- data/lib/review/init-web/index.html +190 -0
- data/lib/review/init-web/review-layout-design.js +691 -0
- data/lib/review/init.rb +129 -46
- data/lib/review/latexbuilder.rb +255 -92
- data/lib/review/lineinput.rb +1 -1
- data/lib/review/location.rb +32 -0
- data/lib/review/logger.rb +4 -8
- data/lib/review/makerhelper.rb +35 -5
- data/lib/review/markdownbuilder.rb +50 -38
- data/lib/review/md2inaobuilder.rb +3 -5
- data/lib/review/pdfmaker.rb +60 -57
- data/lib/review/plaintextbuilder.rb +154 -87
- data/lib/review/preprocessor.rb +20 -42
- data/lib/review/rstbuilder.rb +57 -38
- data/lib/review/sec_counter.rb +13 -0
- data/lib/review/textmaker.rb +23 -15
- data/lib/review/textutils.rb +76 -2
- data/lib/review/tocprinter.rb +230 -102
- data/lib/review/topbuilder.rb +139 -60
- data/lib/review/update.rb +24 -24
- data/lib/review/version.rb +1 -1
- data/lib/review/volumeprinter.rb +98 -0
- data/lib/review/webmaker.rb +20 -24
- data/lib/review/webtocprinter.rb +38 -35
- data/lib/review/yamlloader.rb +26 -16
- data/review.gemspec +6 -4
- data/samples/sample-book/README.md +7 -2
- data/samples/sample-book/src/.gitignore +154 -0
- data/samples/sample-book/src/config-ebook.yml +4 -0
- data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
- data/samples/sample-book/src/config-jlreq.yml +6 -0
- data/samples/sample-book/src/config.yml +2 -2
- data/samples/sample-book/src/lib/tasks/review.rake +29 -14
- data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
- data/samples/syntax-book/Gemfile +1 -1
- data/samples/syntax-book/ch01.re +4 -2
- data/samples/syntax-book/ch02.re +8 -16
- data/samples/syntax-book/ch03.re +3 -6
- data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
- data/samples/syntax-book/config-jlreq.yml +5 -0
- data/samples/syntax-book/config-print.yml +3 -0
- data/samples/syntax-book/config.yml +1 -1
- data/samples/syntax-book/lib/tasks/review.rake +30 -15
- data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
- data/templates/latex/config.erb +39 -25
- data/templates/latex/layout.tex.erb +1 -0
- data/templates/latex/review-jlreq/README.md +3 -1
- data/templates/latex/review-jlreq/review-base.sty +161 -50
- data/templates/latex/review-jlreq/review-jlreq.cls +21 -22
- data/templates/latex/review-jlreq/review-style.sty +4 -1
- data/templates/latex/review-jsbook/README.md +46 -5
- data/templates/latex/review-jsbook/review-base.sty +123 -35
- data/templates/latex/review-jsbook/review-jsbook.cls +10 -4
- data/templates/latex/review-jsbook/review-style.sty +5 -2
- data/templates/opf/epubv3.opf.erb +1 -0
- data/templates/web/html/layout-html5.html.erb +3 -3
- data/test/assets/test_template.tex +19 -7
- data/test/assets/test_template_backmatter.tex +19 -7
- data/test/book_test_helper.rb +11 -5
- data/test/test_book.rb +124 -79
- data/test/test_book_chapter.rb +97 -54
- data/test/test_book_part.rb +3 -3
- data/test/test_builder.rb +38 -13
- data/test/test_catalog.rb +24 -42
- data/test/test_catalog_converter_cmd.rb +1 -1
- data/test/test_converter.rb +1 -0
- data/test/test_epub3maker.rb +2 -2
- data/test/test_epubmaker.rb +8 -0
- data/test/test_epubmaker_cmd.rb +14 -7
- data/test/test_helper.rb +18 -7
- data/test/test_htmlbuilder.rb +1491 -205
- data/test/test_htmlutils.rb +0 -12
- data/test/test_i18n.rb +37 -37
- data/test/test_idgxmlbuilder.rb +744 -42
- data/test/test_idgxmlmaker_cmd.rb +46 -0
- data/test/test_image_finder.rb +52 -70
- data/test/test_index.rb +94 -44
- data/test/test_indexbuilder.rb +52 -0
- data/test/test_latexbuilder.rb +1784 -161
- data/test/test_latexbuilder_v2.rb +671 -102
- data/test/test_logger.rb +17 -4
- data/test/test_makerhelper.rb +2 -14
- data/test/test_markdownbuilder.rb +137 -16
- data/test/test_md2inaobuilder.rb +32 -9
- data/test/test_pdfmaker.rb +30 -12
- data/test/test_pdfmaker_cmd.rb +100 -6
- data/test/test_plaintextbuilder.rb +791 -30
- data/test/test_preprocessor.rb +2 -16
- data/test/test_review_ext.rb +2 -1
- data/test/test_rstbuilder.rb +274 -27
- data/test/test_sec_counter.rb +156 -0
- data/test/test_textmaker_cmd.rb +54 -0
- data/test/test_textutils.rb +109 -2
- data/test/test_topbuilder.rb +724 -34
- data/test/test_update.rb +20 -11
- data/test/test_webtocprinter.rb +75 -43
- data/test/test_yamlloader.rb +13 -0
- 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 +65 -12
- data/.rubocop_todo.yml +0 -7
- data/lib/review/book/compilable.rb +0 -173
- 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.0.
|
9
8
|
|
10
9
|
## Paragraph
|
11
10
|
|
@@ -24,7 +23,7 @@ Two empty lines or more are same as one empty line.
|
|
24
23
|
|
25
24
|
## Chapter, Section, Subsection (headings)
|
26
25
|
|
27
|
-
Chapters, sections, subsections, subsubsections use `=`, `==`, `===`, `====`,
|
26
|
+
Chapters, sections, subsections, subsubsections use `=`, `==`, `===`, `====`, `=====`, and `======`.
|
28
27
|
You should add one or more spaces after `=`.
|
29
28
|
|
30
29
|
Usage:
|
@@ -39,6 +38,8 @@ Usage:
|
|
39
38
|
==== 4th level
|
40
39
|
|
41
40
|
===== 5th level
|
41
|
+
|
42
|
+
====== 6th level
|
42
43
|
```
|
43
44
|
|
44
45
|
Headings should not have any spaces before title; if line head has space, it is as paragraph.
|
@@ -96,11 +97,11 @@ Nested itemize is like ` **`, ` ***`.
|
|
96
97
|
Usage:
|
97
98
|
|
98
99
|
```
|
99
|
-
* 1st item
|
100
|
-
** nested 1st item
|
101
|
-
* 2nd item
|
102
|
-
** nested 2nd item
|
103
|
-
* 3rd item
|
100
|
+
* 1st item
|
101
|
+
** nested 1st item
|
102
|
+
* 2nd item
|
103
|
+
** nested 2nd item
|
104
|
+
* 3rd item
|
104
105
|
```
|
105
106
|
|
106
107
|
In itemize, you must write one more space character at line head.
|
@@ -116,34 +117,34 @@ They aren't nested.
|
|
116
117
|
Usage:
|
117
118
|
|
118
119
|
```
|
119
|
-
1. 1st condition
|
120
|
-
2. 2nd condition
|
121
|
-
3. 3rd condition
|
120
|
+
1. 1st condition
|
121
|
+
2. 2nd condition
|
122
|
+
3. 3rd condition
|
122
123
|
```
|
123
124
|
|
124
125
|
The value of Number is ignored.
|
125
126
|
|
126
127
|
```
|
127
|
-
1. 1st condition
|
128
|
-
1. 2nd condition
|
129
|
-
1. 3rd condition
|
128
|
+
1. 1st condition
|
129
|
+
1. 2nd condition
|
130
|
+
1. 3rd condition
|
130
131
|
```
|
131
132
|
|
132
133
|
You must write one more space character at line head like itemize.
|
133
134
|
|
134
135
|
## Definition List
|
135
136
|
|
136
|
-
Definition list (dl in HTML)
|
137
|
+
Definition list (dl in HTML) uses ` : ` and indented lines.
|
137
138
|
|
138
139
|
Usage:
|
139
140
|
|
140
141
|
```review
|
141
|
-
: Alpha
|
142
|
+
: Alpha
|
142
143
|
RISC CPU made by DEC.
|
143
|
-
: POWER
|
144
|
+
: POWER
|
144
145
|
RSIC CPU made by IBM and Motolora.
|
145
146
|
POWER PC is delivered from this.
|
146
|
-
: SPARC
|
147
|
+
: SPARC
|
147
148
|
RISC CPU made by SUN.
|
148
149
|
```
|
149
150
|
|
@@ -282,7 +283,6 @@ puts "hello world!"
|
|
282
283
|
//}
|
283
284
|
```
|
284
285
|
|
285
|
-
|
286
286
|
### Quoting Source Code
|
287
287
|
|
288
288
|
`//source` is for quoting source code. filename is mandatory.
|
@@ -337,7 +337,6 @@ You can use `//image{ ... //}` for figures.
|
|
337
337
|
You can write comments or Ascii art in the block as an alternative description.
|
338
338
|
When publishing, it's simply ignored.
|
339
339
|
|
340
|
-
|
341
340
|
Usage:
|
342
341
|
|
343
342
|
```
|
@@ -353,6 +352,7 @@ V1 --> V6 --|
|
|
353
352
|
```
|
354
353
|
|
355
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`
|
356
356
|
|
357
357
|
When you want to refer images such as "see figure 1.", you can use
|
358
358
|
inline reference markup like `@<img>{unixhistory}`.
|
@@ -529,6 +529,19 @@ Some block commands are used for short column.
|
|
529
529
|
|
530
530
|
The content is like paragraph; separated by empty lines.
|
531
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
|
+
|
532
545
|
## Footnotes
|
533
546
|
|
534
547
|
You can use `//footnote` to write footnotes.
|
@@ -544,9 +557,10 @@ You should get and install it before reading the book.
|
|
544
557
|
`@<fn>{site}` in source are replaced by footnote marks, and the phrase "support site of .."
|
545
558
|
is in footnotes.
|
546
559
|
|
547
|
-
Note that
|
560
|
+
Note that in LATEXBuilder, it is highly recommended to place `//footnote` after the end line of column (`==[/column]`) to avoid problems when using third party's style file.
|
548
561
|
|
549
562
|
### `footnotetext` option
|
563
|
+
Note that in LATEXBuilder, you should use `footnotetext` option to use `@<fn>{...}` in `//note` or other short column blocks.
|
550
564
|
|
551
565
|
By adding `footnotetext:true` in config.yml, you can use footnote in tables and short notes.
|
552
566
|
|
@@ -620,7 +634,7 @@ Usage:
|
|
620
634
|
If you'd like to assign a number like 'Equation 1.1`, specify the identifier and caption.
|
621
635
|
|
622
636
|
```
|
623
|
-
//
|
637
|
+
//texequation[emc][The Equivalence of Mass and Energy]{
|
624
638
|
\sum_{i=1}^nf_n(x)
|
625
639
|
//}
|
626
640
|
```
|
@@ -680,8 +694,8 @@ imgmath_options:
|
|
680
694
|
pdfcrop_cmd: "pdfcrop --hires %i %o"
|
681
695
|
# imaging command.
|
682
696
|
# %i: filename for input %o: filename for output %O: filename for output without the extension
|
683
|
-
# %p: page number
|
684
|
-
pdfcrop_pixelize_cmd: "pdftocairo
|
697
|
+
# %p: page number, %t: format
|
698
|
+
pdfcrop_pixelize_cmd: "pdftocairo -%t -r 90 -f %p -l %p -singlefile %i %O"
|
685
699
|
# whether to generate a single PDF page for pdfcrop_pixelize_cmd.
|
686
700
|
extract_singlepage: null
|
687
701
|
# command line to generate a single PDF page file.
|
@@ -715,6 +729,17 @@ imgmath_options:
|
|
715
729
|
pdfcrop_pixelize_cmd: "sips -s format png --out %o %i"
|
716
730
|
```
|
717
731
|
|
732
|
+
To create PDF math images:
|
733
|
+
|
734
|
+
```
|
735
|
+
imgmath: true
|
736
|
+
imgmath_options:
|
737
|
+
format: pdf
|
738
|
+
extract_singlepage: true
|
739
|
+
pdfextract_cmd: "pdftk A=%i cat A%p output %o"
|
740
|
+
pdfcrop_pixelize_cmd: "mv %i %o"
|
741
|
+
```
|
742
|
+
|
718
743
|
To set the same setting as Re:VIEW 2:
|
719
744
|
|
720
745
|
```
|
@@ -836,7 +861,7 @@ This word file is a CSV file with extension .csv. This first columns is the key,
|
|
836
861
|
"i18n","""i""nternationalizatio""n"""
|
837
862
|
```
|
838
863
|
|
839
|
-
Specify the word file path in `words_file` parameter of `config.yml`.
|
864
|
+
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"]`.
|
840
865
|
|
841
866
|
Usage:
|
842
867
|
|
@@ -941,6 +966,75 @@ this is a special line.
|
|
941
966
|
|
942
967
|
(In other formats, it is just ignored.)
|
943
968
|
|
969
|
+
### Nested itemize block
|
970
|
+
|
971
|
+
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.
|
972
|
+
|
973
|
+
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.
|
974
|
+
|
975
|
+
```
|
976
|
+
* UL1
|
977
|
+
|
978
|
+
//beginchild
|
979
|
+
#@# child of UL1 start
|
980
|
+
|
981
|
+
1. UL1-OL1
|
982
|
+
|
983
|
+
//beginchild
|
984
|
+
#@# child of UL1-OL1 start
|
985
|
+
|
986
|
+
UL1-OL1-PARAGRAPH
|
987
|
+
|
988
|
+
* UL1-OL1-UL1
|
989
|
+
* UL1-OL1-UL2
|
990
|
+
|
991
|
+
//endchild
|
992
|
+
#@# child of UL1-OL1 end
|
993
|
+
|
994
|
+
2. UL1-OL2
|
995
|
+
|
996
|
+
: UL1-DL1
|
997
|
+
UL1-DD1
|
998
|
+
: UL1-DL2
|
999
|
+
UL1-DD2
|
1000
|
+
|
1001
|
+
//endchild
|
1002
|
+
#@# child of UL1 end
|
1003
|
+
|
1004
|
+
* UL2
|
1005
|
+
```
|
1006
|
+
|
1007
|
+
Output:
|
1008
|
+
|
1009
|
+
(In HTML:)
|
1010
|
+
|
1011
|
+
```
|
1012
|
+
<ul>
|
1013
|
+
<li>UL1
|
1014
|
+
<ol>
|
1015
|
+
<li>UL1-OL1
|
1016
|
+
<p>UL1-OL1-PARAGRAPH</p>
|
1017
|
+
<ul>
|
1018
|
+
<li>UL1-OL1-UL1</li>
|
1019
|
+
<li>UL1-OL1-UL2</li>
|
1020
|
+
</ul>
|
1021
|
+
</li>
|
1022
|
+
|
1023
|
+
<li>UL1-OL2</li>
|
1024
|
+
</ol>
|
1025
|
+
<dl>
|
1026
|
+
<dt>UL1-DL1</dt>
|
1027
|
+
<dd>UL1-DD1</dd>
|
1028
|
+
<dt>UL1-DL2</dt>
|
1029
|
+
<dd>UL1-DD2</dd>
|
1030
|
+
</dl>
|
1031
|
+
</li>
|
1032
|
+
|
1033
|
+
<li>UL2</li>
|
1034
|
+
</ul>
|
1035
|
+
```
|
1036
|
+
|
1037
|
+
(This is an experimental implementation. Names and behaviors may change in future versions.)
|
944
1038
|
|
945
1039
|
## Inline Commands
|
946
1040
|
|
@@ -1091,13 +1185,11 @@ C
|
|
1091
1185
|
A,B,C
|
1092
1186
|
```
|
1093
1187
|
|
1094
|
-
|
1095
1188
|
## HTML/LaTeX Layout
|
1096
1189
|
|
1097
1190
|
`layouts/layout.html.erb` and `layouts/layout.tex.erb` are used as layout file.
|
1098
1191
|
You can use ERb tags in the layout files.
|
1099
1192
|
|
1100
|
-
|
1101
1193
|
Sample layout file(layout.html.erb):
|
1102
1194
|
|
1103
1195
|
```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 について
|
@@ -121,7 +163,7 @@ LaTeX コンパイラコマンドおよびオプションについて、Re:VIEW
|
|
121
163
|
|
122
164
|
```yaml
|
123
165
|
texcommand: uplatex
|
124
|
-
texoptions: "-interaction=nonstopmode -file-line-error"
|
166
|
+
texoptions: "-interaction=nonstopmode -file-line-error -halt-on-error"
|
125
167
|
texdocumentclass: ["jsbook", "uplatex,oneside"]
|
126
168
|
dvicommand: dvipdfmx
|
127
169
|
dvioptions: "-d 5"
|
data/doc/pdfmaker.md
CHANGED
@@ -84,6 +84,47 @@ Since Re:VIEW 3.0, review-jlreq.cls is also provided. This class file extends jl
|
|
84
84
|
|
85
85
|
`review-init --latex-template=review-jlreq` command copies the review-jlreq.cls set to `sty` folder.
|
86
86
|
|
87
|
+
### Handing over custom parameters
|
88
|
+
|
89
|
+
For technical reasons, only a small part of the YAML parameters in config.yml is converted to TeX macros. Re:VIEW's internal `config.erb` ( https://github.com/ kmuto/review/blob/master/templates/latex/ config.erb ) ERB script manages this. You cannot change this script.
|
90
|
+
|
91
|
+
If you want to give YAML parameters to TeX, you can use your own ERB script that do the YAML to TeX conversion. This is done by creating `layouts/config-local.tex.erb` in the project folder.
|
92
|
+
|
93
|
+
After evaluation and embedding of `config.erb`, `config-local.tex. erb` will be evaluated and embedded as well. For example,
|
94
|
+
|
95
|
+
`config.yml`:
|
96
|
+
|
97
|
+
```
|
98
|
+
mycustom:
|
99
|
+
mystring: HELLO_#1
|
100
|
+
mybool: true
|
101
|
+
```
|
102
|
+
|
103
|
+
`layouts/config-local.tex.erb`:
|
104
|
+
|
105
|
+
```
|
106
|
+
\def\mystring{<%= escape(@config['mycustom']['mystring']) %>}
|
107
|
+
<%- if @config['mycustom']['mybool'] -%>
|
108
|
+
\def\mybool{true}
|
109
|
+
<%- end -%>
|
110
|
+
```
|
111
|
+
|
112
|
+
will be parsed:
|
113
|
+
|
114
|
+
```
|
115
|
+
…
|
116
|
+
\makeatother
|
117
|
+
%% BEGIN: config-local.tex.erb
|
118
|
+
\def\mystring{HELLO\textunderscore{}\#1}
|
119
|
+
\def\mybool{true}
|
120
|
+
%% END: config-local.tex.erb
|
121
|
+
|
122
|
+
\usepackage{reviewmacro}
|
123
|
+
…
|
124
|
+
```
|
125
|
+
|
126
|
+
Refer to these macros in your sty file.
|
127
|
+
|
87
128
|
## Important Changes about LaTeX in Re:VIEW 2.0
|
88
129
|
|
89
130
|
* Default LaTeX compiler is upLaTeX, not pLaTeX.
|
@@ -100,7 +141,7 @@ Default settings of Re:VIEW is below:
|
|
100
141
|
|
101
142
|
```yaml
|
102
143
|
texcommand: uplatex
|
103
|
-
texoptions: "-interaction=nonstopmode -file-line-error"
|
144
|
+
texoptions: "-interaction=nonstopmode -file-line-error -halt-on-error"
|
104
145
|
texdocumentclass: ["review-jsbook", "uplatex,twoside"]
|
105
146
|
dvicommand: dvipdfmx
|
106
147
|
dvioptions: "-d 5"
|
data/doc/quickstart.ja.md
CHANGED
@@ -8,11 +8,11 @@ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布
|
|
8
8
|
|
9
9
|
このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
|
10
10
|
|
11
|
-
このドキュメントは、Re:VIEW
|
11
|
+
このドキュメントは、Re:VIEW 4.2 に基づいています。
|
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,28 +123,37 @@ 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 のサンプルについては以下を参照してください。
|
@@ -177,7 +194,7 @@ Re:VIEW の使用実例については、https://github.com/reviewml/review-samp
|
|
177
194
|
$ review-compile --target text sample.re > sample.txt ←テキストにする
|
178
195
|
$ review-compile --target html sample.re > sample.html ←HTMLにする
|
179
196
|
$ review-compile --target latex sample.re > sample.tex ←LaTeXにする
|
180
|
-
$ review-compile --target idgxml sample.re > sample.xml ←XMLにする
|
197
|
+
$ review-compile --target idgxml sample.re > sample.xml ←InDesign XMLにする
|
181
198
|
$ review-compile --target markdown sample.re > sample.md ←Markdownにする
|
182
199
|
```
|
183
200
|
|
@@ -200,20 +217,23 @@ $ review-preproc --replace ファイル ←ファイルを更新したもので
|
|
200
217
|
$ review-vol
|
201
218
|
```
|
202
219
|
|
203
|
-
より細かな見出し一覧などを出したいときには、review-index
|
220
|
+
より細かな見出し一覧などを出したいときには、review-index コマンドを使うとよいでしょう。
|
204
221
|
|
205
222
|
```bash
|
206
|
-
$ review-index
|
223
|
+
$ review-index -l 掘り下げる見出しレベル数
|
224
|
+
$ review-index -l 掘り下げる見出しレベル数 -d ←分量の詳細を表示
|
207
225
|
```
|
208
226
|
|
209
|
-
|
227
|
+
review-vol と review-index では、文字数や行数、見込みページなど各値に大きな差が出ることがあります。これは、review-vol がごく簡単にファイルから概算しているのに対し、review-index は実際に内部でコンパイルして比較的精密に計量しているからです。
|
228
|
+
|
229
|
+
## プロジェクトフォルダを新しい Re:VIEW バージョンに追従する方法
|
210
230
|
|
211
|
-
Re:VIEW
|
231
|
+
Re:VIEW は定期的に更新されています。おおむね後方互換性を保持していますが、新しいバージョン固有の機能を利用したいときには、プロジェクトフォルダを新しいバージョンに更新する review-update コマンドを利用します。
|
212
232
|
|
213
233
|
```bash
|
214
234
|
$ review-update
|
215
|
-
** review-update はプロジェクトを
|
216
|
-
config.yml: 'review_version' を '
|
235
|
+
** review-update はプロジェクトを 5.0.0 に更新します **
|
236
|
+
config.yml: 'review_version' を '5.0' に更新しますか? [y]/n ←Enterで実行
|
217
237
|
Rakefile は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/Rakefile) で置き換えられます。本当に進めますか? [y]/n
|
218
238
|
lib/tasks/review.rake は Re:VIEW バージョンのもの (/.../review/samples/sample-book/src/lib/tasks/review.rake) で置き換えられます。本当に進めますか? [y]/n
|
219
239
|
INFO: 新しいファイル /.../sty/plistings.sty が作成されました。
|
@@ -229,9 +249,9 @@ INFO: 新しいファイル /.../sty/gentombow.sty が作成されました。
|
|
229
249
|
|
230
250
|
## クレジット
|
231
251
|
|
232
|
-
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、
|
252
|
+
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2020年10月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
|
233
253
|
|
234
|
-
|
254
|
+
バグ・パッチの報告、その他の情報は、
|
235
255
|
|
236
256
|
* http://reviewml.org/
|
237
257
|
* https://github.com/kmuto/review/wiki
|