review 2.0.0.beta1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +66 -1
- data/.rubocop_todo.yml +617 -0
- data/.travis.yml +16 -1
- data/ChangeLog +48 -0
- data/Dockerfile +22 -0
- data/Gemfile +0 -1
- data/README.md +97 -0
- data/Rakefile +10 -11
- data/appveyor.yml +9 -0
- data/bin/review +46 -0
- data/bin/review-check +8 -21
- data/bin/review-compile +26 -43
- data/bin/review-index +9 -22
- data/bin/review-init +21 -25
- data/bin/review-preproc +9 -13
- data/bin/review-validate +1 -1
- data/bin/review-vol +3 -17
- data/bin/review-webmaker +15 -0
- data/doc/NEWS.ja.md +534 -0
- data/doc/NEWS.md +538 -0
- data/doc/catalog.ja.md +10 -18
- data/doc/catalog.md +5 -9
- data/doc/config.yml.sample +319 -0
- data/doc/customize_epub.ja.md +42 -0
- data/doc/format.ja.md +320 -288
- data/doc/format.md +277 -170
- data/doc/format_idg.ja.md +82 -175
- data/doc/pdfmaker.ja.md +61 -0
- data/doc/pdfmaker.md +65 -0
- data/doc/quickstart.ja.md +88 -98
- data/doc/quickstart.md +72 -110
- data/doc/sample.css +41 -0
- data/doc/writing_vertical.ja.md +55 -0
- data/doc/writing_vertical.md +5 -0
- data/lib/epubmaker/content.rb +3 -3
- data/lib/epubmaker/epubcommon.rb +173 -145
- data/lib/epubmaker/epubv2.rb +24 -77
- data/lib/epubmaker/epubv3.rb +72 -73
- data/lib/epubmaker/producer.rb +54 -30
- data/lib/lineinput.rb +48 -0
- data/lib/review/book.rb +0 -1
- data/lib/review/book/base.rb +47 -27
- data/lib/review/book/chapter.rb +48 -19
- data/lib/review/book/compilable.rb +10 -14
- data/lib/review/book/index.rb +10 -19
- data/lib/review/book/page_metric.rb +0 -10
- data/lib/review/book/part.rb +17 -3
- data/lib/review/builder.rb +84 -68
- data/lib/review/catalog.rb +5 -1
- data/lib/review/compiler.rb +327 -4657
- data/lib/review/configure.rb +84 -10
- data/lib/review/converter.rb +28 -0
- data/lib/review/epubbuilder.rb +1 -1
- data/lib/review/epubmaker.rb +142 -158
- data/lib/review/ewbbuilder.rb +5 -5
- data/lib/review/exception.rb +1 -1
- data/lib/review/extentions.rb +1 -1
- data/lib/review/extentions/hash.rb +15 -0
- data/lib/review/extentions/string.rb +2 -1
- data/lib/review/htmlbuilder.rb +364 -348
- data/lib/review/htmltoc.rb +44 -0
- data/lib/review/htmlutils.rb +12 -6
- data/lib/review/i18n.rb +78 -6
- data/lib/review/i18n.yml +7 -4
- data/lib/review/idgxmlbuilder.rb +226 -267
- data/lib/review/latexbuilder.rb +281 -274
- data/lib/review/latexutils.rb +56 -49
- data/lib/review/makerhelper.rb +8 -4
- data/lib/review/markdownbuilder.rb +80 -124
- data/lib/review/pdfmaker.rb +197 -138
- data/lib/review/preprocessor.rb +16 -67
- data/lib/review/template.rb +24 -0
- data/lib/review/textbuilder.rb +1 -1
- data/lib/review/textutils.rb +18 -24
- data/lib/review/tocparser.rb +51 -106
- data/lib/review/tocprinter.rb +61 -117
- data/lib/review/topbuilder.rb +119 -126
- data/lib/review/unfold.rb +2 -2
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +302 -0
- data/lib/review/webtocprinter.rb +48 -0
- data/lib/review/yamlloader.rb +47 -0
- data/review.gemspec +3 -3
- data/templates/html/layout-html5.html.erb +17 -0
- data/templates/html/layout-xhtml1.html.erb +20 -0
- data/{lib/review → templates/latex}/layout.tex.erb +107 -115
- data/templates/ncx/epubv2.ncx.erb +11 -0
- data/templates/opf/epubv2.opf.erb +21 -0
- data/templates/opf/epubv3.opf.erb +18 -0
- data/templates/web/html/layout-html5.html.erb +56 -0
- data/templates/web/html/layout-xhtml1.html.erb +20 -0
- data/templates/xml/container.xml.erb +6 -0
- data/test/assets/test.xml.erb +3 -0
- data/test/assets/test_template.tex +28 -71
- data/test/assets/test_template_backmatter.tex +1 -9
- data/test/sample-book/src/Rakefile +12 -3
- data/{doc/sample.yml → test/sample-book/src/config-epub2.yml} +92 -147
- data/test/sample-book/src/config.yml +40 -154
- data/test/sample-book/src/style-web.css +45 -0
- data/test/sample-book/src/style.css +23 -1
- data/test/test.re +1 -1
- data/test/test_book.rb +15 -17
- data/test/test_book_chapter.rb +2 -80
- data/test/test_book_part.rb +1 -1
- data/test/test_builder.rb +28 -6
- data/test/test_catalog.rb +17 -0
- data/test/test_compiler.rb +14 -59
- data/test/test_configure.rb +94 -0
- data/test/test_converter.rb +21 -0
- data/test/test_epub3maker.rb +155 -3
- data/test/test_epubmaker.rb +245 -30
- data/test/test_epubmaker_cmd.rb +2 -2
- data/test/test_extentions_hash.rb +60 -0
- data/test/test_helper.rb +4 -47
- data/test/test_htmlbuilder.rb +282 -175
- data/test/test_htmltoc.rb +33 -0
- data/test/test_i18n.rb +134 -70
- data/test/test_idgxmlbuilder.rb +58 -39
- data/test/test_latexbuilder.rb +132 -14
- data/test/test_lineinput.rb +5 -26
- data/test/test_makerhelper.rb +6 -4
- data/test/test_markdownbuilder.rb +23 -5
- data/test/test_pdfmaker.rb +86 -20
- data/test/test_pdfmaker_cmd.rb +1 -3
- data/test/test_review_ext.rb +1 -1
- data/test/test_template.rb +27 -0
- data/test/test_textutils.rb +36 -0
- data/test/test_tocparser.rb +25 -0
- data/test/test_topbuilder.rb +34 -2
- data/test/test_yamlloader.rb +188 -0
- metadata +71 -29
- data/README.rdoc +0 -81
- data/bin/review-epubmaker-legacy +0 -1024
- data/doc/ruby-uuid/README +0 -11
- data/doc/ruby-uuid/README.ja +0 -34
- data/lib/review/compiler/literals_1_8.kpeg +0 -19
- data/lib/review/compiler/literals_1_8.rb +0 -432
- data/lib/review/compiler/literals_1_9.kpeg +0 -22
- data/lib/review/compiler/literals_1_9.rb +0 -435
- data/lib/review/extentions/array.rb +0 -25
- data/lib/review/htmllayout.rb +0 -41
- data/lib/review/inaobuilder.rb +0 -357
- data/lib/review/location.rb +0 -24
- data/lib/review/node.rb +0 -267
- data/lib/review/review.kpeg +0 -724
- data/lib/uuid.rb +0 -312
- data/rubocop-todo.yml +0 -456
- data/test/test_inaobuilder.rb +0 -247
- data/test/test_uuid.rb +0 -157
data/doc/format_idg.ja.md
CHANGED
@@ -1,203 +1,110 @@
|
|
1
1
|
# Re:VIEW フォーマット InDesign XML 形式拡張
|
2
2
|
|
3
|
-
Re:VIEW フォーマットから、Adobe 社の DTP ソフトウェア「InDesign
|
4
|
-
で読み込んで利用しやすい XML 形式に変換できます (通常の XML とほぼ同じ
|
5
|
-
ですが、文書構造ではなく見た目を指向した形態になっています)。
|
6
|
-
現時点では idgxmlbuilder.rb と topbuilder.rb のみが拡張に対応しています。
|
7
|
-
実際には出力された XML を InDesign のスタイルに割り当てるフィルタをさらに
|
8
|
-
作成・適用する必要があります。
|
3
|
+
Re:VIEW フォーマットから、Adobe 社の DTP ソフトウェア「InDesign」で読み込んで利用しやすい XML 形式に変換できます (通常の XML とほぼ同じですが、文書構造ではなく見た目を指向した形態になっています)。実際には出力された XML を InDesign のスタイルに割り当てるフィルタをさらに作成・適用する必要があります。
|
9
4
|
|
10
|
-
|
5
|
+
基本のフォーマットのほかにいくつかの拡張命令を追加しています。
|
11
6
|
|
12
|
-
|
7
|
+
このドキュメントは、Re:VIEW 2.0 に基づいています。
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
* `[world]`: Real Worldコラム。
|
17
|
-
* `[hood]`: Under the Hoodコラム。
|
18
|
-
* `[edition]`: Editionコラム。
|
19
|
-
* `[insideout]`: インサイドアウトコラム。
|
9
|
+
## 追加したブロック
|
10
|
+
これらのブロックは基本的に特定の書籍向けのものであり、将来廃棄する可能性があります。
|
20
11
|
|
21
|
-
|
22
|
-
|
23
|
-
`//
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
`//
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
`//
|
32
|
-
|
33
|
-
## ヒント
|
34
|
-
|
35
|
-
`//tip{ 〜 //}` または `//tip[タイトル]{ 〜 //}` でヒント(Tip)文章を指定します。
|
36
|
-
|
37
|
-
## 参照ブロック
|
38
|
-
|
39
|
-
`//info{ 〜 //}` または `//info[タイトル]{ 〜 //}` で参照文章を指定します。
|
40
|
-
|
41
|
-
## プランニング
|
42
|
-
|
43
|
-
`//planning{ 〜 //}` または `//planning[タイトル]{ 〜 //}` でプランニング文章を指定します。
|
44
|
-
|
45
|
-
## ベストプラクティス
|
46
|
-
|
47
|
-
`//best{ 〜 //}` または `//best[タイトル]{ 〜 //}` でベストプラクティス文章を
|
48
|
-
指定します。
|
49
|
-
|
50
|
-
## ここが重要 (キーワード)
|
51
|
-
|
52
|
-
`//important[タイトル]{ 〜 //}` で重要項目を指定します。
|
53
|
-
|
54
|
-
## セキュリティ
|
55
|
-
|
56
|
-
`//security{ 〜 //}` または `//security[タイトル]{ 〜 //}` でセキュリティ文章を
|
57
|
-
指定します。
|
58
|
-
|
59
|
-
## 警告
|
60
|
-
|
61
|
-
`//caution{ 〜 //}` または `//caution[タイトル]{ 〜 //}` で警告文章を指定します。
|
62
|
-
|
63
|
-
## エキスパートに訊く
|
64
|
-
|
65
|
-
`//expert{ 〜 //}` で「エキスパートに訊く」を指定します (rawで`<expert>〜</expert>`
|
66
|
-
を使うほうがよいかもしれません)。
|
67
|
-
QとAは`@<b>{Q}:〜` と `@<b>{A}:〜` で示します。
|
68
|
-
|
69
|
-
## 注意
|
70
|
-
|
71
|
-
`//notice{ 〜 //}` または `//notice[タイトル]{ 〜 //}` で注意を指定します。
|
72
|
-
|
73
|
-
## ワンポイント
|
74
|
-
|
75
|
-
`//point{ 〜 //}` または `//point[タイトル]{ 〜 //}` でワンポイントを指定します。
|
76
|
-
|
77
|
-
## トラブルシューティング
|
78
|
-
|
79
|
-
`//shoot{ 〜 //}` または `//shoot[タイトル]{ 〜 //}` でトラブルシューティングを
|
80
|
-
指定します。
|
81
|
-
|
82
|
-
## 用語解説
|
83
|
-
|
84
|
-
`//term{ 〜 //}` で用語解説を指定します(ただし、ブロック指定ができないので
|
85
|
-
実質的にはrawで`<term>〜</term>`を通常使うことになるでしょう)。
|
86
|
-
|
87
|
-
## リンク
|
88
|
-
|
89
|
-
`//link{ 〜 //}` または `//link[タイトル]{ 〜 //}` で他の章やファイルなどへの
|
90
|
-
参照内容を指定します。
|
91
|
-
|
92
|
-
## 練習問題
|
93
|
-
|
94
|
-
`//practice{ 〜 //}` で練習問題を指定します。
|
95
|
-
|
96
|
-
## 参考
|
97
|
-
|
98
|
-
`//reference{ 〜 //}` で参考情報を指定します。
|
12
|
+
* `//insn[タイトル]{ 〜 //}` または `//box[タイトル]{ 〜 //}` : 書式
|
13
|
+
* `//planning{ 〜 //}` または `//planning[タイトル]{ 〜 //}` : プランニング
|
14
|
+
* `//best{ 〜 //}` または `//best[タイトル]{ 〜 //}` : ベストプラクティス
|
15
|
+
* `//security{ 〜 //}` または `//security[タイトル]{ 〜 //}` : セキュリティ
|
16
|
+
* `//expert{ 〜 //}` : エキスパートに訊く
|
17
|
+
* `//point{ 〜 //}` または `//point[タイトル]{ 〜 //}` : ワンポイント
|
18
|
+
* `//shoot{ 〜 //}` または `//shoot[タイトル]{ 〜 //}` : トラブルシューティング
|
19
|
+
* `//term{ 〜 //}` : 用語解説
|
20
|
+
* `//link{ 〜 //}` または `//link[タイトル]{ 〜 //}` : 他の章やファイルなどへの参照説明
|
21
|
+
* `//practice{ 〜 //}` : 練習問題
|
22
|
+
* `//reference{ 〜 //}` : 参考情報
|
99
23
|
|
100
24
|
## 相互参照
|
101
25
|
|
102
|
-
`//label[〜]
|
103
|
-
XMLとしては`<label id='〜' />`と`<labelref idref='〜' />`というタグに
|
104
|
-
置き換えられます。
|
105
|
-
実際にどのような相互参照関係にするかは、処理系に依存します。
|
106
|
-
想定の用途では、章や節の番号およびタイトルを記憶し、labelrefの出現箇所
|
107
|
-
に"「節(あるいは章)番号 タイトル」"という文字列を配置します。
|
26
|
+
`//label[〜]` でラベルを定義し、`@<labelref>{〜}` で参照します。XML としては `<label id='〜' />` と `<labelref idref='〜' />` というタグに置き換えられます。
|
108
27
|
|
109
|
-
|
110
|
-
|
111
|
-
"`第2章「コンパイラ」`"
|
112
|
-
`"「, ,」"`と指定すると、"`「第2章 コンパイラ」`" に展開されます。
|
28
|
+
実際にどのような相互参照関係にするかは、処理プログラムに依存します。想定の用途では、章や節の番号およびタイトルを記憶し、labelref の出現箇所に `「節(あるいは章)番号 タイトル」` という文字列を配置します。
|
29
|
+
|
30
|
+
`@<chapref>` の展開形式を、`--chapref="前装飾文字列,中間装飾文字列,後装飾文字列"` でコンパイル実行時に指定できます。デフォルトは`",「,」"`です。たとえば "`第2章「コンパイラ」`" のように普通は展開されます。`"「, ,」"`と指定すると、"`「第2章 コンパイラ」`" に展開されます。
|
113
31
|
|
114
32
|
## 丸数字
|
115
33
|
|
116
|
-
`@<maru>{数値}` で丸数字を出力します。
|
34
|
+
`@<maru>{数値}` で丸数字を出力します。UTF-8 の丸数字を直接使うほうが適切です。
|
117
35
|
|
118
36
|
## キートップ
|
119
37
|
|
120
|
-
`@<keytop>{キー文字}`
|
38
|
+
`@<keytop>{キー文字}` でキーボードマークを出力します(実際のフォントとの割り当て処理はフィルタや review-ext.rb で調整します)。
|
121
39
|
|
122
40
|
## 吹き出し
|
123
41
|
|
124
|
-
`@<balloon>{〜}`
|
125
|
-
られ、記入した箇所から吹き出しまで線が引かれます。
|
126
|
-
`@<>`オペレータは入れ子ができないため、丸数字を使いたいときには`@maru[数値]`
|
127
|
-
という特別な書式を代わりに使います。
|
128
|
-
|
129
|
-
## ロー指定
|
42
|
+
`@<balloon>{〜}` でコード内などでの吹き出しを作成します。通常、吹き出しは右に寄せられ、記入した箇所から吹き出しまで線が引かれます。
|
130
43
|
|
131
|
-
|
132
|
-
エレメントを指定しなければならないこともあります。
|
133
|
-
|
134
|
-
インラインの`@<raw>{ 〜 }`の他に、単一行の`//raw[〜]`、ブロック版の `//rawblock{ 〜 //}` でも、フォーマット処理をせずにそのままの文字列が出力できます。
|
44
|
+
## DTP 命令指定
|
135
45
|
|
136
|
-
|
46
|
+
`@<dtp>{ 〜 }` で「`<? dtp 〜 ?>`」という XML インストラクションを埋め込みます。処理系に渡す任意の文字列を指定できますが、次のような文字列を特殊文字指定できます。
|
137
47
|
|
138
|
-
|
139
|
-
|
48
|
+
* maru : 番号リストの各段落先頭で使い、このリスト段落の番号は丸数字であることを示す
|
49
|
+
* return 改行記号文字
|
50
|
+
* autopagenumber : 現ページ番号
|
51
|
+
* nextpageunmber : 次ページ番号
|
52
|
+
* previouspagenumber : 前ページ番号
|
53
|
+
* sectionmarker : セクションマーカー
|
54
|
+
* bulletcharacter : ビュレット (ナカグロ)
|
55
|
+
* copyrightsymbol : 著作権記号
|
56
|
+
* degreesymbol : 度記号
|
57
|
+
* ellipsischaracter : 省略記号
|
58
|
+
* forcedlinebreak : 強制改行
|
59
|
+
* discretionarylinebreak : 任意の改行
|
60
|
+
* paragraphsymbol : 段落記号
|
61
|
+
* registeredtrademark : 登録商標記号
|
62
|
+
* sectionsymbol : セクション記号
|
63
|
+
* trademarksymbol : 商標記号
|
64
|
+
* rightindenttab : 右インデントタブ
|
65
|
+
* indentheretab : 「ここまでインデント」タブ
|
66
|
+
* zerowidthnonjoiner : 結合なし
|
67
|
+
* emdash : EMダッシュ
|
68
|
+
* endash : ENダッシュ
|
69
|
+
* discretionaryhyphen : 任意ハイフン
|
70
|
+
* nonbreakinghyphen : 分散禁止ハイフン
|
71
|
+
* endnestedstyle : 先頭文字スタイルの終了文字
|
72
|
+
* doubleleftquote : 左二重引用符
|
73
|
+
* doublerightquote : 右二重引用符
|
74
|
+
* singleleftquote : 左用符
|
75
|
+
* singlerightquote : 右引用符
|
76
|
+
* singlestraightquote : 半角一重左用符
|
77
|
+
* doublestraightquote : 半角二重引用符
|
78
|
+
* emspace : EMスペース
|
79
|
+
* enspace : ENスペース
|
80
|
+
* flushspace : フラッシュスペース
|
81
|
+
* hairspace : 極細スペース
|
82
|
+
* nonbreakingspace : 分散禁止スペース
|
83
|
+
* fixedwidthnonbreakingspace : 分散禁止スペース(固定幅)
|
84
|
+
* textvariable : 全角スペース
|
85
|
+
* thinspace : 細いスペース
|
86
|
+
* figurespace : 数字の間隔
|
87
|
+
* punctuationspace : 句読点等の間隔
|
88
|
+
* sixthspace : 1/6スペース
|
89
|
+
* quarterspace : 1/4スペース
|
90
|
+
* thirdspace : 1/3スペース
|
91
|
+
* columnbreak : 改段
|
92
|
+
* framebreak : 改フレーム
|
93
|
+
* pagebreak : 改ページ
|
94
|
+
* oddpagebreak : 奇数改ページ
|
95
|
+
* evenpagebreak : 偶数改ページ
|
96
|
+
* footnotesymbol : 脚注記号
|
140
97
|
|
141
98
|
## 表セル幅の指定
|
142
99
|
|
143
|
-
`//tsize[1列目の幅,2列目の幅,...]` で、続く `//table`
|
144
|
-
(単位mm)。これを利用するときには、review2idgxml を実行する際、オプション
|
145
|
-
`--table=表幅` を付ける必要があります (表幅の単位は mm)。列幅指定の個数が
|
146
|
-
実際の列数に満たない場合、残りの列は均等分割したものとなります。列幅の
|
147
|
-
合計が表幅を超えるとエラーになります。
|
100
|
+
`//tsize[1列目の幅,2列目の幅,...]` で、続く `//table` の表の列幅を指定します(単位mm)。これを利用するときには、`review compile --target=idgxml` を実行する際、オプション`--table=表幅` を付ける必要があります(表幅の単位は mm)。列幅指定の個数が実際の列数に満たない場合、残りの列は均等分割したものとなります。列幅の合計が表幅を超えると警告が表示されます。
|
148
101
|
|
149
|
-
##
|
102
|
+
## 表セルの結合やスタイル指定
|
103
|
+
`@<dtp>{table 表オプション}` を各セルに入れることで、そのセルの挙動を制御します。
|
150
104
|
|
151
|
-
|
152
|
-
を埋め込みます。処理系に渡す任意の文字列を指定できますが、次のような文字列
|
153
|
-
を特殊文字指定できます。
|
105
|
+
表オプションには次のものがあります。
|
154
106
|
|
155
|
-
*
|
156
|
-
*
|
157
|
-
*
|
158
|
-
*
|
159
|
-
* previouspagenumber 前ページ番号
|
160
|
-
* sectionmarker セクションマーカー
|
161
|
-
* bulletcharacter ビュレット (ナカグロ)
|
162
|
-
* copyrightsymbol 著作権記号
|
163
|
-
* degreesymbol 度記号
|
164
|
-
* ellipsischaracter 省略記号
|
165
|
-
* forcedlinebreak 強制改行
|
166
|
-
* discretionarylinebreak 任意の改行
|
167
|
-
* paragraphsymbol 段落記号
|
168
|
-
* registeredtrademark 登録商標記号
|
169
|
-
* sectionsymbol セクション記号
|
170
|
-
* trademarksymbol 商標記号
|
171
|
-
* rightindenttab 右インデントタブ
|
172
|
-
* indentheretab 「ここまでインデント」タブ
|
173
|
-
* zerowidthnonjoiner 結合なし
|
174
|
-
* emdash EMダッシュ
|
175
|
-
* endash ENダッシュ
|
176
|
-
* discretionaryhyphen 任意ハイフン
|
177
|
-
* nonbreakinghyphen 分散禁止ハイフン
|
178
|
-
* endnestedstyle 先頭文字スタイルの終了文字
|
179
|
-
* doubleleftquote 左二重引用符
|
180
|
-
* doublerightquote 右二重引用符
|
181
|
-
* singleleftquote 左用符
|
182
|
-
* singlerightquote 右引用符
|
183
|
-
* singlestraightquote 半角一重左用符
|
184
|
-
* doublestraightquote 半角二重引用符
|
185
|
-
* emspace EMスペース
|
186
|
-
* enspace ENスペース
|
187
|
-
* flushspace フラッシュスペース
|
188
|
-
* hairspace 極細スペース
|
189
|
-
* nonbreakingspace 分散禁止スペース
|
190
|
-
* fixedwidthnonbreakingspace 分散禁止スペース(固定幅)
|
191
|
-
* textvariable 全角スペース
|
192
|
-
* thinspace 細いスペース
|
193
|
-
* figurespace 数字の間隔
|
194
|
-
* punctuationspace 句読点等の間隔
|
195
|
-
* sixthspace 1/6スペース
|
196
|
-
* quarterspace 1/4スペース
|
197
|
-
* thirdspace 1/3スペース
|
198
|
-
* columnbreak 改段
|
199
|
-
* framebreak 改フレーム
|
200
|
-
* pagebreak 改ページ
|
201
|
-
* oddpagebreak 奇数改ページ
|
202
|
-
* evenpagebreak 偶数改ページ
|
203
|
-
* footnotesymbol 脚注記号
|
107
|
+
* `colspan=列数` : 右方向に結合
|
108
|
+
* `rowspan=行数` : 下方向に結合
|
109
|
+
* `type=名前` : セルの種類の指定
|
110
|
+
* `align=位置` : セル内の内容の位置。通常の用途では left|center|right のいずれか
|
data/doc/pdfmaker.ja.md
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
# LaTeX と review-pdfmaker について
|
2
|
+
Re:VIEW の review-pdfmaker は、フリーソフトウェアの簡易 DTP システム「LaTeX」を呼び出して PDF を作成しています。
|
3
|
+
|
4
|
+
そのため、利用にあたっては TeX の環境を別途セットアップしておく必要があります。OS に応じたセットアップについては、以下の TeX Wiki サイトなどを参照してください。
|
5
|
+
|
6
|
+
#### TeX Wiki - TeX入手法
|
7
|
+
* https://texwiki.texjp.org/?TeX入手法
|
8
|
+
|
9
|
+
## Re:VIEW バージョンによる変化についての注意
|
10
|
+
* Re:VIEW 2.0 より、LaTeX コンパイラのデフォルトが pLaTeX から upLaTeX になりました。以下の「upLaTeX について」を参照してください。
|
11
|
+
* Re:VIEW 2.0 より、image タグに `scale` オプションを使って倍率数値を定義していた場合の挙動が変わりました。以下の「scale オプションの挙動について」を参照してください。
|
12
|
+
* Re:VIEW 2.0 より、config.yml 等の設定ファイルで使われる `prt` のデフォルトが「発行所」ではなく「印刷所」になりました。「発行所」には `pbl` のほうをお使いください。
|
13
|
+
|
14
|
+
## upLaTeX について
|
15
|
+
|
16
|
+
2016年4月リリースの Re:VIEW 2.0 より、LaTeX のコンパイラのデフォルトが、「pLaTeX」から「upLaTeX」に切り替わりました。upLaTeX は pLaTeX の内部文字処理を Unicode 対応にしたもので、丸数字(①②…)のように pLaTeXでは otf パッケージが必要だった文字、あるいは韓国語や中国語との混植などを、直接扱うことができます。
|
17
|
+
|
18
|
+
ほとんどの pLaTeX 向けのパッケージはそのまま動作しますが、jsbook クラスや otf パッケージなどでは uplatex オプションが必要です。
|
19
|
+
|
20
|
+
LaTeX コンパイラコマンドおよびオプションについて、Re:VIEW の設定のデフォルトは次のとおりです。
|
21
|
+
|
22
|
+
```yaml
|
23
|
+
texcommand: uplatex
|
24
|
+
texoptions: null
|
25
|
+
texdocumentclass: ["jsbook", "uplatex,oneside"]
|
26
|
+
dvicommand: dvipdfmx
|
27
|
+
dvioptions: "-d 5"
|
28
|
+
```
|
29
|
+
|
30
|
+
## 旧来の pLaTeX を使用するには
|
31
|
+
|
32
|
+
既存のドキュメントについて、利用しているマクロやパッケージが upLaTeX でうまく動かない、あるいはこれまでと異なる紙面ができてしまう場合は、pLaTeX に戻したいと思うかもしれません。
|
33
|
+
|
34
|
+
Re:VIEW 2.0 よりも前のバージョンと同じコンパイラ設定に戻すには、config.yml に次のように記述します。
|
35
|
+
|
36
|
+
```yaml
|
37
|
+
texcommand: platex
|
38
|
+
texoptions: "-kanji=utf-8"
|
39
|
+
texdocumentclass: ["jsbook", "oneside"]
|
40
|
+
dvicommand: dvipdfmx
|
41
|
+
dvioptions: "-d 5"
|
42
|
+
```
|
43
|
+
|
44
|
+
レイアウト erb ファイル(デフォルトは lib/review/layout.tex.erb)において、upLaTeX と pLaTeX の区別は内部変数 texcompiler で行えます。変数 texcompiler には、パラメータ texcommand の値からフォルダパスとファイル拡張子を除いたものが入っており、pLaTeX の場合は "platex"、upLaTeX の場合は "uplatex" となります。使用例は次のとおりです。
|
45
|
+
|
46
|
+
```
|
47
|
+
<% if texcompiler == "uplatex" %>
|
48
|
+
\usepackage[deluxe,uplatex]{otf}
|
49
|
+
<% else %>
|
50
|
+
\usepackage[deluxe]{otf}
|
51
|
+
<% end %>
|
52
|
+
```
|
53
|
+
|
54
|
+
## scale オプションの挙動について
|
55
|
+
Re:VIEW 2.0 より、``//image`` タグの第3オプションに ``scale=倍率`` で数値のみで倍率を指定していたときの挙動が変わりました。以前は「画像ファイルに対する倍率」でしたが、「紙面横幅に対する倍率」となります(もともと数値以外の文字も scale の値に含めていた場合には、変化はありません)。
|
56
|
+
|
57
|
+
旧来の「画像ファイルに対する倍率」に戻したいときには、config.yml にパラメータ ``image_scale2width: false`` を指定してください(デフォルトは true)。
|
58
|
+
|
59
|
+
```yaml
|
60
|
+
image_scale2width: false
|
61
|
+
```
|
data/doc/pdfmaker.md
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# LaTeX and review-pdfmaker
|
2
|
+
|
3
|
+
The command `review-pdfmaker` in Re:VIEW use [LaTeX](https://en.wikipedia.org/wiki/LaTeX) to generate a PDF file.
|
4
|
+
|
5
|
+
To use the command, you need to set up LaTeX system.
|
6
|
+
|
7
|
+
|
8
|
+
## Important Changes about LaTeX in Re:VIEW 2.0
|
9
|
+
|
10
|
+
* Default LaTeX compiler is upLaTeX, not pLaTeX.
|
11
|
+
* The meaning of `scale` option in `@<image>` command is changed and configurable.
|
12
|
+
* `prt` is printer, not publisher. You can use `pbl` for publisher.
|
13
|
+
|
14
|
+
## about upLaTeX
|
15
|
+
|
16
|
+
In Re:VIEW 2.0 released at April 2016, default LaTeX compiler became upLaTeX from pLaTeX. The upLaTeX support Unicode and you can use unicode characters such like ①②... and other characters without otf package.
|
17
|
+
|
18
|
+
Almost packages in pLaTeX can be supported in upLaTeX, but some package (such as jsbook class and otf package) need `uplatex` option.
|
19
|
+
|
20
|
+
Default settings of Re:VIEW is below:
|
21
|
+
|
22
|
+
```yaml
|
23
|
+
texcommand: uplatex
|
24
|
+
texoptions: null
|
25
|
+
texdocumentclass: ["jsbook", "uplatex,oneside"]
|
26
|
+
dvicommand: dvipdfmx
|
27
|
+
dvioptions: "-d 5"
|
28
|
+
```
|
29
|
+
|
30
|
+
## How to use old pLaTeX
|
31
|
+
|
32
|
+
You also use pLaTeX with Re:VIEW 2.0.
|
33
|
+
|
34
|
+
To use pLaTeX, You can add these configuration in config.yml.
|
35
|
+
|
36
|
+
```yaml
|
37
|
+
texcommand: platex
|
38
|
+
texoptions: "-kanji=utf-8"
|
39
|
+
texdocumentclass: ["jsbook", "oneside"]
|
40
|
+
dvicommand: dvipdfmx
|
41
|
+
dvioptions: "-d 5"
|
42
|
+
```
|
43
|
+
|
44
|
+
You can use a variable `@texcompiler` to compare latex command in layout ERB files (lib/review/layout.tex.erb in default).
|
45
|
+
The value of `@texcompiler` is `platex` (when using pLaTeX) and `uplatex` (when using upLaTeX).
|
46
|
+
The usage is below:
|
47
|
+
|
48
|
+
```
|
49
|
+
<% if @texcompiler == "uplatex" %>
|
50
|
+
\usepackage[deluxe,uplatex]{otf}
|
51
|
+
<% else %>
|
52
|
+
\usepackage[deluxe]{otf}
|
53
|
+
<% end %>
|
54
|
+
```
|
55
|
+
|
56
|
+
## about `scale` option
|
57
|
+
|
58
|
+
In Re:VIEW 2.0, the meaning of `scale=..` in the third option of ``//image`` command.
|
59
|
+
The meaning in 1.0 is "scale for image file" (`1.0` is same as original image size), but the one in 2.0 is "scale for paper width" (`1.0` is same as paper widdth.)
|
60
|
+
|
61
|
+
If you need the same behavior in Re:VIEW 1.x, you should add ``image_scale2width: false`` in config.yml (default value is `true`).
|
62
|
+
|
63
|
+
```yaml
|
64
|
+
image_scale2width: false
|
65
|
+
```
|
data/doc/quickstart.ja.md
CHANGED
@@ -8,15 +8,17 @@ Re:VIEW は GNU Lesser General Public License Version 2.1 に基づいて配布
|
|
8
8
|
|
9
9
|
このドキュメントでは、Re:VIEW のセットアップから変換の例までを簡単に説明します。
|
10
10
|
|
11
|
+
このドキュメントは、Re:VIEW 2.0 に基づいています。
|
12
|
+
|
11
13
|
## セットアップ
|
12
14
|
|
13
|
-
Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。Mac OS X および Windows Cygwin でも動作可能です。Ruby gem
|
15
|
+
Re:VIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。Mac OS X および Windows Cygwin でも動作可能です。Ruby gem あるいは Git のいずれかを使ってダウンロード・展開します。
|
14
16
|
|
15
|
-
なお、Re:VIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS
|
17
|
+
なお、Re:VIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS については UTF-8 文字エンコーディングさえ使用できれば制限はありません。
|
16
18
|
|
17
19
|
### RubyGems を使う場合
|
18
20
|
|
19
|
-
|
21
|
+
機能セットがまとまった区切りごとに、定期的に Re:VIEW の開発チームが Re:VIEW の gem を更新しています。
|
20
22
|
|
21
23
|
次のように Re:VIEW の gem をインストールします。
|
22
24
|
|
@@ -32,6 +34,12 @@ Ruby gem の bin ディレクトリにパスを通すようにしておいてく
|
|
32
34
|
$ gem update review
|
33
35
|
```
|
34
36
|
|
37
|
+
Gemfile を使っている場合は、以下の行を Gemfile に追加して、`bundle`コマンドを実行します。
|
38
|
+
|
39
|
+
```Gemfile
|
40
|
+
gem 'review'
|
41
|
+
```
|
42
|
+
|
35
43
|
### Gitを使う場合
|
36
44
|
|
37
45
|
Re:VIEW は GitHub で開発されており、バージョン管理ツールの Git を使って最新の Re:VIEW コードを入手できます。Git は分岐が容易なので、独自のカスタマイズを施すのにも向いています。
|
@@ -50,28 +58,31 @@ review というディレクトリに展開されるので、review/bin にパ
|
|
50
58
|
$ git pull
|
51
59
|
```
|
52
60
|
|
53
|
-
|
54
|
-
|
55
|
-
Git の最新コピーは、別のバージョン管理ツールの Subversion 向けにも提供しています (古い環境では Subversion のクライアントしか入っていないことがあります)。
|
61
|
+
## Re:VIEW ドキュメントの作成
|
56
62
|
|
57
|
-
|
63
|
+
### 雛型の作成
|
64
|
+
review-init コマンドを使って、雛型となる作業フォルダを作成できます。
|
58
65
|
|
59
|
-
```
|
60
|
-
$
|
66
|
+
```
|
67
|
+
$ review-init ドキュメント名
|
61
68
|
```
|
62
69
|
|
63
|
-
|
64
|
-
|
65
|
-
最新の開発に追従するには次のようにします。
|
70
|
+
これで指定のドキュメント名のフォルダが用意され、中に次のようなファイルが置かれます。
|
66
71
|
|
67
|
-
|
68
|
-
|
69
|
-
|
72
|
+
* ドキュメント名を冠した「.re」拡張子を持つファイル(Re:VIEW フォーマットテキストファイル)
|
73
|
+
* config.yml : 設定ファイル
|
74
|
+
* catalog.yml : カタログファイル(目次構成)
|
75
|
+
* Rakefile : rake コマンドのルールファイル
|
76
|
+
* images : 画像の配置フォルダ
|
77
|
+
* layouts : レイアウトファイルの配置フォルダ
|
78
|
+
* style.css : サンプルスタイルシート
|
79
|
+
* sty : スタイルファイル配置フォルダ(TeX 用)
|
70
80
|
|
71
|
-
|
81
|
+
review-init コマンドによらず、独自に作業フォルダを作成してもかまいません。
|
72
82
|
|
73
|
-
|
83
|
+
### Re:VIEW テキストの作成と変換
|
74
84
|
|
85
|
+
デフォルトの re 拡張子のファイルは、「`=`」とあるだけのほぼ空っぽのファイルです。次に Re:VIEW フォーマットで記述を追加した簡単な例を示します。
|
75
86
|
|
76
87
|
```review
|
77
88
|
= はじめてのRe:VIEW
|
@@ -95,85 +106,76 @@ $ svn up
|
|
95
106
|
|
96
107
|
1. Ruby gem
|
97
108
|
2. Git
|
98
|
-
3.
|
109
|
+
3. Download from GitHub
|
99
110
|
|
100
|
-
ホームページは@<tt>{https://
|
111
|
+
ホームページは@<tt>{https://reviewml.org/}です。
|
101
112
|
```
|
102
113
|
|
103
|
-
テキストファイルの文字エンコーディングには、UTF-8
|
114
|
+
テキストファイルの文字エンコーディングには、UTF-8 を使用してください。
|
104
115
|
|
105
|
-
|
116
|
+
### PDF 化と EPUB 化
|
106
117
|
|
107
|
-
|
118
|
+
review-pdfmaker コマンドで PDF ブックの作成、review-epubmaker コマンドで EPUB ファイルの作成ができます。
|
108
119
|
|
109
|
-
|
120
|
+
PDF を作成するには、TeXLive2012 以上の環境が必要です。EPUB を作成するには、rubyzip gem あるいは zip コマンドが必要です(MathML も使いたいときには、 [MathML ライブラリ](http://www.hinet.mydns.jp/?mathml.rb)も必要です)。
|
110
121
|
|
111
|
-
|
122
|
+
いずれのコマンドも、必要な設定情報を記した YAML 形式ファイルを引数に指定して実行します。review-init コマンドで作成した環境には、デフォルトで config.yml として用意されているので、これを利用します。
|
112
123
|
|
113
124
|
```bash
|
114
|
-
$ review-
|
115
|
-
$ review-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
上記では各ファイル個別に変換することを想定して、標準出力をリダイレクトする書式を掲載していますが、-a オプションを付ければ、CHAPS、PREDEF、POSTDEF に従ってすべてのファイルを変換できます。
|
121
|
-
|
122
|
-
```
|
123
|
-
$ review-compile --target html -a ←すべてのファイルをHTMLにする
|
124
|
-
```
|
125
|
-
|
126
|
-
sample.re を HTML に変換すると、次のようになります。
|
127
|
-
|
128
|
-
```html
|
129
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
130
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
131
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="ja">
|
132
|
-
<head>
|
133
|
-
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
134
|
-
<meta http-equiv="Content-Style-Type" content="text/css" />
|
135
|
-
<meta name="generator" content="Re:VIEW" />
|
136
|
-
<title>はじめてのRe:VIEW</title>
|
137
|
-
</head>
|
138
|
-
<body>
|
139
|
-
<h1><a id="h1" />第1章 はじめてのRe:VIEW</h1>
|
140
|
-
<div class="lead">
|
141
|
-
<p>「Hello, Re:VIEW.」</p>
|
142
|
-
</div>
|
143
|
-
|
144
|
-
<h2><a id="h1-1" />1.1 Re:VIEWとは</h2>
|
145
|
-
<p><b>Re:VIEW</b>は、EWBやRDあるいはWikiに似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。</p>
|
146
|
-
<p>平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、次のような形式に変換できます。</p>
|
147
|
-
<ul>
|
148
|
-
<li>テキスト(指示タグ付き)</li>
|
149
|
-
<li>LaTeX</li>
|
150
|
-
<li>HTML</li>
|
151
|
-
<li>XML</li>
|
152
|
-
</ul>
|
153
|
-
<p>現在入手手段としては次の3つがあります。</p>
|
154
|
-
<ol>
|
155
|
-
<li>Ruby gem</li>
|
156
|
-
<li>Git</li>
|
157
|
-
<li>Subversion</li>
|
158
|
-
</ol>
|
159
|
-
<p>ホームページは<tt>https://github.com/kmuto/review/wiki/</tt>です。</p>
|
160
|
-
</body>
|
161
|
-
</html>
|
162
|
-
```
|
163
|
-
|
164
|
-
Re:VIEW フォーマットについての詳細は、 [format.rdoc](https://github.com/kmuto/review/blob/master/doc/format.rdoc) を参照してください。
|
165
|
-
|
166
|
-
review-compile を含め、ほとんどのコマンドは `--help` オプションを付けるとオプションについてのヘルプが表示されます。`review-compile` には多数のオプションがあるので確認してください。
|
167
|
-
|
168
|
-
なお、`--target` で毎回指定するのは面倒なので、`review-compile` に対するシンボリックリンクを作成しておくとよいでしょう。「review2...」のコマンド名で呼び出せるようになります。
|
125
|
+
$ review-pdfmaker config.yml ←PDFの作成
|
126
|
+
$ review-epubmaker config.yml ←EPUBの作成
|
127
|
+
```
|
128
|
+
|
129
|
+
rake コマンドを利用できるなら、次のように実行することもできます。
|
169
130
|
|
170
131
|
```bash
|
171
|
-
$
|
172
|
-
$
|
173
|
-
|
174
|
-
|
175
|
-
|
132
|
+
$ rake pdf ←PDFの作成
|
133
|
+
$ rake epub ←EPUBの作成
|
134
|
+
```
|
135
|
+
|
136
|
+
config.yml のサンプルについては以下を参照してください。
|
137
|
+
|
138
|
+
* [config.yml.sample](https://github.com/kmuto/review/blob/master/doc/config.yml.sample)
|
139
|
+
|
140
|
+
### 章を増やす、カスタマイズする
|
141
|
+
作成した PDF あるいは EPUB を見ると、先に作成した RE:VIEW フォーマットテキストファイルが「第1章」となっていることがわかります。
|
142
|
+
|
143
|
+
章を増やすには、同様に .re 拡張子の Re:VIEW フォーマットテキストファイルを用意し、catalog.yml にそれを登録します。
|
144
|
+
|
176
145
|
```
|
146
|
+
PREDEF:
|
147
|
+
|
148
|
+
CHAPS:
|
149
|
+
- 1章のファイル
|
150
|
+
- 2章のファイル
|
151
|
+
……
|
152
|
+
|
153
|
+
APPENDIX:
|
154
|
+
|
155
|
+
POSTDEF:
|
156
|
+
```
|
157
|
+
|
158
|
+
catalog.yml の PREDEF は前付、CHAPS は章、APPENDIX は付録、POSTDEF は後付です。詳細は [catalog.ja.md](https://github.com/kmuto/review/blob/master/doc/catalog.ja.md) を参照してください。
|
159
|
+
|
160
|
+
### 情報
|
161
|
+
Re:VIEW フォーマットについての詳細は、 [format.ja.md](https://github.com/kmuto/review/blob/master/doc/format.ja.md) を参照してください。
|
162
|
+
|
163
|
+
Re:VIEW の使用実例については、https://github.com/reviewml/review-samples にもまとめています。
|
164
|
+
|
165
|
+
## ファイル単位の変換
|
166
|
+
通常の用途では review-pdfmaker や review-epubmaker で事足りるはずですが、それ以外の形式に変換したり、PDF や EPUB の変換にあたってどのような変換が行われているのかを確認したりしたいときには、review-compile コマンドを使用します。
|
167
|
+
|
168
|
+
たとえば sample.re ファイルを変換するには次のようになります。
|
169
|
+
|
170
|
+
```bash
|
171
|
+
$ review-compile --target text sample.re > sample.txt ←テキストにする
|
172
|
+
$ review-compile --target html sample.re > sample.html ←HTMLにする
|
173
|
+
$ review-compile --target latex sample.re > sample.tex ←LaTeXにする
|
174
|
+
$ review-compile --target idgxml sample.re > sample.xml ←XMLにする
|
175
|
+
$ review-compile --target markdown sample.re > sample.md ←Markdownにする
|
176
|
+
```
|
177
|
+
|
178
|
+
review-compile を含め、ほとんどのコマンドは `--help` オプションを付けるとオプションについてのヘルプが表示されます。
|
177
179
|
|
178
180
|
## プリプロセッサ、ボリューム表示
|
179
181
|
|
@@ -198,25 +200,13 @@ $ review-vol
|
|
198
200
|
$ review-index --level 掘り下げる見出しレベル数 -a
|
199
201
|
```
|
200
202
|
|
201
|
-
## PDF 化と EPUB 化
|
202
|
-
|
203
|
-
review-pdfmaker コマンドで PDF ブックの作成、review-epubmaker コマンドで EPUB ファイルの作成ができます。
|
204
|
-
|
205
|
-
PDF を作成するには、TeXLive2012 以上の環境が必要です。EPUB を作成するには、zip コマンドが必要です (MathML も使いたいときには、 [MathML ライブラリ](http://www.hinet.mydns.jp/?mathml.rb)も必要です)。
|
206
|
-
|
207
|
-
いずれのコマンドも、必要な設定情報を記した YAML ファイルを引数に指定して実行します。YAML ファイルのサンプルは、 [sample.yml](https://github.com/kmuto/review/blob/master/doc/sample.yml) としてこのドキュメントと同じディレクトリに収録しています。
|
208
|
-
|
209
|
-
```bash
|
210
|
-
$ review-pdfmaker YAMLファイル ←PDFの作成
|
211
|
-
$ review-epubmaker YAMLファイル ←EPUBの作成
|
212
|
-
```
|
213
|
-
|
214
203
|
## クレジット
|
215
204
|
|
216
|
-
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、
|
205
|
+
Re:VIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2016年4月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
|
217
206
|
|
218
207
|
バグ・パッチの報告、開発者用メーリングリストなどについての情報は、
|
219
208
|
|
209
|
+
* http://reviewml.org/
|
220
210
|
* https://github.com/kmuto/review/wiki
|
221
211
|
|
222
212
|
を参照してください。
|