review 3.0.0.preview2 → 3.0.0.preview3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -1
  3. data/NEWS.ja.md +49 -0
  4. data/NEWS.md +49 -0
  5. data/README.md +8 -2
  6. data/doc/LICENSE +20 -0
  7. data/doc/config.yml.sample +9 -2
  8. data/doc/customize_epub.ja.md +23 -0
  9. data/doc/customize_epub.md +23 -0
  10. data/doc/format.ja.md +98 -4
  11. data/doc/format.md +98 -1
  12. data/doc/makeindex.ja.md +2 -2
  13. data/doc/pdfmaker.ja.md +12 -3
  14. data/doc/pdfmaker.md +2 -2
  15. data/doc/preproc.ja.md +2 -2
  16. data/doc/quickstart.ja.md +1 -1
  17. data/doc/quickstart.md +1 -1
  18. data/lib/review/compiler.rb +1 -1
  19. data/lib/review/configure.rb +13 -1
  20. data/lib/review/epubmaker.rb +10 -4
  21. data/lib/review/htmlbuilder.rb +31 -9
  22. data/lib/review/init.rb +72 -3
  23. data/lib/review/makerhelper.rb +180 -1
  24. data/lib/review/pdfmaker.rb +23 -4
  25. data/lib/review/version.rb +1 -1
  26. data/lib/review/webmaker.rb +14 -4
  27. data/review.gemspec +1 -1
  28. data/samples/sample-book/src/Rakefile +20 -0
  29. data/samples/sample-book/src/config.yml +3 -2
  30. data/samples/sample-book/src/images/cover-a5.ai +5836 -16
  31. data/samples/sample-book/src/images/cover-b5.ai +5735 -15
  32. data/samples/syntax-book/config.yml +1 -1
  33. data/templates/LICENSE +1 -1
  34. data/templates/latex/config.erb +24 -11
  35. data/templates/latex/layout.tex.erb +15 -5
  36. data/templates/latex/review-jlreq/README.md +2 -1
  37. data/templates/latex/review-jlreq/review-base.sty +165 -22
  38. data/templates/latex/review-jlreq/review-jlreq.cls +180 -110
  39. data/templates/latex/review-jlreq/review-style.sty +13 -125
  40. data/templates/latex/review-jlreq/reviewmacro.sty +7 -0
  41. data/templates/latex/review-jsbook/README.md +129 -0
  42. data/templates/latex/review-jsbook/review-base.sty +33 -20
  43. data/templates/latex/review-jsbook/review-jsbook.cls +545 -0
  44. data/templates/latex/review-jsbook/reviewmacro.sty +7 -0
  45. data/test/assets/test_template.tex +27 -8
  46. data/test/assets/test_template_backmatter.tex +27 -8
  47. data/test/test_helper.rb +3 -0
  48. data/test/test_htmlbuilder.rb +3 -1
  49. data/test/test_pdfmaker.rb +2 -0
  50. data/vendor/gentombow/.gitignore +163 -0
  51. data/vendor/gentombow/LICENSE +27 -0
  52. data/vendor/gentombow/Makefile +36 -0
  53. data/vendor/gentombow/README.md +49 -0
  54. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  55. data/vendor/gentombow/bounddvi-en.tex +135 -0
  56. data/vendor/gentombow/bounddvi.pdf +0 -0
  57. data/vendor/gentombow/bounddvi.sty +87 -0
  58. data/vendor/gentombow/bounddvi.tex +148 -0
  59. data/vendor/gentombow/create_archive.sh +24 -0
  60. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  61. data/vendor/gentombow/gentombow-ja.tex +449 -0
  62. data/vendor/gentombow/gentombow.pdf +0 -0
  63. data/vendor/gentombow/gentombow.sty +747 -0
  64. data/vendor/gentombow/gentombow.tex +298 -0
  65. data/vendor/gentombow/pxgentombow.pdf +0 -0
  66. data/vendor/gentombow/pxgentombow.sty +16 -0
  67. data/vendor/gentombow/pxgentombow.tex +25 -0
  68. data/vendor/gentombow/tests/bounddvi-01-usage.tex +7 -0
  69. data/vendor/gentombow/tests/bounddvi-02-jstombow.tex +7 -0
  70. data/vendor/gentombow/tests/bounddvi-03-grfdvips.tex +9 -0
  71. data/vendor/gentombow/tests/bounddvi-04-grfdvipdfmx.tex +9 -0
  72. data/vendor/gentombow/tests/bounddvi-05-geodvips.tex +8 -0
  73. data/vendor/gentombow/tests/bounddvi-05a-geodvips.tex +9 -0
  74. data/vendor/gentombow/tests/bounddvi-06-geodvipdfmx.tex +8 -0
  75. data/vendor/gentombow/tests/bounddvi-06a-geodvipdfmx.tex +9 -0
  76. data/vendor/gentombow/tests/pxgentombow-01-usage.tex +6 -0
  77. data/vendor/gentombow/tests/pxgentombow-02-js.tex +6 -0
  78. data/vendor/gentombow/tests/pxgentombow-02a-js-error.tex +6 -0
  79. data/vendor/gentombow/tests/pxgentombow-03-notombowdate.tex +8 -0
  80. data/vendor/gentombow/tests/pxgentombow-04-pkgoption.tex +8 -0
  81. data/vendor/gentombow/tests/pxgentombow-05-tatecls.tex +6 -0
  82. metadata +40 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e6427ee4da1631d65d87c3dbed0f7baa22c0b5fe87567db48dcc7f8634d8dba
