review 5.5.0 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1f097d4affd13c0fc3522a4b8a95f7cc293c6ae1f5096060d8cb3a27e55bfe0
4
- data.tar.gz: 3690f0b732e216aca3a2a267f16b15f838d86facbb3615d07f70eae83223054e
3
+ metadata.gz: 644d242fdcddb452c2cfd780a13a165ee89f49b11f349b682ad87c47255f8758
4
+ data.tar.gz: 77636486441ca626f068bec8f1cabae980bb4832946d98ef6c5bc329bee30b56
5
5
  SHA512:
6
- metadata.gz: 99517b9b71d5d8adf7c89cfc9c2f09d9a53efdffccadef5f57881e0e205d1b6415f1d9e5bdd9ad0847787b5176a7b4da5a00150752de880a31145cc1224e8cd8
7
- data.tar.gz: fbf5fcde5e37bc49ad32cc0f1ac96cfca2b88f35f2067c16ce2f3a35758426ea50c5eaf7ef91eaad174f7bfc07bec05f254106cbf969152d1a6fd7b7fe79a197
6
+ metadata.gz: 96d2d70825a306d384e832312527e956f23b81832a71fe766b102e6705b5b3dfad50c3cde19b767eaa124e79a6d5096a5cf9ee882ef1335cb96864d3dd4de992
7
+ data.tar.gz: 06336e0ca7578002aa195d1a08d4f354da2842fe0eb0812d38825be48c68130d6a78da8df9ae064ba24d138f6f5bb11c9383bf8a3eb9d4ea06f8458c8813be44
data/NEWS.ja.md CHANGED
@@ -1,3 +1,21 @@
1
+ # Version 5.6.0
2
+ ## 新機能
3
+ * IDGXMLBuilder: `//texequation` と `@<m>` で `imgmath` math_formatに対応しました ([#1829])
4
+ * LATEXBuilder: `@<icon>`用のマクロとして`reviewicon`マクロを追加し、 `reviewincludegraphics`マクロの代わりに使うようにしました ([#1838])
5
+ * ルビ文字列の前後のスペースを削除するようにしました ([#1839])
6
+
7
+ ## 非互換の変更
8
+ * LATEXBuilder: 囲み記事の見出しとして `■メモ` の代わりに `MEMO`, `NOTICE`, `CAUTION` 等を使うようにしました。以前の見出しを使う場合は`locale.yml`に記載してください ([#1856])
9
+
10
+ ## その他
11
+ * ドキュメント `format.md` と `format.ja.md` を更新しました ([#1860])
12
+
13
+ [#1829]: https://github.com/kmuto/review/pull/1829
14
+ [#1838]: https://github.com/kmuto/review/pull/1838
15
+ [#1839]: https://github.com/kmuto/review/pull/1839
16
+ [#1856]: https://github.com/kmuto/review/pull/1856
17
+ [#1860]: https://github.com/kmuto/review/pull/1860
18
+
1
19
  # Version 5.5.0
2
20
  ## 新機能
3
21
  * 節や項を参照するインライン命令として、 `@<secref>` , `@<sec>` , `@<sectitle>` を追加しました。`@<secref>` は節や項の番号+タイトルを含むテキスト( `@<hd>` と同じ)、 `@<sec>` は節や項の番号のみ、`@<sectitle>` はタイトルのみに展開されます ([#1809])
data/NEWS.md CHANGED
@@ -1,3 +1,21 @@
1
+ # Version 5.6.0
2
+ ## New Features
3
+ * IDGXMLBuilder: support `imgmath` math_format in `//texequation` and `@<m>` ([#1829])
4
+ * LATEXBuilder: use `reviewicon` macro instead of `reviewincludegraphics` in `@<icon>` ([#1838])
5
+ * trim spaces before/after characters in ruby text ([#1839])
6
+
7
+ ## Breaking Changes
8
+ * LATEXBuilder: use `MEMO`, `NOTICE`, `CAUTION` or other headers instead of `■メモ`. If you want to use older headers, add `■メモ` in `locale.yml`. ([#1856])
9
+
10
+ ## Others
11
+ * update documents `format.md` and `format.ja.md` ([#1860])
12
+
13
+ [#1829]: https://github.com/kmuto/review/pull/1829
14
+ [#1838]: https://github.com/kmuto/review/pull/1838
15
+ [#1839]: https://github.com/kmuto/review/pull/1839
16
+ [#1856]: https://github.com/kmuto/review/pull/1856
17
+ [#1860]: https://github.com/kmuto/review/pull/1860
18
+
1
19
  # Version 5.5.0
2
20
  ## New Features
3
21
  * introduced `@<secref>`, `@<sec>`, and `@<sectitle>` as inline op to refer sections ([#1809])
data/doc/format.ja.md CHANGED
@@ -96,7 +96,7 @@ Re:VIEW フォーマットの文法について解説します。Re:VIEW フォ
96
96
 
97
97
  ## 番号付き箇条書き
98
98
 
99
- 番号付きの箇条書き(HTML で言う ol)は「` 1. 〜`」「` 2. 〜`」「` 3. 〜`」のように示します。ネストはサポートしていません。
99
+ 番号付きの箇条書き(HTML で言う ol)は「` 1. 〜`」「` 2. 〜`」「` 3. 〜`」のように示します。`1-1` のようなネスト出力は標準では提供していません( `//beginchild` 〜 `//endchild` を使った入れ子の表現は可能です)。
100
100
 
101
101
  例:
102
102
 
@@ -108,6 +108,23 @@ Re:VIEW フォーマットの文法について解説します。Re:VIEW フォ
108
108
 
109
109
  番号付き箇条書きも、ただの箇条書きと同様、行頭に1つ以上の空白が必要です。
110
110
 
111
+ 数字が実際にそのとおり出るかは、出力を行うソフトウェアに依存します。
112
+
113
+ - HTML (EPUB), TeX: 記入の数字にかかわらず1から始まる番号になります。
114
+ - IDGXML, テキスト: 記入したとおりの番号が出力されます。よって、すべて「1.」にするといった形にしてしまうとおかしな結果になります。
115
+
116
+ HTML (EPUB) や TeX ビルダにおいて最初の番号を 1 ではないものにしたいときには、`//olnum[番号]` を指定します。なお、番号箇条書きの途中の番号を変えることはできません。
117
+
118
+ 例:
119
+
120
+ ```
121
+ //olnum[10]
122
+
123
+ 1. この箇条書きの番号は出力ソフトウェア上では10になる
124
+ 2. これは11になる
125
+ 6. 記入上で飛ばしても連続数で12となる
126
+ ```
127
+
111
128
  ## 用語リスト
112
129
 
113
130
  用語リスト(HTML で言う dl)は空白→「:」→空白、で始まる行を使って示します。
@@ -186,7 +203,7 @@ Re:VIEW フォーマットの文法について解説します。Re:VIEW フォ
186
203
 
187
204
  ## ソースコードなどのリスト
188
205
 
189
- ソースコードなどのリストには`//list`を使います。連番を付けたくない場合は先頭に `em`(embedded の略)、行番号を付ける場合は末尾に `num` を付加します。まとめると、以下の4種類になります。
206
+ ソースコードなどのリストには `//list` を使います。連番を付けたくない場合は先頭に `em`(embedded の略)、行番号を付ける場合は末尾に `num` を付加します。まとめると、以下の4種類になります。
190
207
 
191
208
  * `//list[識別子][キャプション][言語指定]{ 〜 //}`
192
209
  * 通常のリスト。言語指定は省略できます。
@@ -471,7 +488,7 @@ complexmatrixという識別子に基づく画像ファイルが貼り込まれ
471
488
  //}
472
489
  ```
473
490
 
474
- ## 引用
491
+ ## 引用・中央揃え・右揃え
475
492
 
476
493
  引用は「`//quote{ 〜 //}`」を使って記述します。
477
494
 
@@ -485,6 +502,24 @@ complexmatrixという識別子に基づく画像ファイルが貼り込まれ
485
502
 
486
503
  複数の段落を入れる場合は、空行で区切ります。
487
504
 
505
+ 中央揃えの段落を表現するには、「`//centering{ 〜 //}`」を使います。同様に右寄せにするには「`//flushright{ 〜 //}`」を使います。複数の段落を入れる場合は、空行で区切ります。
506
+
507
+ 例:
508
+
509
+ ```
510
+ //centering{
511
+ これは
512
+
513
+ 中央合わせ
514
+ //}
515
+
516
+ //flushright{
517
+ これは
518
+
519
+ 右寄せ合わせ
520
+ //}
521
+ ```
522
+
488
523
  ## 囲み記事
489
524
 
490
525
  技術書でよくある、コラムにするほどではないけれども本文から独立したちょっとした記事を入れるために、以下の命令があります。
@@ -634,7 +669,7 @@ LaTeX の式を挿入するには、`//texequation{ 〜 //}` を使います。
634
669
 
635
670
  参照するにはインライン命令 `@<eq>` を使います(たとえば `@<eq>{emc}`)。
636
671
 
637
- インライン命令では `@<m>{〜}` を使います。インライン命令の式中に「}」を含む場合、`\}` とエスケープする必要があることに注意してください(`{` はエスケープ不要)。「インライン命令のフェンス記法」も参照してください。
672
+ インライン命令では `@<m>{〜}` を使います。インライン命令の式中に「}」を含む場合、`\}` とエスケープする必要があることに注意してください(`{` はエスケープ不要)。長い式を書くときにはフェンス記法(`@<m>$〜$` または `@<m>|〜|`)を使うと、エスケープが不要になり、記述が楽になります。「インライン命令のフェンス記法」を参照してください。
638
673
 
639
674
  LaTeX の数式が正常に整形されるかどうかは処理系に依存します。LaTeX を利用する PDFMaker では問題なく利用できます。
640
675
 
@@ -889,32 +924,7 @@ Lesser General Public License, ★"i"nternationalizatio"n"☆
889
924
 
890
925
  ## 生データ行
891
926
 
892
- Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、`//raw` ブロック命令や`//embed`ブロック命令、または `@<raw>` インライン命令や `@<embed>` インライン命令を使います。
893
-
894
- ### `//raw`行
895
-
896
- 例:
897
-
898
- ```
899
- //raw[|html|<div class="special">\nここは特別な行です。\n</div>]
900
- ```
901
-
902
- ブロック命令は1つだけオプションをとり、「|ビルダ名|そのまま出力させる内容」という書式です。`\n`は改行文字に変換されます。
903
-
904
- ビルダ名には「`html`」「`latex`」「`idgxml`」「`markdown`」「`top`」のいずれかが入ります。ビルダ名は「,」で区切って複数指定することも可能です。該当のビルダを使用しているときのみ、内容が出力されます。
905
-
906
- 例:
907
-
908
- ```
909
- (HTMLビルダの場合:)
910
- <div class="special">
911
- ここは特別な行です。
912
- </div>
913
-
914
- (ほかのビルダの場合は単に無視されて何も出力されない)
915
- ```
916
-
917
- インライン命令は、`@<raw>{|ビルダ名|〜}` という書式で、記述はブロック命令に同じです。
927
+ Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、`//embed`ブロック命令や `@<embed>` インライン命令を使います。ほかに従来の `//raw` ブロック命令および `@<raw>` インライン命令もありますが、IDGXML ビルダ以外での使用は推奨しません。
918
928
 
919
929
  ### `//embed`ブロック
920
930
 
@@ -963,13 +973,38 @@ LaTeXビルダを使用している場合:
963
973
 
964
974
  ```
965
975
 
976
+ ### `//raw`行(IDGXML ビルダ以外では非推奨)
977
+
978
+ 例:
979
+
980
+ ```
981
+ //raw[|html|<div class="special">\nここは特別な行です。\n</div>]
982
+ ```
983
+
984
+ ブロック命令は1つだけオプションをとり、「|ビルダ名|そのまま出力させる内容」という書式です。`\n`は改行文字に変換されます。
985
+
986
+ ビルダ名には「`html`」「`latex`」「`idgxml`」「`markdown`」「`top`」のいずれかが入ります。ビルダ名は「,」で区切って複数指定することも可能です。該当のビルダを使用しているときのみ、内容が出力されます。
987
+
988
+ 例:
989
+
990
+ ```
991
+ (HTMLビルダの場合:)
992
+ <div class="special">
993
+ ここは特別な行です。
994
+ </div>
995
+
996
+ (ほかのビルダの場合は単に無視されて何も出力されない)
997
+ ```
998
+
999
+ インライン命令は、`@<raw>{|ビルダ名|〜}` という書式で、記述はブロック命令に同じです。
1000
+
966
1001
  `//raw`、`//embed`、`@<raw>` および `@<embed>` は、HTML、XML や TeX の文書構造を容易に壊す可能性があります。使用には十分に注意してください。
967
1002
 
968
1003
  ### 入れ子の箇条書き
969
1004
 
970
1005
  Re:VIEW の箇条書きは `*` 型の箇条書きを除き、基本的に入れ子を表現できません。いずれの箇条書きも、別の箇条書き、あるいは図表・リストを箇条書きの途中に配置することを許容していません。
971
1006
 
972
- この対策として、Re:VIEW 4.2 では試験的に `//beginchild`、`//endchild` というブロック命令を追加しています。箇条書きの途中に何かを含めたいときには、それを `//beginchild` 〜 `//endchild` で囲んで配置します。多重に入れ子にすることも可能です。
1007
+ この対策として、Re:VIEW 4.2 以降では `//beginchild`、`//endchild` というブロック命令があります。箇条書きの途中に何かを含めたいときには、それを `//beginchild` 〜 `//endchild` で囲んで配置します。多重に入れ子にすることも可能です。
973
1008
 
974
1009
  ```
975
1010
  * UL1
@@ -1054,6 +1089,8 @@ UL1-OL1-PARAGRAPH
1054
1089
  * `@<tcy>{〜}` : 縦書きの文書において文字を縦中横にします。
1055
1090
  * `@<ins>{〜}` : 挿入箇所を明示します(デフォルトでは下線が引かれます)。
1056
1091
  * `@<del>{〜}` : 削除箇所を明示します(デフォルトでは打ち消し線が引かれます)。
1092
+ * `@<sup>{〜}` : 上付き文字にします。
1093
+ * `@<sub>{〜}` : 下付き文字にします。
1057
1094
 
1058
1095
  ### 参照
1059
1096
  * `@<chap>{章ファイル名}` : 「第17章」のような、章番号を含むテキストに置換されます。
@@ -1067,7 +1104,7 @@ UL1-OL1-PARAGRAPH
1067
1104
  * `@<column>{ラベルまたは見出し}` : コラムを参照します。
1068
1105
 
1069
1106
  ### その他
1070
- * `@<ruby>{親文字, ルビ}` : ルビを振ります。たとえば `@<ruby>{愕然, がくぜん}` のように表記します。
1107
+ * `@<ruby>{親文字,ルビ}` : ルビを振ります。たとえば `@<ruby>{愕然,がくぜん}` のように表記します。
1071
1108
  * `@<br>{}` : 段落途中で改行します。濫用は避けたいところですが、表のセル内や箇条書き内などで必要になることもあります。
1072
1109
  * `@<uchar>{番号}` : Unicode文字を出力します。引数は16進数で指定します。
1073
1110
  * `@<href>{URL}`, `@<href>{URL, 文字表現}` : ハイパーリンクを作成します(後述)。
@@ -1075,8 +1112,8 @@ UL1-OL1-PARAGRAPH
1075
1112
  * `@<m>{数式}` : インラインの数式を出力します。
1076
1113
  * `@<w>{キー}` : キー文字列に対応する、単語ファイル内の値文字列を展開します。
1077
1114
  * `@<wb>{キー}` : キー文字列に対応する、単語ファイル内の値文字列を展開し、太字にします。
1078
- * `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。`\}`は`}`に、`\\`は`\`に、`\n`は改行に置き換えられます。
1079
1115
  * `@<embed>{|ビルダ|〜}` : 生の文字列を埋め込みます。`\}`は`}`に、`\\`は`\`に置き換えられます(`\n`はそのままです)。
1116
+ * `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。`\}`は`}`に、`\\`は`\`に、`\n`は改行に置き換えられます(非推奨)。
1080
1117
  * `@<idx>{文字列}` : 文字列を出力するとともに、索引として登録します。索引の使い方については、makeindex.ja.md を参照してください。
1081
1118
  * `@<hidx>{文字列}` : 索引として登録します (idx と異なり、紙面内に出力はしません)。`親索引文字列<<>>子索引文字列` のように親子関係にある索引も定義できます。
1082
1119
  * `@<balloon>{〜}` : コードブロック (emlist など) 内などでのいわゆる吹き出しを作成します。たとえば「`@<balloon>{ABC}`」とすると、「`←ABC`」となります。デフォルトの挙動および表現は簡素なので、より装飾されたものにするにはスタイルシートを改変するか、`review-ext.rb` を使って挙動を書き換える必要があります。
data/doc/format.md CHANGED
@@ -4,7 +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 5.3.
7
+ This document explains about the format of Re:VIEW 5.5.
8
8
 
9
9
  ## Paragraph
10
10
 
@@ -112,7 +112,7 @@ You should add emply lines between Paragraphs and Itemize (same as Ordered and N
112
112
  ## Ordered Itemize
113
113
 
114
114
  Ordered itemize (ol in HTML) uses ` 1. ...`, ` 2. ...`, ` 3. ...`.
115
- They aren't nested.
115
+ Nesting output like `1-1` is not supported by default (nesting can be expressed using `//beginchild` - `//endchild`).
116
116
 
117
117
  Usage:
118
118
 
@@ -122,15 +122,24 @@ Usage:
122
122
  3. 3rd condition
123
123
  ```
124
124
 
125
- The value of Number is ignored.
125
+ You must write one more space character at line head like itemize.
126
+
127
+ Whether the numbers appear as described depends on the software that produces the output.
128
+
129
+ * HTML (EPUB), TeX: The number will start from 1 regardless of the number entered.
130
+ * IDGXML, text: The numbers will be output as described. Therefore, writing all numbers as "1." will produce strange results.
131
+
132
+ In HTML (EPUB) and TeX builders, use `//olnum[number]` to change the first number. Note that the intermediate numbers cannot be changed.
133
+
134
+ Usage:
126
135
 
127
136
  ```
128
- 1. 1st condition
129
- 1. 2nd condition
130
- 1. 3rd condition
131
- ```
137
+ //olnum[10]
132
138
 
133
- You must write one more space character at line head like itemize.
139
+ 1. This number will be 10
140
+ 2. This number will be 11
141
+ 6. 12 in continuity, not 6 or 15.
142
+ ```
134
143
 
135
144
  ## Definition List
136
145
 
@@ -512,6 +521,26 @@ Seeing is believing.
512
521
 
513
522
  You can use inline markup in quotations.
514
523
 
524
+ Center-aligned paragraphs are represented by `//centering{ ~ //}` and right-aligned paragraphs by `//flushright{ ~ //}`.
525
+
526
+ To include multiple paragraphs, separate them with a blank line.
527
+
528
+ Usage:
529
+
530
+ ```
531
+ //centering{
532
+ This is
533
+
534
+ center aligned.
535
+ //}
536
+
537
+ //flushright{
538
+ This is
539
+
540
+ right aligned.
541
+ //}
542
+ ```
543
+
515
544
  ## Short column
516
545
 
517
546
  Some block commands are used for short column.
@@ -670,7 +699,7 @@ If you'd like to assign a number like 'Equation 1.1`, specify the identifier and
670
699
 
671
700
  To reference this, use the inline command `@<eq>`.
672
701
 
673
- There is `@<m>{ ... }` for inline (see "Fence notation for inline commands" section also).
702
+ There is `@<m>{ ... }` for inline. When writing long expressions, it is convenient to use fence notation (`@<m>$~$` or `@<m>|~|`) to avoid escaping. (see "Fence notation for inline commands" section also).
674
703
 
675
704
  Whether LaTeX formula is correctly displayed or not depends on the processing system. PDFMaker uses LaTeX internally, so there is no problem.
676
705
 
@@ -943,20 +972,27 @@ Usage:
943
972
 
944
973
  ## Raw Data Block
945
974
 
946
- When you want to write non-Re:VIEW line, use `//raw` or `//embed`.
975
+ When you want to write non-Re:VIEW line, use `//embed` or `@<embed>`.
947
976
 
948
- ### `//raw` block
977
+ ### `//embed` block
949
978
 
950
979
  Usage:
951
980
 
952
981
  ```
953
- //raw[|html|<div class="special">\nthis is a special line.\n</div>]
982
+ //embed{
983
+ <div class="special">
984
+ this is a special line.
985
+ </div>
986
+ //}
987
+
988
+ //embed[html,markdown]{
989
+ <div class="special">
990
+ this is a special line.
991
+ </div>
992
+ //}
954
993
  ```
955
994
 
956
- In above line, `html` is a builder name that handle raw data.
957
- You can use `html`, `latex`, `idgxml` and `top` as builder name.
958
- You can specify multiple builder names with separator `,`.
959
- `\n` is translated into newline(U+000A).
995
+ In above line, `html` and `markdown` is a builder name that handle raw data.
960
996
 
961
997
  Output:
962
998
 
@@ -970,27 +1006,22 @@ this is a special line.
970
1006
 
971
1007
  (In other formats, it is just ignored.)
972
1008
 
973
- Note: `//raw` and `@<raw>` may break structured document easily.
1009
+ For inline, use `@<embed>{|builder|raw string}`.
974
1010
 
975
- ### `//embed` block
1011
+ ### `//raw` block
1012
+
1013
+ `//raw` and `@<raw>` is an old notation and should no longer be used (use it only if you want to avoid line breaks in IDGXML builder).
976
1014
 
977
1015
  Usage:
978
1016
 
979
1017
  ```
980
- //embed{
981
- <div class="special">
982
- this is a special line.
983
- </div>
984
- //}
985
-
986
- //embed[html,markdown]{
987
- <div class="special">
988
- this is a special line.
989
- </div>
990
- //}
1018
+ //raw[|html|<div class="special">\nthis is a special line.\n</div>]
991
1019
  ```
992
1020
 
993
- In above line, `html` and `markdown` is a builder name that handle raw data.
1021
+ In above line, `html` is a builder name that handle raw data.
1022
+ You can use `html`, `latex`, `idgxml` and `top` as builder name.
1023
+ You can specify multiple builder names with separator `,`.
1024
+ `\n` is translated into newline(U+000A).
994
1025
 
995
1026
  Output:
996
1027
 
@@ -1004,11 +1035,13 @@ this is a special line.
1004
1035
 
1005
1036
  (In other formats, it is just ignored.)
1006
1037
 
1038
+ Note: `//embed`, `@<embed>`, `//raw` and `@<raw>` may break structured document easily.
1039
+
1007
1040
  ### Nested itemize block
1008
1041
 
1009
1042
  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.
1010
1043
 
1011
- 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.
1044
+ As a workaround, Re:VIEW provides `//beginchild` and `//endchild` since Re:VIEW 4.2. 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.
1012
1045
 
1013
1046
  ```
1014
1047
  * UL1
@@ -1091,9 +1124,11 @@ Output:
1091
1124
  @<tti>{FooClass}:: teletype (monospaced font) and italic
1092
1125
  @<ttb>{BarClass}:: teletype (monospaced font) and bold
1093
1126
  @<code>{a.foo(bar)}:: teletype (monospaced font) for fragments of code
1094
- @<tcy>{}:: short horizontal text in vertical text
1127
+ @<tcy>{text}:: short horizontal text in vertical text
1095
1128
  @<ins>{sentence}:: inserted part (underline)
1096
1129
  @<del>{sentence}:: deleted part (strike through)
1130
+ @<sup>{text}:: superscript
1131
+ @<sub>{text}:: subscript
1097
1132
  ```
1098
1133
 
1099
1134
  ### References
@@ -1113,7 +1148,7 @@ Output:
1113
1148
  ### Other inline commands
1114
1149
 
1115
1150
  ```
1116
- @<ruby>{Matsumoto, Matz}:: ruby markups
1151
+ @<ruby>{Matsumoto,Matz}:: ruby markups
1117
1152
  @<br>{}:: linebreak in paragraph
1118
1153
  @<uchar>{2460}:: Unicode code point
1119
1154
  @<href>{http://www.google.com/, google}:: hyper link(URL)
@@ -1121,8 +1156,8 @@ Output:
1121
1156
  @<m>{a + \alpha}:: TeX inline equation
1122
1157
  @<w>{key}:: expand the value corresponding to the key.
1123
1158
  @<wb>{key}:: expand the value corresponding to the key with bold style.
1124
- @<raw>{|html|<span>ABC</span>}:: inline raw data inline. `\}` is `}`, `\\` is `\`, and `\n` is newline.
1125
1159
  @<embed>{|html|<span>ABC</span>}:: inline raw data inline. `\}` is `}` and `\\` is `\`.
1160
+ @<raw>{|html|<span>ABC</span>}:: inline raw data inline. `\}` is `}`, `\\` is `\`, and `\n` is newline. (deprecated)
1126
1161
  @<idx>{string}:: output a string and register it as an index. See makeindex.md.
1127
1162
  @<hidx>{string}:: register a string as an index. A leveled index is expressed like `parent<<>>child`
1128
1163
  @<balloon>{abc}:: inline balloon in code block. For example, `@<balloon>{ABC}` produces `←ABC`. This may seem too simple. To decorate it, modify the style sheet file or override a function by `review-ext.rb`
data/doc/quickstart.ja.md CHANGED
@@ -67,7 +67,13 @@ review-init コマンドを使って、雛型となるプロジェクトフォ
67
67
  $ review-init プロジェクト名
68
68
  ```
69
69
 
70
- TeX を利用した PDF 作成を目的としているならば、雛型の作成時に、Web ブラウザによるウィザードモードで基本版面設計を行うことができます。これには `-w` オプションを付けます。
70
+ TeX を利用した PDF 作成を目的としているならば、雛型の作成時に、Web ブラウザによるウィザードモードで基本版面設計を行うことができます。外部 gem の webrick が必要なので、インストールしておいてください。
71
+
72
+ ```
73
+ $ gem install webrick
74
+ ```
75
+
76
+ ウィザードモードで起動するため、review-init コマンドに `-w` オプションを付けます。
71
77
 
72
78
  ```
73
79
  $ review-init -w プロジェクト名
data/doc/quickstart.md CHANGED
@@ -72,7 +72,13 @@ $ ls hello
72
72
  Rakefile catalog.yml config.yml hello.re images/ layouts/ sty/ style.css
73
73
  ```
74
74
 
75
- If your purpose is to create a PDF using TeX, it is a good idea to use the wizard mode for basic layouting in a web browser. Add `-w` option to review-init.
75
+ If your purpose is to create a PDF using TeX, it is a good idea to use the wizard mode for basic layouting in a web browser. Because the wizard mode requires webrick library, please install webrick gem before running.
76
+
77
+ ```
78
+ $ gem install webrick
79
+ ```
80
+
81
+ Run review-init with `-w` option.
76
82
 
77
83
  (notice: currently wizard UI supports only Japanese language)
78
84
 
@@ -401,10 +401,10 @@ module ReVIEW
401
401
  def inline_ruby(arg)
402
402
  base, *ruby = *arg.scan(/(?:(?:(?:\\\\)*\\,)|[^,\\]+)+/)
403
403
  if base
404
- base = base.gsub(/\\,/, ',')
404
+ base = base.gsub(/\\,/, ',').strip
405
405
  end
406
406
  if ruby
407
- ruby = ruby.join(',').gsub(/\\,/, ',')
407
+ ruby = ruby.join(',').gsub(/\\,/, ',').strip
408
408
  end
409
409
  compile_ruby(base, ruby)
410
410
  end
data/lib/review/i18n.yml CHANGED
@@ -17,7 +17,14 @@ ja:
17
17
  hd_quote_without_number: "「%s」"
18
18
  appendix: 付録%pA
19
19
  numberless_image: "図:"
20
- memo_head: ■メモ
20
+ note_head: NOTE
21
+ tip_head: TIP
22
+ info_head: INFORMATION
23
+ warning_head: WARNING
24
+ important_head: IMPORTANT
25
+ caution_head: CAUTION
26
+ notice_head: NOTICE
27
+ memo_head: MEMO
21
28
  format_number: "%s.%d"
22
29
  format_number_header: "%s.%d:"
23
30
  format_number_without_chapter: "%d"
@@ -107,7 +114,14 @@ en:
107
114
  hd_quote_without_number: '"%s"'
108
115
  appendix: Appendix %s
109
116
  numberless_image: "Figure:"
110
- memo_head: Note
117
+ note_head: NOTE
118
+ tip_head: TIP
119
+ info_head: INFORMATION
120
+ warning_head: WARNING
121
+ important_head: IMPORTANT
122
+ caution_head: CAUTION
123
+ notice_head: NOTICE
124
+ memo_head: MEMO
111
125
  format_number: "%s.%d"
112
126
  format_number_header: "%s.%d:"
113
127
  format_number_without_chapter: "%d"
@@ -178,6 +192,14 @@ zh-TW:
178
192
  hd_quote_without_number: "「%s」"
179
193
  appendix: 附錄%s
180
194
  numberless_image: "圖:"
195
+ note_head: NOTE
196
+ tip_head: TIP
197
+ info_head: INFORMATION
198
+ warning_head: WARNING
199
+ important_head: IMPORTANT
200
+ caution_head: CAUTION
201
+ notice_head: NOTICE
202
+ memo_head: MEMO
181
203
  format_number: "%s.%d"
182
204
  format_number_header: "%s.%d:"
183
205
  format_number_without_chapter: "%d"
@@ -465,11 +465,22 @@ module ReVIEW
465
465
  puts caption_str if caption_top?('equation')
466
466
  end
467
467
 
468
- puts %Q(<replace idref="texblock-#{@texblockequation}">)
469
- puts '<pre>'
470
- print lines.join("\n")
471
- puts '</pre>'
472
- puts '</replace>'
468
+ if @book.config['math_format'] == 'imgmath'
469
+ fontsize = @book.config['imgmath_options']['fontsize'].to_f
470
+ lineheight = @book.config['imgmath_options']['lineheight'].to_f
471
+ math_str = "\\begin{equation*}\n\\fontsize{#{fontsize}}{#{lineheight}}\\selectfont\n#{lines.join("\n")}\n\\end{equation*}\n"
472
+ key = Digest::SHA256.hexdigest(math_str)
473
+ img_path = @img_math.defer_math_image(math_str, key)
474
+ puts '<equationimage>'
475
+ puts %Q(<Image href="file://#{img_path}" />)
476
+ puts '</equationimage>'
477
+ else
478
+ puts %Q(<replace idref="texblock-#{@texblockequation}">)
479
+ puts '<pre>'
480
+ puts lines.join("\n")
481
+ puts '</pre>'
482
+ puts '</replace>'
483
+ end
473
484
 
474
485
  if id
475
486
  puts caption_str unless caption_top?('equation')
@@ -681,7 +692,7 @@ module ReVIEW
681
692
  end
682
693
 
683
694
  def compile_ruby(base, ruby)
684
- %Q(<GroupRuby><aid:ruby xmlns:aid="http://ns.adobe.com/AdobeInDesign/3.0/"><aid:rb>#{escape(base.strip)}</aid:rb><aid:rt>#{escape(ruby.strip)}</aid:rt></aid:ruby></GroupRuby>)
695
+ %Q(<GroupRuby><aid:ruby xmlns:aid="http://ns.adobe.com/AdobeInDesign/3.0/"><aid:rb>#{escape(base)}</aid:rb><aid:rt>#{escape(ruby)}</aid:rt></aid:ruby></GroupRuby>)
685
696
  end
686
697
 
687
698
  def compile_kw(word, alt)
@@ -835,7 +846,14 @@ module ReVIEW
835
846
 
836
847
  def inline_m(str)
837
848
  @texinlineequation += 1
838
- %Q(<replace idref="texinline-#{@texinlineequation}"><pre>#{escape(str)}</pre></replace>)
849
+ if @book.config['math_format'] == 'imgmath'
850
+ math_str = '$' + str + '$'
851
+ key = Digest::SHA256.hexdigest(str)
852
+ img_path = @img_math.defer_math_image(math_str, key)
853
+ %Q(<inlineequation><Image href="file://#{img_path}" type="inline" /></inlineequation>)
854
+ else
855
+ %Q(<replace idref="texinline-#{@texinlineequation}"><pre>#{escape(str)}</pre></replace>)
856
+ end
839
857
  end
840
858
 
841
859
  def noindent
@@ -16,6 +16,7 @@ require 'review/yamlloader'
16
16
  require 'review/idgxmlbuilder'
17
17
  require 'review/version'
18
18
  require 'review/makerhelper'
19
+ require 'review/img_math'
19
20
  require 'review/loggable'
20
21
 
21
22
  module ReVIEW
@@ -28,6 +29,7 @@ module ReVIEW
28
29
  def initialize
29
30
  @basedir = nil
30
31
  @logger = ReVIEW.logger
32
+ @img_math = nil
31
33
  @plaintext = nil
32
34
  @compile_errors = nil
33
35
  end
@@ -67,6 +69,7 @@ module ReVIEW
67
69
  end
68
70
 
69
71
  def remove_old_files(path)
72
+ @img_math.cleanup_mathimg
70
73
  FileUtils.rm_rf(path)
71
74
  end
72
75
 
@@ -81,6 +84,9 @@ module ReVIEW
81
84
  rescue ReVIEW::ConfigError => e
82
85
  error! e.message
83
86
  end
87
+
88
+ @img_math = ReVIEW::ImgMath.new(@config)
89
+
84
90
  I18n.setup(@config['language'])
85
91
  begin
86
92
  generate_idgxml_files(yamlfile)
@@ -90,6 +96,10 @@ module ReVIEW
90
96
 
91
97
  error! e.message
92
98
  end
99
+
100
+ if @config['math_format'] == 'imgmath'
101
+ @img_math.make_math_images
102
+ end
93
103
  end
94
104
 
95
105
  def generate_idgxml_files(yamlfile)
@@ -130,7 +140,7 @@ module ReVIEW
130
140
 
131
141
  def build_body(basetmpdir, _yamlfile)
132
142
  base_path = Pathname.new(@basedir)
133
- @converter = ReVIEW::Converter.new(@book, ReVIEW::IDGXMLBuilder.new)
143
+ @converter = ReVIEW::Converter.new(@book, ReVIEW::IDGXMLBuilder.new(img_math: @img_math))
134
144
  @book.parts.each do |part|
135
145
  if part.name.present?
136
146
  if part.file?
data/lib/review/init.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright (c) 2018-2021 Masanori Kado, Masayoshi Takahashi, Kenshi Muto
2
+ # Copyright (c) 2018-2022 Masanori Kado, Masayoshi Takahashi, Kenshi Muto
3
3
  #
4
4
  # This program is free software.
5
5
  # You can distribute or modify this program under the terms of
@@ -308,7 +308,12 @@ EOS
308
308
  end
309
309
 
310
310
  def start_webui
311
- require 'webrick'
311
+ begin
312
+ require 'webrick'
313
+ rescue LoadError
314
+ @logger.error 'not found webrick. Please install webrick gem.'
315
+ exit 1
316
+ end
312
317
  web_config = {
313
318
  BindAddress: @bind,
314
319
  Port: @port,
@@ -1350,7 +1350,7 @@ module ReVIEW
1350
1350
 
1351
1351
  def inline_icon(id)
1352
1352
  if @chapter.image(id).path
1353
- command = 'reviewincludegraphics'
1353
+ command = 'reviewicon'
1354
1354
  if @book.config.check_version('2', exception: false)
1355
1355
  command = 'includegraphics'
1356
1356
  end
@@ -1,3 +1,3 @@
1
1
  module ReVIEW
2
- VERSION = '5.5.0'.freeze
2
+ VERSION = '5.6.0'.freeze
3
3
  end
data/review.gemspec CHANGED
@@ -34,4 +34,5 @@ Gem::Specification.new do |gem|
34
34
  gem.add_development_dependency('simplecov')
35
35
  gem.add_development_dependency('test-unit')
36
36
  gem.add_development_dependency('unicode-eaw')
37
+ gem.add_development_dependency('webrick')
37
38
  end
@@ -34,7 +34,9 @@
34
34
  \def\review@intn@table{<%= escape(I18n.t('table')) %>}
35
35
  \def\review@intn@equation{<%= escape(I18n.t('equation')) %>}
36
36
  \def\review@intn@columnname{<%= escape(I18n.t('columnname')) %>}
37
- \def\review@intn@memohead{<%= escape(I18n.t('memo_head')) %>}
37
+ <%- %w[note tip info warning important caution notice memo].each do |mini| -%>
38
+ \def\review@intn@<%= mini%>head{<%= escape(I18n.t("#{mini}_head")) %>}
39
+ <%- end -%>
38
40
  \def\review@intn@edition{<%= escape(I18n.t('edition')) %>}
39
41
  \def\review@intn@publishedby{<%= escape(I18n.t('published_by', @config.names_of('pbl').join(I18n.t('names_splitter'))))%>}
40
42
  \def\review@intn@captionprefix{<%= escape(I18n.t('caption_prefix')) %>}
@@ -127,6 +129,9 @@
127
129
  \ifdefined\reviewtcy\else% for 5.3.0 compatibility
128
130
  \DeclareRobustCommand{\reviewtcy}[1]{\rensuji{##1}}
129
131
  \fi
132
+ \ifdefined\reviewicon\else% for 5.6.0 compatibility
133
+ \DeclareRobustCommand{\reviewicon}[1]{\reviewincludegraphics{##1}}
134
+ \fi
130
135
  }
131
136
 
132
137
  \makeatother
@@ -146,35 +146,35 @@
146
146
 
147
147
  % 囲み記事
148
148
  \newenvironment{reviewnote}[1][]{%
149
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries NOTE #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
149
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@notehead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
150
150
  {\end{tcolorbox}}
151
151
 
152
152
  \newenvironment{reviewmemo}[1][]{%
153
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries MEMO #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
153
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@memohead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
154
154
  {\end{tcolorbox}}
155
155
 
156
156
  \newenvironment{reviewtip}[1][]{%
157
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries Tips #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
157
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@tiphead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
158
158
  {\end{tcolorbox}}
159
159
 
160
160
  \newenvironment{reviewinfo}[1][]{%
161
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries INFORMATION #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
161
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@infohead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
162
162
  {\end{tcolorbox}}
163
163
 
164
164
  \newenvironment{reviewwarning}[1][]{%
165
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries WARNING! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
165
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@warninghead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
166
166
  {\end{tcolorbox}}
167
167
 
168
168
  \newenvironment{reviewimportant}[1][]{%
169
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries IMPORTANT! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
169
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@importanthead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
170
170
  {\end{tcolorbox}}
171
171
 
172
172
  \newenvironment{reviewcaution}[1][]{%
173
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries CAUTION! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
173
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@cautionhead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
174
174
  {\end{tcolorbox}}
175
175
 
176
176
  \newenvironment{reviewnotice}[1][]{%
177
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries NOTICE #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
177
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries \review@intn@noticehead\hspace{0.75\zw}#1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
178
178
  {\end{tcolorbox}}
179
179
 
180
180
  % 書体
@@ -187,6 +187,9 @@
187
187
  \DeclareRobustCommand{\reviewit}[1]{\textit{#1}}
188
188
  \DeclareRobustCommand{\reviewbold}[1]{\textbf{#1}}
189
189
  \DeclareRobustCommand{\reviewtcy}[1]{\tatechuyoko{#1}}
190
+ \DeclareRobustCommand{\reviewicon}[1]{\includegraphics[]{#1}}
191
+ % アイコンの高さを文字の高さに合わせたいときには、以下をreview-custom.styに記述してください:
192
+ % \DeclareRobustCommand{\reviewicon}[1]{\includegraphics[height=0.9\zw]{#1}}
190
193
 
191
194
  % allow break line in tt
192
195
  % contributed by @zr_tex8r
@@ -1,4 +1,4 @@
1
- \ProvidesClass{review-base}[2021/09/06]
1
+ \ProvidesClass{review-base}[2022/07/25]
2
2
  \RequirePackage{ifthen}
3
3
  \@ifundefined{Hy@Info}{% for jsbook.cls
4
4
  \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true]{hyperref}
@@ -214,9 +214,9 @@
214
214
  \renewcommand{\thesection}{\thepart.\@arabic\c@section}%
215
215
  }{}
216
216
 
217
- \newcommand{\reviewminicolumntitle}[1]{%
217
+ \newcommand{\reviewminicolumntitle}[2]{%
218
218
  \review@ifempty{#1}{}{%
219
- {\large \review@intn@memohead{}: #1}\\}}
219
+ {\large ■#2: #1}\\}}
220
220
 
221
221
  \renewcommand{\contentsname}{\review@toctitle}
222
222
 
@@ -226,35 +226,35 @@
226
226
 
227
227
  \newenvironment{reviewnote}[1][]{%
228
228
  \begin{reviewminicolumn}
229
- \review@ifempty{#1}{}{\reviewminicolumntitle{#1}}
229
+ \reviewminicolumntitle{#1}{\review@intn@notehead}
230
230
  }{\end{reviewminicolumn}}
231
231
  \newenvironment{reviewmemo}[1][]{%
232
232
  \begin{reviewminicolumn}
233
- \reviewminicolumntitle{#1}
233
+ \reviewminicolumntitle{#1}{\review@intn@memohead}
234
234
  }{\end{reviewminicolumn}}
235
235
  \newenvironment{reviewtip}[1][]{%
236
236
  \begin{reviewminicolumn}
237
- \reviewminicolumntitle{#1}
237
+ \reviewminicolumntitle{#1}{\review@intn@tiphead}
238
238
  }{\end{reviewminicolumn}}
239
239
  \newenvironment{reviewinfo}[1][]{%
240
240
  \begin{reviewminicolumn}
241
- \reviewminicolumntitle{#1}
241
+ \reviewminicolumntitle{#1}{\review@intn@infohead}
242
242
  }{\end{reviewminicolumn}}
243
243
  \newenvironment{reviewwarning}[1][]{%
244
244
  \begin{reviewminicolumn}
245
- \reviewminicolumntitle{#1}
245
+ \reviewminicolumntitle{#1}{\review@intn@warninghead}
246
246
  }{\end{reviewminicolumn}}
247
247
  \newenvironment{reviewimportant}[1][]{%
248
248
  \begin{reviewminicolumn}
249
- \reviewminicolumntitle{#1}
249
+ \reviewminicolumntitle{#1}{\review@intn@importanthead}
250
250
  }{\end{reviewminicolumn}}
251
251
  \newenvironment{reviewcaution}[1][]{%
252
252
  \begin{reviewminicolumn}
253
- \reviewminicolumntitle{#1}
253
+ \reviewminicolumntitle{#1}{\review@intn@cautionhead}
254
254
  }{\end{reviewminicolumn}}
255
255
  \newenvironment{reviewnotice}[1][]{%
256
256
  \begin{reviewminicolumn}
257
- \reviewminicolumntitle{#1}
257
+ \reviewminicolumntitle{#1}{\review@intn@noticehead}
258
258
  }{\end{reviewminicolumn}}
259
259
 
260
260
  \DeclareRobustCommand{\reviewkw}[1]{\textbf{\textgt{#1}}}
@@ -331,6 +331,10 @@
331
331
 
332
332
  \DeclareRobustCommand{\reviewinsert}[1]{\Underline{#1}}
333
333
  \DeclareRobustCommand{\reviewstrike}[1]{\Midline{#1}}
334
+ \DeclareRobustCommand{\reviewicon}[1]{\includegraphics[]{#1}}
335
+ % アイコンの高さを文字の高さに合わせたいときには、以下をreview-custom.styに記述してください:
336
+ % \DeclareRobustCommand{\reviewicon}[1]{\includegraphics[height=0.9zw]{#1}}
337
+
334
338
  %%%% for ulem.sty:
335
339
  %%\renewcommand{\reviewstrike}[1]{\sout{#1}}
336
340
 
@@ -1,6 +1,6 @@
1
1
  \documentclass[dvipdfmx]{review-jsbook}
2
2
  \makeatletter
3
- \def\review@reviewversion{5.3.0}
3
+ \def\review@reviewversion{5.6.0}
4
4
  \def\review@texcompiler{uplatex}
5
5
  \def\review@documentclass{review-jsbook}
6
6
 
@@ -22,7 +22,14 @@
22
22
  \def\review@intn@table{表}
23
23
  \def\review@intn@equation{式}
24
24
  \def\review@intn@columnname{コラム}
25
- \def\review@intn@memohead{■メモ}
25
+ \def\review@intn@notehead{NOTE}
26
+ \def\review@intn@tiphead{TIP}
27
+ \def\review@intn@infohead{INFORMATION}
28
+ \def\review@intn@warninghead{WARNING}
29
+ \def\review@intn@importanthead{IMPORTANT}
30
+ \def\review@intn@cautionhead{CAUTION}
31
+ \def\review@intn@noticehead{NOTICE}
32
+ \def\review@intn@memohead{MEMO}
26
33
  \def\review@intn@edition{版}
27
34
  \def\review@intn@publishedby{ 発行}
28
35
  \def\review@intn@captionprefix{ }
@@ -64,6 +71,9 @@
64
71
  \ifdefined\reviewtcy\else% for 5.3.0 compatibility
65
72
  \DeclareRobustCommand{\reviewtcy}[1]{\rensuji{##1}}
66
73
  \fi
74
+ \ifdefined\reviewicon\else% for 5.6.0 compatibility
75
+ \DeclareRobustCommand{\reviewicon}[1]{\reviewincludegraphics{##1}}
76
+ \fi
67
77
  }
68
78
 
69
79
  \makeatother
@@ -1,6 +1,6 @@
1
1
  \documentclass[dvipdfmx]{review-jsbook}
2
2
  \makeatletter
3
- \def\review@reviewversion{5.3.0}
3
+ \def\review@reviewversion{5.6.0}
4
4
  \def\review@texcompiler{uplatex}
5
5
  \def\review@documentclass{review-jsbook}
6
6
 
@@ -22,7 +22,14 @@
22
22
  \def\review@intn@table{表}
23
23
  \def\review@intn@equation{式}
24
24
  \def\review@intn@columnname{コラム}
25
- \def\review@intn@memohead{■メモ}
25
+ \def\review@intn@notehead{NOTE}
26
+ \def\review@intn@tiphead{TIP}
27
+ \def\review@intn@infohead{INFORMATION}
28
+ \def\review@intn@warninghead{WARNING}
29
+ \def\review@intn@importanthead{IMPORTANT}
30
+ \def\review@intn@cautionhead{CAUTION}
31
+ \def\review@intn@noticehead{NOTICE}
32
+ \def\review@intn@memohead{MEMO}
26
33
  \def\review@intn@edition{版}
27
34
  \def\review@intn@publishedby{ 発行}
28
35
  \def\review@intn@captionprefix{ }
@@ -75,6 +82,9 @@ some ad content
75
82
  \ifdefined\reviewtcy\else% for 5.3.0 compatibility
76
83
  \DeclareRobustCommand{\reviewtcy}[1]{\rensuji{##1}}
77
84
  \fi
85
+ \ifdefined\reviewicon\else% for 5.6.0 compatibility
86
+ \DeclareRobustCommand{\reviewicon}[1]{\reviewincludegraphics{##1}}
87
+ \fi
78
88
  }
79
89
 
80
90
  \makeatother
data/test/test_builder.rb CHANGED
@@ -71,6 +71,8 @@ class BuidlerTest < Test::Unit::TestCase
71
71
  end
72
72
  str = @b.inline_ruby('foo,bar')
73
73
  assert_equal str, ['foo', 'bar']
74
+ str = @b.inline_ruby(' foo , bar ')
75
+ assert_equal str, ['foo', 'bar']
74
76
  str = @b.inline_ruby('foo\\,\\,,\\,bar,buz')
75
77
  assert_equal str, ['foo,,', ',bar,buz']
76
78
  end
@@ -419,6 +419,9 @@ EOS
419
419
  def test_inline_ruby
420
420
  actual = compile_inline('@<ruby>{粗雑,クルード}と思われているなら@<ruby>{繊細,テクニカル}にやり、繊細と思われているなら粗雑にやる。')
421
421
  assert_equal '<ruby>粗雑<rp>(</rp><rt>クルード</rt><rp>)</rp></ruby>と思われているなら<ruby>繊細<rp>(</rp><rt>テクニカル</rt><rp>)</rp></ruby>にやり、繊細と思われているなら粗雑にやる。', actual
422
+
423
+ actual = compile_inline('@<ruby>{ 粗雑 , クルード }と思われているなら@<ruby>{ 繊細 ,テクニカル }にやり、繊細と思われているなら粗雑にやる。')
424
+ assert_equal '<ruby>粗雑<rp>(</rp><rt>クルード</rt><rp>)</rp></ruby>と思われているなら<ruby>繊細<rp>(</rp><rt>テクニカル</rt><rp>)</rp></ruby>にやり、繊細と思われているなら粗雑にやる。', actual
422
425
  end
423
426
 
424
427
  def test_inline_ruby_comma
@@ -1,4 +1,5 @@
1
1
  require 'test_helper'
2
+ require 'book_test_helper'
2
3
  require 'review/compiler'
3
4
  require 'review/book'
4
5
  require 'review/idgxmlbuilder'
@@ -6,6 +7,7 @@ require 'review/i18n'
6
7
 
7
8
  class IDGXMLBuidlerTest < Test::Unit::TestCase
8
9
  include ReVIEW
10
+ include BookTestHelper
9
11
 
10
12
  def setup
11
13
  @builder = IDGXMLBuilder.new
@@ -227,7 +229,10 @@ EOS
227
229
  end
228
230
 
229
231
  def test_inline_ruby
230
- actual = compile_inline('@<ruby>{coffin, bed}')
232
+ actual = compile_inline('@<ruby>{coffin,bed}')
233
+ assert_equal %Q(<GroupRuby><aid:ruby xmlns:aid="http://ns.adobe.com/AdobeInDesign/3.0/"><aid:rb>coffin</aid:rb><aid:rt>bed</aid:rt></aid:ruby></GroupRuby>), actual
234
+
235
+ actual = compile_inline('@<ruby>{ coffin , bed }')
231
236
  assert_equal %Q(<GroupRuby><aid:ruby xmlns:aid="http://ns.adobe.com/AdobeInDesign/3.0/"><aid:rb>coffin</aid:rb><aid:rt>bed</aid:rt></aid:ruby></GroupRuby>), actual
232
237
  end
233
238
 
@@ -261,6 +266,12 @@ EOS
261
266
  assert_equal %Q(<replace idref="texinline-1"><pre>\\sin</pre></replace> <replace idref="texinline-2"><pre>\\frac{1}{2}</pre></replace>), actual
262
267
  end
263
268
 
269
+ def test_inline_m_imgmath
270
+ @config['math_format'] = 'imgmath'
271
+ actual = compile_inline('@<m>{\\sin} @<m>{\\frac{1\\}{2\\}}')
272
+ assert_equal %Q(<inlineequation><Image href="file://images/_review_math/_gen_5fded382aa33f0f0652092d41e05c743f7453c26ca1433038a4883234975a9b0.png" type="inline" /></inlineequation> <inlineequation><Image href="file://images/_review_math/_gen_e7e9536310cdba7ff948771f791cefe32f99b73c608778c9660db79e4926e9f9.png" type="inline" /></inlineequation>), actual
273
+ end
274
+
264
275
  def test_dlist_beforeulol
265
276
  actual = compile_block(" : foo\n foo.\n\npara\n\n : foo\n foo.\n\n 1. bar\n\n : foo\n foo.\n\n * bar\n")
266
277
  assert_equal %Q(<dl><dt>foo</dt><dd>foo.</dd></dl><p>para</p><dl><dt>foo</dt><dd>foo.</dd></dl><ol><li aid:pstyle="ol-item" olnum="1" num="1">bar</li></ol><dl><dt>foo</dt><dd>foo.</dd></dl><ul><li aid:pstyle="ul-item">bar</li></ul>), actual
@@ -1286,6 +1297,37 @@ EOS
1286
1297
  assert_equal expected, actual
1287
1298
  end
1288
1299
 
1300
+ def test_texequation_imgmath
1301
+ @config['math_format'] = 'imgmath'
1302
+ src = <<-EOS
1303
+ //texequation{
1304
+ p \\land \\bm{P} q
1305
+ //}
1306
+ EOS
1307
+ expected = %Q(<equationimage><Image href="file://images/_review_math/_gen_84291054a12d278ea05694c20fbbc8e974ec66fc13be801c01dca764faeecccb.png" /></equationimage>)
1308
+ actual = compile_block(src)
1309
+ assert_equal expected, actual
1310
+ end
1311
+
1312
+ def test_texequation_with_caption_imgmath
1313
+ @config['math_format'] = 'imgmath'
1314
+ src = <<-EOS
1315
+ @<eq>{emc2}
1316
+
1317
+ //texequation[emc2][The Equivalence of Mass @<i>{and} Energy]{
1318
+ e=mc^2
1319
+ //}
1320
+ EOS
1321
+ expected = %Q(<p><span type='eq'>式1.1</span></p><equationblock><caption>式1.1 The Equivalence of Mass <i>and</i> Energy</caption><equationimage><Image href="file://images/_review_math/_gen_882e99d99b276a2118a3894895b6da815a03261f4150148c99b932bec5355f25.png" /></equationimage></equationblock>)
1322
+ actual = compile_block(src)
1323
+ assert_equal expected, actual
1324
+
1325
+ @config['caption_position']['equation'] = 'bottom'
1326
+ expected = %Q(<p><span type='eq'>式1.1</span></p><equationblock><equationimage><Image href="file://images/_review_math/_gen_882e99d99b276a2118a3894895b6da815a03261f4150148c99b932bec5355f25.png" /></equationimage><caption>式1.1 The Equivalence of Mass <i>and</i> Energy</caption></equationblock>)
1327
+ actual = compile_block(src)
1328
+ assert_equal expected, actual
1329
+ end
1330
+
1289
1331
  def test_nest_error_close1
1290
1332
  src = <<-EOS
1291
1333
  //beginchild
@@ -327,9 +327,17 @@ EOS
327
327
  assert_equal 'test p.\pageref{p1}', actual
328
328
  end
329
329
 
330
+ def test_inline_ruby
331
+ actual = compile_inline('@<ruby>{ foo , bar }')
332
+ assert_equal '\\ruby{foo}{bar}', actual
333
+ end
334
+
330
335
  def test_inline_ruby_comma
331
336
  actual = compile_inline('@<ruby>{foo\\, bar\\, buz,フー・バー・バズ}')
332
337
  assert_equal '\\ruby{foo, bar, buz}{フー・バー・バズ}', actual
338
+
339
+ actual = compile_inline('@<ruby>{foo\\, bar\\, buz , フー・バー・バズ }')
340
+ assert_equal '\\ruby{foo, bar, buz}{フー・バー・バズ}', actual
333
341
  end
334
342
 
335
343
  def test_inline_uchar
@@ -100,6 +100,9 @@ class PLAINTEXTBuidlerTest < Test::Unit::TestCase
100
100
  def test_inline_ruby
101
101
  actual = compile_inline('@<ruby>{coffin,bed}')
102
102
  assert_equal 'coffin', actual
103
+
104
+ actual = compile_inline('@<ruby>{ coffin , bed }')
105
+ assert_equal 'coffin', actual
103
106
  end
104
107
 
105
108
  def test_inline_kw
@@ -110,6 +110,9 @@ EOS
110
110
  def test_inline_ruby
111
111
  actual = compile_inline('@<ruby>{coffin,bed}')
112
112
  assert_equal ' :ruby:`coffin`<bed>`_ ', actual
113
+
114
+ actual = compile_inline('@<ruby>{ coffin , bed }')
115
+ assert_equal ' :ruby:`coffin`<bed>`_ ', actual
113
116
  end
114
117
 
115
118
  def test_inline_kw
@@ -69,6 +69,9 @@ class TOPBuidlerTest < Test::Unit::TestCase
69
69
  def test_inline_ruby
70
70
  actual = compile_inline('@<ruby>{coffin,bed}')
71
71
  assert_equal 'coffin◆→DTP連絡:「coffin」に「bed」とルビ←◆', actual
72
+
73
+ actual = compile_inline('@<ruby>{ coffin , bed }')
74
+ assert_equal 'coffin◆→DTP連絡:「coffin」に「bed」とルビ←◆', actual
72
75
  end
73
76
 
74
77
  def test_inline_kw
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: review
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.0
4
+ version: 5.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmuto
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-06-29 00:00:00.000000000 Z
12
+ date: 2022-10-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: image_size
@@ -207,6 +207,20 @@ dependencies:
207
207
  - - ">="
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: webrick
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
210
224
  description: Re:VIEW is a digital publishing system for books and ebooks. It supports
211
225
  InDesign, EPUB and LaTeX.
212
226
  email: kmuto@kmuto.jp