tmtms-review 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +9 -0
  3. data/COPYING +515 -0
  4. data/ChangeLog +2083 -0
  5. data/README.rdoc +50 -0
  6. data/Rakefile +56 -0
  7. data/VERSION +1 -0
  8. data/bin/review-check +178 -0
  9. data/bin/review-checkdep +63 -0
  10. data/bin/review-compile +205 -0
  11. data/bin/review-epubmaker +661 -0
  12. data/bin/review-epubmaker-ng +176 -0
  13. data/bin/review-index +118 -0
  14. data/bin/review-pdfmaker +208 -0
  15. data/bin/review-preproc +142 -0
  16. data/bin/review-validate +51 -0
  17. data/bin/review-vol +102 -0
  18. data/debian/README.Debian +12 -0
  19. data/debian/README.source +5 -0
  20. data/debian/changelog +5 -0
  21. data/debian/compat +1 -0
  22. data/debian/control +22 -0
  23. data/debian/copyright +62 -0
  24. data/debian/docs +6 -0
  25. data/debian/manpage.1.ex +59 -0
  26. data/debian/patches/path.diff +91 -0
  27. data/debian/patches/series +1 -0
  28. data/debian/review.install +13 -0
  29. data/debian/review.links +4 -0
  30. data/debian/rules +13 -0
  31. data/debian/source/format +1 -0
  32. data/doc/format.rdoc +582 -0
  33. data/doc/format_idg.rdoc +180 -0
  34. data/doc/libepubmaker/sample.yaml +90 -0
  35. data/doc/quickstart.rdoc +188 -0
  36. data/doc/ruby-uuid/README +11 -0
  37. data/doc/ruby-uuid/README.ja +34 -0
  38. data/doc/sample.css +108 -0
  39. data/doc/sample.yaml +62 -0
  40. data/lib/epubmaker.rb +28 -0
  41. data/lib/epubmaker/content.rb +82 -0
  42. data/lib/epubmaker/epubv2.rb +418 -0
  43. data/lib/epubmaker/epubv3.rb +249 -0
  44. data/lib/epubmaker/producer.rb +204 -0
  45. data/lib/epubmaker/resource.rb +66 -0
  46. data/lib/lineinput.rb +155 -0
  47. data/lib/review.rb +3 -0
  48. data/lib/review/book.rb +46 -0
  49. data/lib/review/book/base.rb +235 -0
  50. data/lib/review/book/chapter.rb +81 -0
  51. data/lib/review/book/compilable.rb +159 -0
  52. data/lib/review/book/index.rb +339 -0
  53. data/lib/review/book/page_metric.rb +38 -0
  54. data/lib/review/book/parameters.rb +97 -0
  55. data/lib/review/book/part.rb +44 -0
  56. data/lib/review/book/volume.rb +65 -0
  57. data/lib/review/builder.rb +444 -0
  58. data/lib/review/compiler.rb +550 -0
  59. data/lib/review/configure.rb +38 -0
  60. data/lib/review/epubbuilder.rb +18 -0
  61. data/lib/review/exception.rb +21 -0
  62. data/lib/review/extentions.rb +3 -0
  63. data/lib/review/extentions/object.rb +9 -0
  64. data/lib/review/extentions/string.rb +33 -0
  65. data/lib/review/htmlbuilder.rb +1097 -0
  66. data/lib/review/htmllayout.rb +19 -0
  67. data/lib/review/htmlutils.rb +36 -0
  68. data/lib/review/i18n.rb +30 -0
  69. data/lib/review/i18n.yaml +34 -0
  70. data/lib/review/idgxmlbuilder.rb +1145 -0
  71. data/lib/review/latexbuilder.rb +815 -0
  72. data/lib/review/latexindex.rb +35 -0
  73. data/lib/review/latexutils.rb +79 -0
  74. data/lib/review/preprocessor.rb +563 -0
  75. data/lib/review/review.tex.erb +232 -0
  76. data/lib/review/textbuilder.rb +17 -0
  77. data/lib/review/textutils.rb +66 -0
  78. data/lib/review/tocparser.rb +342 -0
  79. data/lib/review/tocprinter.rb +221 -0
  80. data/lib/review/topbuilder.rb +785 -0
  81. data/lib/review/unfold.rb +138 -0
  82. data/lib/uuid.rb +312 -0
  83. data/review.gemspec +141 -0
  84. data/test/CHAPS +2 -0
  85. data/test/bib.re +13 -0
  86. data/test/book_test_helper.rb +35 -0
  87. data/test/test.re +43 -0
  88. data/test/test_book.rb +598 -0
  89. data/test/test_book_chapter.rb +418 -0
  90. data/test/test_book_parameter.rb +42 -0
  91. data/test/test_book_part.rb +50 -0
  92. data/test/test_builder.rb +144 -0
  93. data/test/test_compiler.rb +44 -0
  94. data/test/test_epubmaker.rb +507 -0
  95. data/test/test_helper.rb +27 -0
  96. data/test/test_htmlbuilder.rb +554 -0
  97. data/test/test_htmlutils.rb +28 -0
  98. data/test/test_i18n.rb +64 -0
  99. data/test/test_idgxmlbuilder.rb +589 -0
  100. data/test/test_index.rb +31 -0
  101. data/test/test_latexbuilder.rb +656 -0
  102. data/test/test_lineinput.rb +198 -0
  103. data/test/test_preprocessor.rb +23 -0
  104. data/test/test_textutils.rb +68 -0
  105. data/test/test_topbuilder.rb +244 -0
  106. data/test/test_uuid.rb +156 -0
  107. metadata +161 -0