4
- data.tar.gz: f841605f6d137462bc72a8693c28bd29dbb466b3e17209384d2316f337ab8391
3
+ metadata.gz: 066e6b67087079a39e24dc5a730b18bb090c1fa92e6d2e5a125ec1c8fc58694a
4
+ data.tar.gz: 5043bb66d9a605c1edd817f6babff7121de11dd6c1e68d8ab102be77a72a361e
5
5
  SHA512:
6
- metadata.gz: 1dce795a98d0049b5453ca396428012366d72b69e8a3eb81f0cd71607d0fce535a118b613bdf27060049c3b5a2e9005f6d31bed634c5a0a0a662a45d018045cb
7
- data.tar.gz: 4f3afb3e2acf13cd6549044a01aabda05271b35ad8c704333942dfc97661ec03b8e6109e6cd18854b61ffd30c8ec9ce01c56ee827cfb0bb012d79552c4691f79
6
+ metadata.gz: dc585bb29ed7a24ebc02083d3fb98c2e62dd1c13774a41217ed155aa132c551940b583fddccf0f2c5d8619e9d6fffa667e79239df0eeed15f9a871c8a388408c
7
+ data.tar.gz: 426205db45b5dbbc557c4c54a1f3b54fda75da331ffb12b7566cdd17a4ef66feb69857c8f0841839743a24f8df89b7ba15a1e9a5d2d46fa3b1931a88c2fd0a38
data/.rubocop.yml CHANGED
@@ -304,6 +304,9 @@ Layout/DotPosition:
304
304
  Layout/EmptyLines:
305
305
  Enabled: true
306
306
 
307
+ Layout/EmptyLineAfterGuardClause:
308
+ Enabled: false
309
+
307
310
  Layout/EmptyLinesAroundAccessModifier:
308
311
  Enabled: true
309
312
 
@@ -427,7 +430,7 @@ Metrics/AbcSize:
427
430
  ### shoud be < 25
428
431
  Metrics/BlockLength:
429
432
  CountComments: false # count full line comments?
430
- Max: 50
433
+ Max: 62
431
434
  Exclude:
432
435
  - 'Rakefile'
433
436
  - '**/*.rake'
@@ -442,6 +445,9 @@ Naming/AccessorMethodName:
442
445
  #Style/BinaryOperatorParameterName:
443
446
  # Enabled: true
444
447
 
448
+ Naming/FileName:
449
+ Enabled: false
450
+
445
451
  Naming/HeredocDelimiterNaming:
446
452
  Enabled: false
447
453
 