@@ -0,0 +1,180 @@
1
+ = ReVIEW フォーマット InDesign XML 形式拡張
2
+
3
+ ReVIEW フォーマットから、Adobe 社の DTP ソフトウェア「InDesign」
4
+ で読み込んで利用しやすい XML 形式に変換できます (通常の XML とほぼ同じ
5
+ ですが、文書構造ではなく見た目を指向した形態になっています)。
6
+ 現時点では idgxmlbuilder.rb と topbuilder.rb のみが拡張に対応しています。
7
+ 実際には出力された XML を InDesign のスタイルに割り当てるフィルタをさらに
8
+ 作成・適用する必要があります。
9
+
10
+ == 章・節・項・段
11
+
12
+ 従来の[column]のほかに、オプションを追加しています。
13
+
14
+ * [nonum] : これを指定している章・節・項・段には連番を振りません。
15
+ * [circle]: 「・」を先頭に付けた小さな見出し(連番なし)を作成します。
16
+ * [world]: Real Worldコラム。
17
+ * [hood]: Under the Hoodコラム。
18
+ * [edition]: Editionコラム。
19
+ * [insideout]: インサイドアウトコラム。
20
+
21
+ == 書式ブロック
22
+ //insn[タイトル]{ 〜 //} または //box[タイトル]{ 〜 //} で書式を指定し
23
+ ます。
24
+
25
+ == ノート
26
+ //note{ 〜 //} または //note[タイトル]{ 〜 //} で注意文章を指定します。
27
+
28
+ == メモ
29
+ //memo{ 〜 //} または //memo[タイトル]{ 〜 //} でメモ文章を指定します。
30
+
31
+ == ヒント
32
+ //tip{ 〜 //} または //tip[タイトル]{ 〜 //} でヒント(Tip)文章を指定します。
33
+
34
+ == 参照ブロック
35
+ //info{ 〜 //} または //info[タイトル]{ 〜 //} で参照文章を指定します。
36
+
37
+ == プランニング
38
+ //planning{ 〜 //} または //planning[タイトル]{ 〜 //} でプランニング文章を
39
+ 指定します。
40
+
41
+ == ベストプラクティス
42
+ //best{ 〜 //} または //best[タイトル]{ 〜 //} でベストプラクティス文章を
43
+ 指定します。
44
+
45
+ == ここが重要 (キーワード)
46
+ //important[タイトル]{ 〜 //} で重要項目を指定します。
47
+
48
+ == セキュリティ
49
+ //security{ 〜 //} または //security[タイトル]{ 〜 //} でセキュリティ文章を
50
+ 指定します。
51
+
52
+ == 警告
53
+ //caution{ 〜 //} または //caution[タイトル]{ 〜 //} で警告文章を指定します。
54
+
55
+ == エキスパートに訊く
56
+ //expert{ 〜 //} で「エキスパートに訊く」を指定します (rawで<expert>〜
57
+ </expert>を使うほうがよいかもしれません)。
58
+ QとAは@<b>{Q}:〜 と @<b>{A}:〜 で示します。
59
+
60
+ == 注意
61
+ //notice{ 〜 //} または //notice[タイトル]{ 〜 //} で注意を指定します。
62
+
63
+ == ワンポイント
64
+ //point{ 〜 //} または //point[タイトル]{ 〜 //} でワンポイントを指定します。
65
+
66
+ == トラブルシューティング
67
+ //shoot{ 〜 //} または //shoot[タイトル]{ 〜 //} でトラブルシューティングを
68
+ 指定します。
69
+
70
+ == 用語解説
71
+ //term{ 〜 //} で用語解説を指定します(ただし、ブロック指定ができないので
72
+ 実質的にはrawで<term>〜</term>を通常使うことになるでしょう)。
73
+
74
+ == リンク
75
+ //link{ 〜 //} または //link[タイトル]{ 〜 //} で他の章やファイルなどへの
76
+ 参照内容を指定します。
77
+
78
+ == 練習問題
79
+ //practice{ 〜 //} で練習問題を指定します。
80
+
81
+ == 参考
82
+ //reference{ 〜 //} で参考情報を指定します。
83
+
84
+ == 相互参照
85
+ //label[〜]でラベルを定義し、@<labelref>{〜}で参照します。
86
+ XMLとしては<label id='〜' />と<labelref idref='〜' />というタグに
87
+ 置き換えられます。
88
+ 実際にどのような相互参照関係にするかは、処理系に依存します。
89
+ 想定の用途では、章や節の番号およびタイトルを記憶し、labelrefの出現箇所
90
+ に"「節(あるいは章)番号 タイトル」"という文字列を配置します。
91
+
92
+ @<chapref>の展開形式を、--chapref="前装飾文字列,中間装飾文字列,後装飾文字列"
93
+ でコンパイル実行時に指定できます。デフォルトは",「,」"です。たとえば
94
+ "第2章「コンパイラ」" のように普通は展開されます。
95
+ "「, ,」"と指定すると、"「第2章 コンパイラ」" に展開されます。
96
+
97
+ == 丸数字
98
+ @<maru>{数値} で丸数字を出力します。
99
+
100
+ == キートップ
101
+ @<keytop>{キー文字} でキーボードマークを出力します。
102
+
103
+ == 吹き出し
104
+ @<balloon>{〜} でコード内などでの吹き出しを作成します。吹き出しは右に寄せ
105
+ られ、記入した箇所から吹き出しまで線が引かれます。
106
+ @<>オペレータは入れ子ができないため、丸数字を使いたいときには@maru[数値]
107
+ という特別な書式を代わりに使います。
108
+
109
+ == ロー指定
110
+ 現時点で ReVIEW はブロックの入れ子処理ができないため、ロー指定で XML
111
+ エレメントを指定しなければならないこともあります。
112
+
113
+ インラインの@<raw>{ 〜 }の他に、単一行の//raw[〜]、ブロック版の //rawblock{ 〜 //} でも、フォーマット処理をせずにそのままの文字列が出力できます。
114
+
115
+ == キャプションなし表
116
+ //table{ 〜 //} のように id もキャプションも付けないブロックを利用できます。
117
+ この場合、その表の連番付けを飛ばします。
118
+
119
+ == 表セル幅の指定
120
+ //tsize[1列目の幅,2列目の幅,...] で、続く //table の表の列幅を指定します
121
+ (単位mm)。これを利用するときには、review2idgxml を実行する際、オプション
122
+ --table=表幅 を付ける必要があります (表幅の単位は mm)。列幅指定の個数が
123
+ 実際の列数に満たない場合、残りの列は均等分割したものとなります。列幅の
124
+ 合計が表幅を超えるとエラーになります。
125
+
126
+ == DTP 命令指定
127
+ @<dtp>{ 〜 } で InDesign 向けに「<? dtp 〜 ?>」型の XML インストラクション
128
+ を埋め込みます。処理系に渡す任意の文字列を指定できますが、次のような文字列
129
+ を特殊文字指定できます。
130
+
131
+ * maru 番号リストの各段落先頭で使い、このリスト段落の番号は丸数字であることを示す
132
+ * return 改行記号文字
133
+
134
+ * autopagenumber 現ページ番号
135
+ * nextpageunmber 次ページ番号
136
+ * previouspagenumber 前ページ番号
137
+ * sectionmarker セクションマーカー
138
+ * bulletcharacter ビュレット (ナカグロ)
139
+ * copyrightsymbol 著作権記号
140
+ * degreesymbol 度記号
141
+ * ellipsischaracter 省略記号
142
+ * forcedlinebreak 強制改行
143
+ * discretionarylinebreak 任意の改行
144
+ * paragraphsymbol 段落記号
145
+ * registeredtrademark 登録商標記号
146
+ * sectionsymbol セクション記号
147
+ * trademarksymbol 商標記号
148
+ * rightindenttab 右インデントタブ
149
+ * indentheretab 「ここまでインデント」タブ
150
+ * zerowidthnonjoiner 結合なし
151
+ * emdash EMダッシュ
152
+ * endash ENダッシュ
153
+ * discretionaryhyphen 任意ハイフン
154
+ * nonbreakinghyphen 分散禁止ハイフン
155
+ * endnestedstyle 先頭文字スタイルの終了文字
156
+ * doubleleftquote 左二重引用符
157
+ * doublerightquote 右二重引用符
158
+ * singleleftquote 左用符
159
+ * singlerightquote 右引用符
160
+ * singlestraightquote 半角一重左用符
161
+ * doublestraightquote 半角二重引用符
162
+ * emspace EMスペース
163
+ * enspace ENスペース
164
+ * flushspace フラッシュスペース
165
+ * hairspace 極細スペース
166
+ * nonbreakingspace 分散禁止スペース
167
+ * fixedwidthnonbreakingspace 分散禁止スペース(固定幅)
168
+ * textvariable 全角スペース
169
+ * thinspace 細いスペース
170
+ * figurespace 数字の間隔
171
+ * punctuationspace 句読点等の間隔
172
+ * sixthspace 1/6スペース
173
+ * quarterspace 1/4スペース
174
+ * thirdspace 1/3スペース
175
+ * columnbreak 改段
176
+ * framebreak 改フレーム
177
+ * pagebreak 改ページ
178
+ * oddpagebreak 奇数改ページ
179
+ * evenpagebreak 偶数改ページ
180
+ * footnotesymbol 脚注記号
@@ -0,0 +1,90 @@
1
+ # YAMLファイルのサンプル
2
+ # このファイルはUTF-8エンコーディングで記述してください
3
+
4
+ # ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
5
+ bookname: sample
6
+ # 記述言語
7
+ language: ja
8
+ # 書名
9
+ title: ReVIEW EPUBのサンプル
10
+
11
+ # 固有IDに使用するドメイン。指定しない場合には、時刻に基づくランダムUUIDが入る
12
+ # urnid: urn:uid:http://example.com/some-book-title/1.0.2/
13
+
14
+ # isbn: ISBN。省略した場合はランダム生成したUUIDが入る
15
+
16
+ # 著者名。複数人いる場合はYAMLの配列形式で指定できる
17
+ aut: Kenshi Muto
18
+
19
+ # 以下はオプション(配列書式で複数指定可能)。a-が付いているものはcreator側、
20
+ # 付いていないものはcontributor側(二次協力者)に入る
21
+ # a-adp, adp: 異なるメディア向けに作り直した者
22
+ # a-ann, ann: 注釈記述者
23
+ # a-arr, arr: アレンジした者
24
+ # a-art, art: グラフィックデザインおよび芸術家
25
+ # a-asn, asn: 関連・かつての所有者・関係者
26
+ # a-aqt, aqt: 大きく引用された人物
27
+ # a-aft, aft: 後書き・奥付の責任者
28
+ # a-aui, aui: 序論・序文・前書きの責任者
29
+ # a-ant, ant: 目録責任者
30
+ # a-bkp, bkp: メディア制作責任者
31
+ # a-clb, clb: 限定参加または補足者
32
+ # a-cmm, cmm: 解釈・分析・考察者
33
+ # a-dsr, dsr: デザイナ
34
+ # a-edt, edt: 編集者
35
+ # a-ill, ill: イラストレータ
36
+ # a-lyr, lyr: 歌詞作成者
37
+ # a-mdc, mdc: メタデータセットの一次的責任者
38
+ # a-mus, mus: 音楽家
39
+ # a-nrt, nrt: 語り手
40
+ # a-oth, oth: その他
41
+ # a-pht, pht: 撮影責任者
42
+ # a-prt, prt: 出版社
43
+ # a-red, red: 項目の枠組起草者
44
+ # a-rev, rev: 評論者
45
+ # a-spn, spn: 援助者
46
+ # a-ths, ths: 監督者
47
+ # a-trc, trc: 筆記・タイプ作業者
48
+ # a-trl, trl: 翻訳者
49
+
50
+ # rights: 権利表記
51
+ # date: 刊行日(省略した場合は実行時の日付)
52
+ # description: 説明
53
+ # subject: 短い説明用タグ。配列で複数指定可
54
+ # type: 書籍のカテゴリーなど(複数指定可)
55
+ # format: メディアタイプおよび特徴(複数指定可)
56
+ # source: 出版物生成の重要なリソース情報(複数指定可)
57
+ # relation: 補助的リソース(複数指定可)
58
+ # coverage: 内容の範囲や領域(複数指定可)
59
+
60
+ # htmlext: HTMLファイルの拡張子(省略した場合はhtml)
61
+ # cover: カバーページのファイル名(省略した場合はbookname.xhtmlになる)
62
+ #
63
+ # coverimage: カバー用画像
64
+ #
65
+ # CSSファイル(配列で複数指定することも可)
66
+ #stylesheet: stylesheet.css
67
+
68
+ # 目次として抽出するレベル
69
+ toclevel: 3
70
+ # セクション番号を表示するレベル
71
+ secnolevel: 2
72
+ # NCX目次の見出しレベルごとの飾り(配列で設定)
73
+ ncxindent:
74
+ -
75
+ - -
76
+
77
+ # EPUB標準の目次以外に目次を作成するか
78
+ mytoc:
79
+ # mytocがtrueの場合に作成する目次ファイル名(省略するとtoc.xhtml)
80
+ # tocfile: toc.xhtml
81
+
82
+ # 表紙の後に権利表記ページを作成するか。デフォルトでは作成されない。ファイル名を指定するとそのファイルが使われる(data配列にも指定しておく必要がある)
83
+ # titlepage: title.xhtml
84
+
85
+ # 奥付を作成するか。デフォルトでは作成されない。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.xhtmlとしてコピーされる(data配列にも指定しておく必要がある)
86
+ # colophon: true
87
+ # pubhistory: 奥付履歴
88
+
89
+ # XHTML生成後に実行するプログラム。$1:HTMLの生成されたディレクトリ $2:ReVIEWファイルのあるディレクトリ $3:起動時指定のyamlファイル名
90
+ # posthook: hook.sh
@@ -0,0 +1,188 @@
1
+ = ReVIEWクイックスタートガイド
2
+
3
+ ReVIEW は、EWB や RD あるいは Wiki に似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。
4
+
5
+ 平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、テキスト、LaTeX、HTML、XML といった形式に変換できます。独自のカスタマイズも簡単です。
6
+
7
+ ReVIEW は GNU Lesser General Public License Version 2.1 に基づいて配布されており、自由に利用、改変、再配布できます。このライセンスは、ReVIEW を使ってあなたが作成しようとする文書とは無関係であり、あなたの文書はこのライセンスに強制されることはありません。ReVIEW のツールセットあるいは ReVIEW を組み込んだシステムを配布あるいは販売しようとしているときには、ライセンスファイル COPYING をよく確認してください。
8
+
9
+ このドキュメントでは、ReVIEW のセットアップから変換の例までを簡単に説明します。
10
+
11
+ == セットアップ
12
+
13
+ ReVIEW は Ruby 言語で記述されており、Linux/Unix 互換システムで動作します。Mac OS X および Windows Cygwin でも動作可能です。Ruby gem、Git、Subversion のいずれかを使ってダウンロード・展開します。
14
+
15
+ なお、ReVIEW フォーマット自体は文字で表現されたタグが付いている以外は単なるテキストファイルなので、エディタ、OS についてはまったく制限はありません。
16
+
17
+ === Ruby gemを使う場合
18
+
19
+ 機能セットがまとまった区切りごとに、ReVIEW の開発チームが ReVIEW の gem を更新しています。
20
+
21
+ 次のように ReVIEW の gem をインストールします。
22
+
23
+ gem install review
24
+
25
+ Ruby gem の bin ディレクトリにパスを通すようにしておいてください。
26
+
27
+ インストール後、最新の gem に追従するには次のようにします。
28
+
29
+ gem update review
30
+
31
+ === Gitを使う場合
32
+
33
+ ReVIEW は GitHub で開発されており、バージョン管理ツールの Git を使って最新の ReVIEW コードを入手できます。Git は分岐が容易なので、独自のカスタマイズを施すのにも向いています。
34
+
35
+ 初めて取得するときには、次のようにします (コピーを作っています)。
36
+
37
+ git clone git://github.com/kmuto/review.git
38
+
39
+ review というディレクトリに展開されるので、review/bin にパスを通すようにしておいてください。
40
+
41
+ 最新の開発に追従するには次のようにします。
42
+
43
+ git pull
44
+
45
+ === Subversionを使う場合
46
+
47
+ Git の最新コピーは、別のバージョン管理ツールの Subversion 向けにも提供しています (古い環境では Subversion のクライアントしか入っていないことがあります)。
48
+
49
+ 初めて取得するときには、次のようにします (コピーを作っています)。
50
+
51
+ svn co https://kmuto.jp/svn/review/trunk review
52
+
53
+ review というディレクトリに展開されるので、review/bin にパスを通すようにしておいてください。
54
+
55
+ 最新の開発に追従するには次のようにします。
56
+
57
+ svn up
58
+
59
+ = ReVIEW テキストの作成と変換
60
+
61
+ セットアップを終えたら、ReVIEW フォーマットのテキストを作り、変換できるようになります。次に ReVIEW フォーマットテキストの簡単な例を示します。これを sample.re といった名前で保存します (拡張子も自由ですが、.re 拡張子を推奨します)。
62
+
63
+ = はじめてのReVIEW
64
+
65
+ //lead{
66
+ 「Hello, ReVIEW.」
67
+ //}
68
+
69
+ == ReVIEWとは
70
+
71
+ @<b>{ReVIEW}は、EWBやRDあるいはWikiに似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。
72
+
73
+ 平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、次のような形式に変換できます。
74
+
75
+ * テキスト(指示タグ付き)
76
+ * LaTeX
77
+ * HTML
78
+ * XML
79
+
80
+ 現在入手手段としては次の3つがあります。
81
+
82
+ 1. Ruby gem
83
+ 2. Git
84
+ 3. Subversion
85
+
86
+ ホームページは@<tt>{https://github.com/kmuto/review/wiki/}です。
87
+
88
+ テキストファイルの文字エンコーディングには、UTF-8 を使うことをお勧めします。ReVIEW は日本語文字エンコーディングとして UTF-8、EUC-JP、Shift-JIS、JIS を扱うことができ、入力ファイルについては自動判別、出力ファイルについても選択可能 (デフォルトは UTF-8) ですが、入力・出力のいずれにおいても、使用可能な文字についての制限が少ない UTF-8 が最適です。
89
+
90
+ 次に、章構成ファイルの CHAPS ファイルを同じディレクトリに用意します。このファイルには、ReVIEW フォーマットファイルの名前を格納します。
91
+
92
+ sample.re
93
+
94
+ CHAPS ファイルの1行目に書いたものが第1章、2行目に書いたものが第2章、……と構成されます (CHAPS に似たものとして、前付けを列挙する PREDEF ファイル、後付けを列挙する POSTDEF ファイルがあります)。
95
+
96
+ sample.re から目的の形式に変換するには、review-compile コマンドを使います。
97
+
98
+ review-compile --target text sample.re > sample.txt ←テキストにする
99
+ review-compile --target html sample.re > sample.html ←HTMLにする
100
+ review-compile --target latex sample.re > sample.tex ←LaTeXにする
101
+ review-compile --target idgxml sample.re > sample.xml ←XMLにする
102
+
103
+ 上記では各ファイル個別に変換することを想定して、標準出力をリダイレクトする書式を掲載していますが、-a オプションを付ければ、CHAPS、PREDEF、POSTDEF に従ってすべてのファイルを変換できます。
104
+
105
+ review-compile --target html -a ←すべてのファイルをHTMLにする
106
+
107
+ sample.re を HTML に変換すると、次のようになります。
108
+
109
+ <?xml version="1.0" encoding="UTF-8"?>
110
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
111
+ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="ja">
112
+ <head>
113
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
114
+ <meta http-equiv="Content-Style-Type" content="text/css" />
115
+ <meta name="generator" content="ReVIEW" />
116
+ <title>はじめてのReVIEW</title>
117
+ </head>
118
+ <body>
119
+ <h1><a id="h1" />第1章 はじめてのReVIEW</h1>
120
+ <div class="lead">
121
+ <p>「Hello, ReVIEW.」</p>
122
+ </div>
123
+
124
+ <h2><a id="h1-1" />1.1 ReVIEWとは</h2>
125
+ <p><b>ReVIEW</b>は、EWBやRDあるいはWikiに似た簡易フォーマットで記述したテキストファイルを、目的に応じて各種の形式に変換するツールセットです。</p>
126
+ <p>平易な文法ながらも、コンピュータ関係のドキュメント作成のための多くの機能を備えており、次のような形式に変換できます。</p>
127
+ <ul>
128
+ <li>テキスト(指示タグ付き)</li>
129
+ <li>LaTeX</li>
130
+ <li>HTML</li>
131
+ <li>XML</li>
132
+ </ul>
133
+ <p>現在入手手段としては次の3つがあります。</p>
134
+ <ol>
135
+ <li>Ruby gem</li>
136
+ <li>Git</li>
137
+ <li>Subversion</li>
138
+ </ol>
139
+ <p>ホームページは<tt>https://github.com/kmuto/review/wiki/</tt>です。</p>
140
+ </body>
141
+ </html>
142
+
143
+ ReVIEW フォーマットについての詳細は、format.rdoc (オンラインでは [[https://github.com/kmuto/review/blob/master/doc/format.rdoc]] ) を参照してください。
144
+
145
+ review-compile を含め、ほとんどのコマンドは --help オプションを付けるとオプションについてのヘルプが表示されます。review-compile には多数のオプションがあるので確認してください。
146
+
147
+ なお、--target で毎回指定するのは面倒なので、review-compile に対するシンボリックリンクを作成しておくとよいでしょう。「review2...」のコマンド名で呼び出せるようになります。
148
+
149
+ cd ReVIEWのインストールされたパス/bin
150
+ ln -s review-compile review2text
151
+ ln -s review-compile review2html
152
+ ln -s review-compile review2latex
153
+ ln -s review-compile review2idgxml
154
+
155
+ == プリプロセッサ、ボリューム表示
156
+
157
+ #@mapfile、#@maprange、#@mapoutput のタグを使って、指定のファイルの内容あるいはコマンドの実行結果を挿入できます。挿入・更新を行うには、プリプロセッサとなる review-preproc コマンドを使います。
158
+
159
+ review-preproc ファイル > 結果ファイル ←標準出力をリダイレクト
160
+ または
161
+ review-preproc --replace ファイル ←ファイルを更新したもので上書き
162
+
163
+ 各章の分量などを表示するには、review-vol コマンドを使います。
164
+
165
+ review-vol
166
+
167
+ より細かな見出し一覧などを出したいときには、review-index コマンドを使うのもよいでしょう。
168
+
169
+ review-index --level 掘り下げる見出しレベル数 -a
170
+
171
+ == PDF 化と EPUB 化
172
+
173
+ review-pdfmaker コマンドで PDF ブックの作成、review-epubmaker コマンドで EPUB ファイルの作成ができます。
174
+
175
+ PDF を作成するには、pTeXLive2009 以上の環境が必要です。EPUB を作成するには、zip コマンドが必要です (MathML も使いたいときには、[[http://www.hinet.mydns.jp/?mathml.rb]] の MathML ライブラリも必要です)。
176
+
177
+ いずれのコマンドも、必要な設定情報を記した YAML ファイルを引数に指定して実行します。YAML ファイルのサンプルは、sample.yaml (オンラインでは[[https://github.com/kmuto/review/blob/master/doc/sample.yaml]]) としてこのドキュメントと同じディレクトリに収録しています。
178
+
179
+ review-pdfmaker YAMLファイル ←PDFの作成
180
+ review-epubmaker YAMLファイル ←EPUBの作成
181
+
182
+ == クレジット
183
+
184
+ ReVIEW は、青木峰郎によって最初に作成されました。武藤健志がこの開発・保守を引き継ぎ、2010年12月時点では、武藤健志、高橋征義、角征典が開発・保守を継続しています。
185
+
186
+ バグ・パッチの報告、開発者用メーリングリストなどについての情報は、
187
+ [[https://github.com/kmuto/review/wiki]]
188
+ を参照してください。