data/NEWS.ja.md CHANGED
@@ -1,3 +1,52 @@
1
+ # Version 3.0.0 preview 3
2
+ ## 新機能
3
+ * PDFMaker: これまでの jsbook.cls クラスファイルをそのまま使用する方法に代わり、紙・電子双方の書籍制作に適するよう拡張した review-jsbook.cls (jsbook.cls 基盤、デフォルト)、および review-jlreq.cls (jlreq.cls 基盤) を導入しました ([#1032],[#1117])
4
+ * EPUBMaker/WEBMaker: `@<m>` や `//texequation` で入れた数式を画像化する imgmath 機能を追加しました ([#868],[#1138])
5
+
6
+ ## 非互換の変更
7
+ * PDFMaker: 前付の開始を宣言する LaTeX 命令 `\frontmatter` を、大扉(titlepage)の後ろから大扉の前に移動しました ([#1128])
8
+ * PDFMaker: coverimage の表紙の貼り付けは、実寸で中央に配置されるようになりました ([#1064],[#1117])
9
+
10
+ ## バグ修正
11
+ * PDFMaker: cover パラメータの扱いの誤りを修正しました ([#1116])
12
+ * PDFMaker: 新しいクラスファイルで、preview 2 で発生していた紙面の偏りを修正しました ([#1090],[#1117])
13
+
14
+ ## 機能強化
15
+ * PDFMaker: LaTeX に渡す `config.yml` の設定パラメータを増やしました ([#1121])
16
+ * PDFMaker: LaTeX 命令 `\begin{document}` の直後に実行されるフックマクロ `\reviewbegindocumenthook`、`\end{document}` の直前に実行されるフックマクロ `\reviewenddocumenthook` を追加しました ([#1111])
17
+ * PDFMaker: 新しいクラスファイルでは版面設計をドキュメントオプションで指定するようになったため、geometry.sty は不要になりました ([#912])
18
+ * PDFMaker: 新しいクラスファイルで、大扉からの通しノンブルをサポートしました ([#1129])
19
+ * `review-init` コマンドにネットワークダウンロードの機能を追加しました。`-p` オプションで zip ファイルの URL を指定すると、生成したプロジェクトフォルダに zip ファイルを展開して上書きします ([#812])
20
+ * PDFMaker: デジタルトンボや隠しノンブルを表現するために外部 TeX パッケージの gentombow パッケージを取り込み、プロジェクトフォルダの sty フォルダにコピーするようにしました ([#1136])
21
+
22
+ ## ドキュメント
23
+ * Kindle 用の電子書籍ファイルを作る方法を doc/customize_epub.ja.md に追記しました ([#1114])
24
+ * サンプルファイルなどにある PDFMaker のデフォルトのドキュメントオプションの例示を新しいクラスファイルに合わせました ([#1115])
25
+ * `review-init` コマンドで展開されるファイルなど、扱いが明示されていなかったファイルについてライセンスを明記しました ([#1093],[#1112])
26
+ * 数式を画像化する `imgmath` について、doc/format.ja.md に追記しました ([#868])
27
+
28
+ ## コントリビューターのみなさん
29
+ * [@munepi](https://github.com/munepi)
30
+
31
+ [#812]: https://github.com/kmuto/review/issues/812
32
+ [#868]: https://github.com/kmuto/review/issues/868
33
+ [#912]: https://github.com/kmuto/review/issues/912
34
+ [#1032]: https://github.com/kmuto/review/issues/1032
35
+ [#1064]: https://github.com/kmuto/review/issues/1064
36
+ [#1090]: https://github.com/kmuto/review/issues/1090
37
+ [#1093]: https://github.com/kmuto/review/issues/1093
38
+ [#1111]: https://github.com/kmuto/review/pull/1111
39
+ [#1112]: https://github.com/kmuto/review/pull/1112
40
+ [#1114]: https://github.com/kmuto/review/pull/1114
41
+ [#1115]: https://github.com/kmuto/review/issues/1115
42
+ [#1116]: https://github.com/kmuto/review/pull/1116
43
+ [#1117]: https://github.com/kmuto/review/pull/1117
44
+ [#1121]: https://github.com/kmuto/review/pull/1121
45
+ [#1128]: https://github.com/kmuto/review/issues/1128
46
+ [#1129]: https://github.com/kmuto/review/pull/1129
47
+ [#1136]: https://github.com/kmuto/review/issues/1136
48
+ [#1138]: https://github.com/kmuto/review/issues/1138
49
+
1
50
  # Version 3.0.0 preview 2
2
51
 
3
52
  ## 新機能
data/NEWS.md CHANGED
@@ -1,3 +1,52 @@
1
+ # Version 3.0.0 preview 3
2
+ ## New Features
3
+ * PDFMaker: instead of using jsbook.cls as it is, review-jsbook.cls (based on jsbook.cls, default) and review-jlreq.cls (based on jlreq.cls) are introduced. These supports the creation both paper and electronic PDF books. ([#1032],[#1117])
4
+ * EPUBMaker/WEBMaker: add imgmath function to image mathematical expressions ([#868],[#1138])
5
+
6
+ ## Breaking Changes
7
+ * PDFMaker: the location of `\frontmatter` is moved from the back of the titlepage to the front ([#1128])
8
+ * PDFMaker: the cover image specified by `coverimage` is placed in the actual size and in the center ([#1064],[#1117])
9
+
10
+ ## Bug Fixes
11
+ * PDFMaker: fix an errror handling of `cover` parameter ([#1116])
12
+ * PDFMaker: fix position misalignment in preview 2 ([#1090],[#1117])
13
+
14
+ ## Enhancements
15
+ * PDFMaker: increase the number of `config.yml` configuration parameters to LaTeX macros ([#1121])
16
+ * PDFMaker: add hook `\reviewbegindocumenthook` just after `\begin{document}`, and add hook `\reviewenddocumenthook` just before `\end{document}` ([#1111])
17
+ * PDFMaker: geometry.sty is no longer used, because the new class file can specify the paper design by document option ([#912])
18
+ * PDFMaker: serial-pagination feature is supported in new class files ([#1129])
19
+ * add network download function to `review-init` command. Specifying the URL of the zip file with `-p` option expands the zip file to the project folder ([#812])
20
+ * PDFMaker: For expressing digital trim-marks and hidden page numbers (kakushi-nombre), the gentombow package (the external TeX package) has been included in vendor folder. It will be copied to the sty folder of the project folder ([#1136])
21
+
22
+ ## Docs
23
+ * add a method of making Kindle e-book file to doc/customize_epub.ja.md ([#1114])
24
+ * update examples of PDFMaker's default document options ([#1115])
25
+ * clarify license of each file ([#1093],[#1112])
26
+ * add note about `imgmath` feature to doc/format.ja.md ([#868])
27
+
28
+ ## Contributors
29
+ * [@munepi](https://github.com/munepi)
30
+
31
+ [#812]: https://github.com/kmuto/review/issues/812
32
+ [#868]: https://github.com/kmuto/review/issues/868
33
+ [#912]: https://github.com/kmuto/review/issues/912
34
+ [#1032]: https://github.com/kmuto/review/issues/1032
35
+ [#1064]: https://github.com/kmuto/review/issues/1064
36
+ [#1090]: https://github.com/kmuto/review/issues/1090
37
+ [#1093]: https://github.com/kmuto/review/issues/1093
38
+ [#1111]: https://github.com/kmuto/review/pull/1111
39
+ [#1112]: https://github.com/kmuto/review/pull/1112
40
+ [#1114]: https://github.com/kmuto/review/pull/1114
41
+ [#1115]: https://github.com/kmuto/review/issues/1115
42
+ [#1116]: https://github.com/kmuto/review/pull/1116
43
+ [#1117]: https://github.com/kmuto/review/pull/1117
44
+ [#1121]: https://github.com/kmuto/review/pull/1121
45
+ [#1128]: https://github.com/kmuto/review/issues/1128
46
+ [#1129]: https://github.com/kmuto/review/pull/1129
47
+ [#1136]: https://github.com/kmuto/review/issues/1136
48
+ [#1138]: https://github.com/kmuto/review/issues/1138
49
+
1
50
  # Version 3.0.0 preview 2
2
51
 
3
52
  ## New Features
data/README.md CHANGED
@@ -93,9 +93,15 @@ For further information, see [doc/quickstart.md](https://github.com/kmuto/review
93
93
 
94
94
  ## License
95
95
 
96
- LGPL. See [COPYING](https://github.com/kmuto/review/blob/master/COPYING) file.
96
+ Main part of Re:VIEW is applied GNU Lesser General Public License (LGPL).
97
+ See [COPYING](https://github.com/kmuto/review/blob/master/COPYING) file.
97
98
 
98
- * jumoline.sty (test/sample-book/src/vendor/jumoline): The LaTeX Project Public License. See [LPPL](https://github.com/kmuto/review/blob/master/test/sample-book/src/vendor/jumoline/lppl.txt) file.
99
+ Exception:
100
+
101
+ * doc/*, samples/*: MIT License. See [LICENSE](https://github.com/kmuto/review/blob/master/doc/LICENSE) file.
102
+ * jumoline.sty, vendor/jumoline: The LaTeX Project Public License. See [LPPL](https://github.com/kmuto/review/blob/master/vendor/jumoline/lppl.txt) file.
103
+ * plistings.sty, vendor/plistings: MIT License. See [LICENSE](https://github.com/kmuto/review/blob/master/vendor/plistings/LICENSE) file.
104
+ * gentombow09j.sty, vendor/gentombow: BSD License. See [LICENSE](https://github.com/kmuto/review/blob/master/vendor/gentombow/LICENSE) file.
99
105
 
100
106
  ## Copyright
101
107
 
data/doc/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
20
+
@@ -131,6 +131,7 @@ secnolevel: 2
131
131
  # cover: null
132
132
  #
133
133
  # 表紙に配置し、書籍の影絵にも利用する画像ファイル。省略した場合はnull (画像を使わない)。画像ディレクトリ内に置いてもディレクトリ名は不要(例: cover.jpg)
134
+ # PDFMaker 固有の表紙設定は pdfmaker セクション内で上書き可能
134
135
  # coverimage: null
135
136
  #
136
137
  # 表紙の後に大扉ページを作成するか。省略した場合はtrue (作成する)
@@ -281,10 +282,11 @@ epubmaker:
281
282
  # epubmaker:階層を使うものはここまで
282
283
 
283
284
  # LaTeX用のスタイルファイル(styディレクトリ以下に置くこと)
284
- # texstyle: samplemacro
285
+ # texstyle: ["reviewmacro"]
285
286
  #
286
287
  # LaTeX用のdocumentclassを指定する
287
- # texdocumentclass: ["jsbook", "uplatex,oneside"]
288
+ # review-jsbook.clsのオプションについてはsty/README.mdを参照
289
+ # texdocumentclass: ["review-jsbook", "cameraready=print,paper=a5"]
288
290
  #
289
291
  # LaTeX用のコマンドを指定する
290
292
  # texcommand: "uplatex"
@@ -306,6 +308,11 @@ epubmaker:
306
308
  # という構成にする必要がある(インデントさせる)
307
309
  #
308
310
  pdfmaker:
311
+ #
312
+ # TeX版で利用する表紙画像。
313
+ # 仕上がりサイズ+塗り足し3mmありのPDFまたはIllustratorファイル(PDF互換オプション付き)を推奨。
314
+ # 拡縮はされず「そのまま」貼り付けられる
315
+ # coverimage: cover-a5.ai
309
316
  #
310
317
  # TeXコンパイル前に実行するプログラム。変換後のTeXソースを調整したいときに使用する。
311
318
  # 渡される引数1=作業用展開ディレクトリ、引数2=呼び出しを実行したディレクトリ
@@ -40,3 +40,26 @@ opf_meta: {"ibooks:binding": "false"}
40
40
  opf_prefix: {ebpaj: "http://www.ebpaj.jp/", ibooks: "http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"}
41
41
  opf_meta: {"ebpaj:guide-version": "1.1.3", "ibooks:binding": "false"}
42
42
  ```
43
+
44
+ ## Amazon Kindle
45
+
46
+ EPUB を作成したあと、mobi ファイルにする必要があります。これには Amazon が無料で配布している KindleGen を使用します。
47
+
48
+ - https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211
49
+
50
+ OS に合わせたインストーラでインストールした後、`kindlegen EPUBファイル` で mobi ファイルに変換できます。
51
+
52
+ Kindle Previewer にも内包されています。
53
+
54
+ - https://kdp.amazon.co.jp/ja_JP/help/topic/G202131170
55
+
56
+ 注意点として、KindleGen は論理目次だけだとエラーを報告します。物理目次ページを付けるために、次のように config.yml に設定します。
57
+
58
+ ```yaml
59
+ epubmaker:
60
+ toc: true
61
+ ```
62
+
63
+ CSS によっては、Kindle では表現できないことについての警告が表示されることがあります。「Amazon Kindle パブリッシング・ガイドライン」では、使用可能な文字・外部ハイパーリンクの制約・色の使い方・画像サイズなどが詳細に説明されています。
64
+
65
+ - http://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines_JP.pdf
@@ -45,3 +45,26 @@ If you have already some settings, merge them:
45
45
  opf_prefix: {ebpaj: "http://www.ebpaj.jp/", ibooks: "http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/"}
46
46
  opf_meta: {"ebpaj:guide-version": "1.1.3", "ibooks:binding": "false"}
47
47
  ```
48
+
49
+ ## Amazon Kindle
50
+
51
+ For Kindle, you need to convert EPUB to mobi format using KindleGen, which Amazon distributes.
52
+
53
+ - https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211
54
+
55
+ After installation, you can convert EPUB with `kindlegen EPUB file`.
56
+
57
+ KindleGen is also included in Kindle Previewer.
58
+
59
+ - https://kdp.amazon.co.jp/ja_JP/help/topic/G202131170
60
+
61
+ Note: if there is only a "logical" table of contents, KindleGen reports a strange error. To include "physical" table of contents, set config.yml as follows.
62
+
63
+ ```yaml
64
+ epubmaker:
65
+ toc: true
66
+ ```
67
+
68
+ You may be warned about some CSS can't be handled in Kindle. "Amazon Kindle Publishing Guidelines" describes in detail the usable characters, restrictions on hyperlinks to the outside, usage of colors, image size, and so on.
69
+
70
+ - http://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines_JP.pdf
data/doc/format.ja.md CHANGED
@@ -573,9 +573,103 @@ LaTeX の式を挿入するには、`//texequation{ 〜 //}` を使います。
573
573
  //}
574
574
  ```
575
575
 
576
- インライン命令では `@<m>{〜}` を使います。インライン命令の式中に「}」を含む場合、`\}` とエスケープする必要があることに注意してください(`{` はエスケープ不要)。
576
+ インライン命令では `@<m>{〜}` を使います。インライン命令の式中に「}」を含む場合、`\}` とエスケープする必要があることに注意してください(`{` はエスケープ不要)。「インライン命令のフェンス記法」も参照してください。
577
577
 
578
- LaTeX の数式が正常に整形されるかどうかは処理系に依存します。たとえば TeX PDF であれば問題なく利用できるでしょうが、EPUB では MathML 変換を有効にしても妥当な結果にならないことがあります。確実を期すならば、画像で表現するほうが適切です。
578
+ LaTeX の数式が正常に整形されるかどうかは処理系に依存します。LaTeX を利用する PDFMaker では問題なく利用できます。
579
+
580
+ EPUBMaker および WEBMaker では、MathML に変換する方法と、画像化する方法のどちらかを選べます。
581
+
582
+ ### MathML の場合
583
+ MathML ライブラリをインストールしておきます(`gem install math_ml`)。
584
+
585
+ さらに config.yml に以下のように指定します。
586
+
587
+ ```
588
+ mathml: true
589
+ ```
590
+
591
+ なお、MathML で正常に表現されるかどうかは、ビューアやブラウザに依存します。
592
+
593
+ ### 画像化の場合
594
+
595
+ LaTeX を内部で呼び出し、外部ツールを使って画像化する方法です。画像化された数式は、`images/_review_math` フォルダに配置されます。
596
+
597
+ TeXLive などの LaTeX 環境が必要です。必要に応じて config.yml の `texcommand`、`texoptions`、`dvicommand`、`dvioptions` のパラメータを調整します。
598
+
599
+ さらに、画像化するための外部ツールも用意します。現在、以下の2つのやり方をサポートしています。
600
+
601
+ - `pdfcrop`:TeXLive に収録されている `pdfcrop` コマンドを使用して数式部分を切り出し、さらに PDF から画像化します。デフォルトでは画像化には Poppler ライブラリに収録されている `pdftocairo` コマンドを使用します(コマンドラインで利用可能であれば、別のツールに変更することもできます)。
602
+ - `dvipng`:[dvipng](https://ctan.org/pkg/dvipng) を使用します。OS のパッケージまたは `tlmgr install dvipng` でインストールできます。数式中に日本語は使えません。
603
+
604
+ config.yml で以下のように設定すると、
605
+
606
+ ```
607
+ imgmath: true
608
+ ```
609
+
610
+ デフォルト値として以下が使われます。
611
+
612
+ ```
613
+ imgmath_options:
614
+ # 使用する画像拡張子。通常は「png」か「svg」(svgの場合は、pdfcrop_pixelize_cmdの-pngも-svgにする)
615
+ format: png
616
+ # 変換手法。pdfcrop または dvipng
617
+ converter: pdfcrop
618
+ # プリアンブルの内容を上書きするファイルを指定する(デフォルトはupLaTeX+jsarticle.clsを前提とした、lib/review/makerhelper.rbのdefault_imgmath_preambleメソッドの内容)
619
+ preamble_file: null
620
+ # 基準のフォントサイズ
621
+ fontsize: 10
622
+ # 基準の行間
623
+ lineheight: 12
624
+ # pdfcropコマンドのコマンドライン。プレースホルダは
625
+ # %i: 入力ファイル、%o: 出力ファイル
626
+ pdfcrop_cmd: "pdfcrop --hires %i %o"
627
+ # PDFから画像化するコマンドのコマンドライン。プレースホルダは
628
+ # %i: 入力ファイル、%o: 出力ファイル、%O: 出力ファイルから拡張子を除いたもの
629
+ # %p: 対象ページ番号
630
+ pdfcrop_pixelize_cmd: "pdftocairo -png -r 90 -f %p -l %p -singlefile %i %O"
631
+ # pdfcrop_pixelize_cmdが複数ページの処理に対応していない場合に単ページ化するか
632
+ extract_singlepage: null
633
+ # 単ページ化するコマンドのコマンドライン
634
+ pdfextract_cmd: "pdfjam -q --outfile %o %i %p"
635
+ # dvipngコマンドのコマンドライン
636
+ dvipng_cmd: "dvipng -T tight -z 9 -p %p -l %p -o %o %i"
637
+ ```
638
+
639
+ たとえば SVG を利用するには、次のようにします。
640
+
641
+ ```
642
+ imgmath: true
643
+ imgmath_options:
644
+ format: svg
645
+ pdfcrop_pixelize_cmd: "pdftocairo -svg -r 90 -f %p -l %p -singlefile %i %o"
646
+ ```
647
+
648
+ デフォルトでは、pdfcrop_pixelize_cmd に指定するコマンドは、1ページあたり1数式からなる複数ページの PDF のファイル名を `%i` プレースホルダで受け取り、`%p` プレースホルダのページ数に基づいて `%o`(拡張子あり)または `%O`(拡張子なし)の画像ファイルに書き出す、という仕組みになっています。
649
+
650
+ 単一のページの処理を前提とする `sips` コマンドや `magick` コマンドを使う場合、入力 PDF から指定のページを抽出するように `extract_singlepage: true` として挙動を変更します。単一ページの抽出はデフォルトで TeXLive の `pdfjam` コマンドが使われます。
651
+
652
+ ```
653
+ imgmath: true
654
+ imgmath_options:
655
+ extract_singlepage: true
656
+ # pdfjamの代わりに外部ツールのpdftkを使う場合(Windowsなど)
657
+ pdfextract_cmd: "pdftk A=%i cat A%p output %o"
658
+ # ImageMagickを利用する例
659
+ pdfcrop_pixelize_cmd: "magick -density 200x200 %i %o"
660
+ # sipsを利用する例
661
+ pdfcrop_pixelize_cmd: "sips -s format png --out %o %i"
662
+ ```
663
+
664
+ Re:VIEW 2 以前の dvipng の設定に合わせるには、次のようにします。
665
+
666
+ ```
667
+ imgmath: true
668
+ imgmath_options:
669
+ converter: dvipng
670
+ fontsize: 12
671
+ lineheight: 14.3
672
+ ```
579
673
 
580
674
  ## 字下げの制御
581
675
 
@@ -878,8 +972,8 @@ list: 実行例
878
972
  * `%pr` : ローマ数字(小文字)i, ii, iii, ...
879
973
  * `%pRW` : ローマ数字(大文字・単一文字表記)Ⅰ, Ⅱ, Ⅲ, ...
880
974
  * `%pJ` : 漢数字 一, 二, 三, ...
881
- * `%pdW' : アラビア数字(0〜9まではいわゆる全角、10以降半角)1, 2, ... 10, ...
882
- * `%pDW' : アラビア数字(すべて全角)1, 2, ... 10, ...
975
+ * `%pdW` : アラビア数字(0〜9まではいわゆる全角、10以降半角)1, 2, ... 10, ...
976
+ * `%pDW` : アラビア数字(すべて全角)1, 2, ... 10, ...
883
977
 
884
978
  例:
885
979
 
data/doc/format.md CHANGED
@@ -498,7 +498,6 @@ The rule of finding images is same as image command.
498
498
  //}
499
499
  ```
500
500
 
501
-
502
501
  ## Quoting Text
503
502
 
504
503
  You can use `//quote{ ... //}` as quotations.
@@ -618,6 +617,104 @@ Usage:
618
617
  //}
619
618
  ```
620
619
 
620
+ There is `@<m>{ ... }` for inline (see "Fence notation for inline commands" section also).
621
+
622
+ Whether LaTeX formula is correctly displayed or not depends on the processing system. PDFMaker uses LaTeX internally, so there is no problem.
623
+
624
+ EPUBMaker and WEBMaker use either MathML transformation or imaging.
625
+
626
+ ### MathML case
627
+ Install MathML library (`gem install math_ml`).
628
+
629
+ Specify in config.yml as follows:
630
+
631
+ ```
632
+ mathml: true
633
+ ```
634
+
635
+ Whether it is displayed properly in MathML depends on your viewer or browser.
636
+
637
+ ### imaging case
638
+
639
+ This way calls LaTeX internally and images it with an external tool. Image files will be placed in `images/_review_math` folder.
640
+
641
+ You need TeXLive or other LaTeX environment. Modify the parameters of `texcommand`,` texoptions`, `dvicommand`,` dvioptions` in config.yml as necessary.
642
+
643
+ In addition, external tools for image conversion are also needed. Currently, it supports the following two methods.
644
+
645
+ - `pdfcrop`: cut out the formula using `pdfcrop` command (included in TeXLive) and image it. By default, `pdftocairo` command is used (included in Poppler library). You can change it to another tool if available on the command line.
646
+ - `dvipng`: it uses [dvipng](https://ctan.org/pkg/dvipng) to cut out and to image. You can install with OS package or `tlmgr install dvipng`.
647
+
648
+ By setting in config.yml,
649
+
650
+ ```
651
+ imgmath: true
652
+ ```
653
+
654
+ it is set as follows:
655
+
656
+ ```
657
+ imgmath_options:
658
+ # format. png|svg
659
+ format: png
660
+ # conversion method. pdfcrop|dvipng
661
+ converter: pdfcrop
662
+ # custom preamble file (default: for upLaTeX+jsarticle.cls, see lib/review/makerhelper.rb#default_imgmath_preamble)
663
+ preamble_file: null
664
+ # default font size
665
+ fontsize: 10
666
+ # default line height
667
+ lineheight: 12
668
+ # pdfcrop command.
669
+ # %i: filename for input %o: filename for output
670
+ pdfcrop_cmd: "pdfcrop --hires %i %o"
671
+ # imaging command.
672
+ # %i: filename for input %o: filename for output %O: filename for output without the extension
673
+ # %p: page number
674
+ pdfcrop_pixelize_cmd: "pdftocairo -png -r 90 -f %p -l %p -singlefile %i %O"
675
+ # whether to generate a single PDF page for pdfcrop_pixelize_cmd.
676
+ extract_singlepage: null
677
+ # command line to generate a single PDF page file.
678
+ pdfextract_cmd: "pdfjam -q --outfile %o %i %p"
679
+ # dvipng command.
680
+ dvipng_cmd: "dvipng -T tight -z 9 -p %p -l %p -o %o %i"
681
+ ```
682
+
683
+ For example, to make SVG:
684
+
685
+ ```
686
+ imgmath: true
687
+ imgmath_options:
688
+ format: svg
689
+ pdfcrop_pixelize_cmd: "pdftocairo -svg -r 90 -f %p -l %p -singlefile %i %o"
690
+ ```
691
+
692
+ By default, the command specified in `pdfcrop_pixelize_cmd` takes the filename of multi-page PDF consisting of one formula per page.
693
+
694
+ 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.
695
+
696
+ ```
697
+ imgmath: true
698
+ imgmath_options:
699
+ extract_singlepage: true
700
+ # use pdftk instead of default pdfjam (for Windows)
701
+ pdfextract_cmd: "pdftk A=%i cat A%p output %o"
702
+ # use ImageMagick
703
+ pdfcrop_pixelize_cmd: "magick -density 200x200 %i %o"
704
+ # use sips
705
+ pdfcrop_pixelize_cmd: "sips -s format png --out %o %i"
706
+ ```
707
+
708
+ To set the same setting as Re:VIEW 2:
709
+
710
+ ```
711
+ imgmath: true
712
+ imgmath_options:
713
+ converter: dvipng
714
+ fontsize: 12
715
+ lineheight: 14.3
716
+ ```
717
+
621
718
  ## Spacing
622
719
 
623
720
  `//noindent` is a tag for spacing.