review 0.6.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +441 -0
- data/README.rdoc +25 -0
- data/Rakefile +13 -1
- data/VERSION +1 -1
- data/bin/review-check +1 -1
- data/bin/review-compile +19 -10
- data/bin/review-epubmaker +114 -17
- data/bin/review-index +8 -1
- data/bin/review-pdfmaker +378 -0
- data/bin/review-preproc +2 -3
- data/bin/review-vol +1 -2
- data/debian/README.Debian +12 -0
- data/debian/README.source +5 -0
- data/debian/changelog +5 -0
- data/debian/compat +1 -0
- data/debian/control +22 -0
- data/debian/copyright +60 -0
- data/debian/docs +5 -0
- data/debian/manpage.1.ex +59 -0
- data/debian/patches/path.diff +91 -0
- data/debian/patches/series +1 -0
- data/debian/review.install +13 -0
- data/debian/review.links +4 -0
- data/debian/rules +13 -0
- data/debian/source/format +1 -0
- data/doc/format.rdoc +477 -0
- data/doc/format.re +19 -0
- data/doc/format_idg.rdoc +180 -0
- data/doc/ruby-uuid/README +11 -0
- data/doc/ruby-uuid/README.ja +34 -0
- data/doc/sample.css +17 -0
- data/doc/sample.yaml +8 -4
- data/lib/lineinput.rb +1 -1
- data/lib/review/book.rb +43 -36
- data/lib/review/builder.rb +78 -33
- data/lib/review/compiler.rb +45 -48
- data/lib/review/epubbuilder.rb +1 -675
- data/lib/review/exception.rb +1 -1
- data/lib/review/htmlbuilder.rb +627 -49
- data/lib/review/htmlutils.rb +5 -0
- data/lib/review/idgxmlbuilder.rb +239 -250
- data/lib/review/index.rb +84 -7
- data/lib/review/latexbuilder.rb +261 -42
- data/lib/review/latexutils.rb +15 -6
- data/lib/review/preprocessor.rb +40 -6
- data/lib/review/textutils.rb +22 -0
- data/lib/review/topbuilder.rb +4 -1
- data/lib/uuid.rb +312 -0
- data/review.gemspec +44 -12
- data/test/CHAPS +2 -0
- data/test/bib.re +13 -0
- data/test/test.re +43 -0
- data/test/test_book.rb +1191 -0
- data/test/test_builder.rb +147 -0
- data/test/test_htmlbuilder.rb +191 -10
- data/test/test_htmlutils.rb +24 -0
- data/test/test_idgxmlbuilder.rb +310 -0
- data/test/test_index.rb +15 -0
- data/test/test_latexbuilder.rb +217 -6
- data/test/test_lineinput.rb +198 -0
- data/test/test_textutils.rb +68 -0
- data/test/test_uuid.rb +156 -0
- metadata +43 -10
- data/doc/format.txt +0 -434
- data/doc/format_idg.txt +0 -194
- data/doc/format_sjis.txt +0 -313
- data/setup.rb +0 -1587
- data/test/test_epubbuilder.rb +0 -73
data/bin/review-preproc
CHANGED
@@ -62,7 +62,7 @@ SJIS)') {|enc|
|
|
62
62
|
parser.on('-s', '--strip', 'Strip preprocessor tags.') {
|
63
63
|
mode = :strip
|
64
64
|
}
|
65
|
-
parser.on('--final', 'Unfold text and strip preprocessor tags.') {
|
65
|
+
parser.on('--final', 'Unfold text and strip preprocessor tags. (deprecated)') {
|
66
66
|
mode = :final
|
67
67
|
}
|
68
68
|
parser.on('--help', 'Print this message and quit.') {
|
@@ -77,8 +77,7 @@ SJIS)') {|enc|
|
|
77
77
|
exit 1
|
78
78
|
end
|
79
79
|
|
80
|
-
pp = ReVIEW::Preprocessor.new(ReVIEW::Repository.new)
|
81
|
-
pp.setParameter(param)
|
80
|
+
pp = ReVIEW::Preprocessor.new(ReVIEW::Repository.new, param)
|
82
81
|
current_file = nil
|
83
82
|
ARGV.each do |path|
|
84
83
|
current_file = path
|
data/bin/review-vol
CHANGED
@@ -52,7 +52,7 @@ def main
|
|
52
52
|
end
|
53
53
|
|
54
54
|
book = ReVIEW.book
|
55
|
-
book.
|
55
|
+
ReVIEW.book.param = @param
|
56
56
|
if part_sensitive
|
57
57
|
sep = ""
|
58
58
|
book.each_part do |part|
|
@@ -68,7 +68,6 @@ def main
|
|
68
68
|
print_volume book.volume #puts "Total #{book.volume}"
|
69
69
|
else
|
70
70
|
book.each_chapter do |chap|
|
71
|
-
chap.setParameter(@param)
|
72
71
|
print_chapter_volume chap
|
73
72
|
end
|
74
73
|
puts '============================='
|
@@ -0,0 +1,12 @@
|
|
1
|
+
review for Debian
|
2
|
+
-----------------
|
3
|
+
|
4
|
+
review-epubmaker, is EPUB builder, needs zip package. If you'd like to
|
5
|
+
use MathML in HTML, install libmathml-ruby also.
|
6
|
+
review-pdfmaker, is PDF builder, needs ptexlive environment.
|
7
|
+
Although ptexlive isn't packaged yet, you can take experimental packages
|
8
|
+
from http://www1.pm.tokushima-u.ac.jp/~kohda/tex/ptexlive.html
|
9
|
+
Plus, review-pdfmaker uses additional style;
|
10
|
+
- jumoline.sty: http://www.para.media.kyoto-u.ac.jp/latex/jumoline.tar.gz
|
11
|
+
|
12
|
+
-- Kenshi Muto <kmuto@debian.org> Tue, 23 Nov 2010 17:35:59 +0900
|
data/debian/changelog
ADDED
data/debian/compat
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
7
|
data/debian/control
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Source: review
|
2
|
+
Section: text
|
3
|
+
Priority: optional
|
4
|
+
Maintainer: Kenshi Muto <kmuto@debian.org>
|
5
|
+
Build-Depends: debhelper (>= 7.0.50~), quilt (>= 0.46-7~)
|
6
|
+
Standards-Version: 3.9.1
|
7
|
+
Homepage: http://github.com/kmuto/review
|
8
|
+
Vcs-Git: git://github.com/kmuto/review.git
|
9
|
+
|
10
|
+
Package: review
|
11
|
+
Architecture: all
|
12
|
+
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby
|
13
|
+
Recommends: zip
|
14
|
+
Suggests: ptex-bin, okumura-clsfiles, libmathml-ruby
|
15
|
+
Description: easy-to-use digital publishing system for Japanese books and ebooks
|
16
|
+
ReVIEW is a digital publishing system for books and ebooks.
|
17
|
+
It is aimed professional Japanese editorial use.
|
18
|
+
.
|
19
|
+
ReVIEW generates HTML, LaTeX, plain text, and Adobe InDesign XML
|
20
|
+
from a text file with simple and extensible tags.
|
21
|
+
.
|
22
|
+
This package provides the builders for EPUB and PDF.
|
data/debian/copyright
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
This work was packaged for Debian by:
|
2
|
+
|
3
|
+
Kenshi Muto <kmuto@debian.org> on Tue, 23 Nov 2010 17:35:59 +0900
|
4
|
+
|
5
|
+
It was downloaded from:
|
6
|
+
|
7
|
+
git://github.com/kmuto/review
|
8
|
+
|
9
|
+
Upstream Author(s):
|
10
|
+
|
11
|
+
Minero Aoki <aamine@loveruby.net>, Kenshi Muto <kmuto@debian.org>,
|
12
|
+
and Masayoshi Takahashi <takahashimm@gmail.com>.
|
13
|
+
|
14
|
+
Copyright:
|
15
|
+
|
16
|
+
Copyright (C) 2006-2010 Minero Aoki, Kenshi Muto, Masayoshi Takahashi
|
17
|
+
|
18
|
+
For lib/uuid.rb:
|
19
|
+
Copyright(c) 2005 URABE, Shyouhei
|
20
|
+
|
21
|
+
License:
|
22
|
+
|
23
|
+
This program is free software: you can redistribute it and/or modify
|
24
|
+
it under the terms of the GNU Lesser General Public License as published by
|
25
|
+
the Free Software Foundation, version 2.1 of the License.
|
26
|
+
|
27
|
+
This package is distributed in the hope that it will be useful,
|
28
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
29
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
30
|
+
GNU Lesser General Public License for more details.
|
31
|
+
|
32
|
+
You should have received a copy of the GNU Lesser General Public License
|
33
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
34
|
+
|
35
|
+
On Debian systems, the complete text of the GNU Lesser General
|
36
|
+
Public License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
|
37
|
+
|
38
|
+
lib/uuid.rb:
|
39
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
40
|
+
of this code, to deal in the code without restriction, including without
|
41
|
+
limitation the rights to use, copy, modify, merge, publish, distribute,
|
42
|
+
sublicense, and/or sell copies of the code, and to permit persons to whom the
|
43
|
+
code is furnished to do so, subject to the following conditions:
|
44
|
+
|
45
|
+
The above copyright notice and this permission notice shall be
|
46
|
+
included in all copies or substantial portions of the code.
|
47
|
+
|
48
|
+
THE CODE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
49
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
50
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
51
|
+
AUTHOR OR COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
52
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
53
|
+
OUT OF OR IN CONNECTION WITH THE CODE OR THE USE OR OTHER DEALINGS IN THE
|
54
|
+
CODE.
|
55
|
+
|
56
|
+
The Debian packaging is:
|
57
|
+
|
58
|
+
Copyright (C) 2010 Kenshi Muto <kmuto@debian.org>
|
59
|
+
|
60
|
+
and is licensed under the GNU Lesser GPL version 2.1, see above.
|
data/debian/docs
ADDED
data/debian/manpage.1.ex
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
.\" Hey, EMACS: -*- nroff -*-
|
2
|
+
.\" First parameter, NAME, should be all caps
|
3
|
+
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
4
|
+
.\" other parameters are allowed: see man(7), man(1)
|
5
|
+
.TH REVIEW SECTION "November 23, 2010"
|
6
|
+
.\" Please adjust this date whenever revising the manpage.
|
7
|
+
.\"
|
8
|
+
.\" Some roff macros, for reference:
|
9
|
+
.\" .nh disable hyphenation
|
10
|
+
.\" .hy enable hyphenation
|
11
|
+
.\" .ad l left justify
|
12
|
+
.\" .ad b justify to both left and right margins
|
13
|
+
.\" .nf disable filling
|
14
|
+
.\" .fi enable filling
|
15
|
+
.\" .br insert line break
|
16
|
+
.\" .sp <n> insert n+1 empty lines
|
17
|
+
.\" for manpage-specific macros, see man(7)
|
18
|
+
.SH NAME
|
19
|
+
review \- program to do something
|
20
|
+
.SH SYNOPSIS
|
21
|
+
.B review
|
22
|
+
.RI [ options ] " files" ...
|
23
|
+
.br
|
24
|
+
.B bar
|
25
|
+
.RI [ options ] " files" ...
|
26
|
+
.SH DESCRIPTION
|
27
|
+
This manual page documents briefly the
|
28
|
+
.B review
|
29
|
+
and
|
30
|
+
.B bar
|
31
|
+
commands.
|
32
|
+
.PP
|
33
|
+
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
34
|
+
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
35
|
+
.\" respectively.
|
36
|
+
\fBreview\fP is a program that...
|
37
|
+
.SH OPTIONS
|
38
|
+
These programs follow the usual GNU command line syntax, with long
|
39
|
+
options starting with two dashes (`-').
|
40
|
+
A summary of options is included below.
|
41
|
+
For a complete description, see the Info files.
|
42
|
+
.TP
|
43
|
+
.B \-h, \-\-help
|
44
|
+
Show summary of options.
|
45
|
+
.TP
|
46
|
+
.B \-v, \-\-version
|
47
|
+
Show version of program.
|
48
|
+
.SH SEE ALSO
|
49
|
+
.BR bar (1),
|
50
|
+
.BR baz (1).
|
51
|
+
.br
|
52
|
+
The programs are documented fully by
|
53
|
+
.IR "The Rise and Fall of a Fooish Bar" ,
|
54
|
+
available via the Info system.
|
55
|
+
.SH AUTHOR
|
56
|
+
review was written by <upstream author>.
|
57
|
+
.PP
|
58
|
+
This manual page was written by Kenshi Muto <kmuto@debian.org>,
|
59
|
+
for the Debian project (and may be used by others).
|
@@ -0,0 +1,91 @@
|
|
1
|
+
indicate /usr/share/review as lib path.Index: review-0.6+20101123/bin/review-check
|
2
|
+
===================================================================
|
3
|
+
--- review-0.6+20101123.orig/bin/review-check 2010-11-23 21:08:35.525325930 +0900
|
4
|
+
+++ review-0.6+20101123/bin/review-check 2010-11-23 21:10:00.049309314 +0900
|
5
|
+
@@ -13,7 +13,7 @@
|
6
|
+
require 'pathname'
|
7
|
+
|
8
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
9
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
10
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
11
|
+
|
12
|
+
require 'review/book'
|
13
|
+
require 'optparse'
|
14
|
+
Index: review-0.6+20101123/bin/review-checkdep
|
15
|
+
===================================================================
|
16
|
+
--- review-0.6+20101123.orig/bin/review-checkdep 2010-11-23 21:08:35.537304196 +0900
|
17
|
+
+++ review-0.6+20101123/bin/review-checkdep 2010-11-23 21:09:46.932891759 +0900
|
18
|
+
@@ -13,7 +13,7 @@
|
19
|
+
require 'pathname'
|
20
|
+
|
21
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
22
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
23
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
24
|
+
|
25
|
+
PREDEF_FILE = 'PREDEF'
|
26
|
+
|
27
|
+
Index: review-0.6+20101123/bin/review-compile
|
28
|
+
===================================================================
|
29
|
+
--- review-0.6+20101123.orig/bin/review-compile 2010-11-23 21:08:35.545307445 +0900
|
30
|
+
+++ review-0.6+20101123/bin/review-compile 2010-11-23 21:10:11.464806373 +0900
|
31
|
+
@@ -13,7 +13,7 @@
|
32
|
+
require 'pathname'
|
33
|
+
|
34
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
35
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
36
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
37
|
+
|
38
|
+
require 'review/compiler'
|
39
|
+
require 'review/book'
|
40
|
+
Index: review-0.6+20101123/bin/review-epubmaker
|
41
|
+
===================================================================
|
42
|
+
--- review-0.6+20101123.orig/bin/review-epubmaker 2010-11-23 21:08:35.557307851 +0900
|
43
|
+
+++ review-0.6+20101123/bin/review-epubmaker 2010-11-23 21:10:24.345309100 +0900
|
44
|
+
@@ -18,7 +18,7 @@
|
45
|
+
require 'pathname'
|
46
|
+
|
47
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
48
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
49
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
50
|
+
|
51
|
+
require 'uuid'
|
52
|
+
|
53
|
+
Index: review-0.6+20101123/bin/review-index
|
54
|
+
===================================================================
|
55
|
+
--- review-0.6+20101123.orig/bin/review-index 2010-11-23 21:08:35.565304467 +0900
|
56
|
+
+++ review-0.6+20101123/bin/review-index 2010-11-23 21:10:35.780809275 +0900
|
57
|
+
@@ -13,7 +13,7 @@
|
58
|
+
require 'pathname'
|
59
|
+
|
60
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
61
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
62
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
63
|
+
|
64
|
+
require 'review/book'
|
65
|
+
require 'review/tocparser'
|
66
|
+
Index: review-0.6+20101123/bin/review-preproc
|
67
|
+
===================================================================
|
68
|
+
--- review-0.6+20101123.orig/bin/review-preproc 2010-11-23 21:08:35.577305709 +0900
|
69
|
+
+++ review-0.6+20101123/bin/review-preproc 2010-11-23 21:10:46.252829939 +0900
|
70
|
+
@@ -14,7 +14,7 @@
|
71
|
+
require 'pathname'
|
72
|
+
|
73
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
74
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
75
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
76
|
+
|
77
|
+
require 'review/preprocessor'
|
78
|
+
require 'review/unfold'
|
79
|
+
Index: review-0.6+20101123/bin/review-vol
|
80
|
+
===================================================================
|
81
|
+
--- review-0.6+20101123.orig/bin/review-vol 2010-11-23 21:08:35.589305906 +0900
|
82
|
+
+++ review-0.6+20101123/bin/review-vol 2010-11-23 21:10:56.212818665 +0900
|
83
|
+
@@ -13,7 +13,7 @@
|
84
|
+
require 'pathname'
|
85
|
+
|
86
|
+
bindir = Pathname.new(__FILE__).realpath.dirname
|
87
|
+
-$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
88
|
+
+$LOAD_PATH.unshift("/usr/share/review")
|
89
|
+
|
90
|
+
require 'review/book'
|
91
|
+
require 'review/exception'
|
@@ -0,0 +1 @@
|
|
1
|
+
path.diff
|
@@ -0,0 +1,13 @@
|
|
1
|
+
bin/review-check usr/bin
|
2
|
+
bin/review-compile usr/bin
|
3
|
+
#bin/review-checkdep usr/bin
|
4
|
+
bin/review-epubmaker usr/bin
|
5
|
+
bin/review-index usr/bin
|
6
|
+
bin/review-pdfmaker usr/bin
|
7
|
+
bin/review-preproc usr/bin
|
8
|
+
bin/review-validate usr/bin
|
9
|
+
bin/review-vol usr/bin
|
10
|
+
lib/lineinput.rb usr/share/review
|
11
|
+
lib/review.rb usr/share/review
|
12
|
+
lib/uuid.rb usr/share/review
|
13
|
+
lib/review usr/share/review
|
data/debian/review.links
ADDED
data/debian/rules
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/make -f
|
2
|
+
# -*- makefile -*-
|
3
|
+
# Sample debian/rules that uses debhelper.
|
4
|
+
# This file was originally written by Joey Hess and Craig Small.
|
5
|
+
# As a special exception, when this file is copied by dh-make into a
|
6
|
+
# dh-make output file, you may use that output file without restriction.
|
7
|
+
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
8
|
+
|
9
|
+
# Uncomment this to turn on verbose mode.
|
10
|
+
#export DH_VERBOSE=1
|
11
|
+
|
12
|
+
%:
|
13
|
+
dh --with quilt $@
|
@@ -0,0 +1 @@
|
|
1
|
+
3.0 (native)
|
data/doc/format.rdoc
ADDED
@@ -0,0 +1,477 @@
|
|
1
|
+
= ReVIEW フォーマット
|
2
|
+
|
3
|
+
ReVIEW フォーマットの文法について解説します。ReVIEW
|
4
|
+
フォーマットは ASCII の EWB を基本としながら、一部に
|
5
|
+
RD や各種 Wiki の文法をとりいれて簡素化しています。
|
6
|
+
|
7
|
+
== 段落
|
8
|
+
|
9
|
+
段落(本文)の間は英語の段落のように1行空けます。ただし、組版に
|
10
|
+
まわすときは前処理して1段落を1行に変更してあります。
|
11
|
+
|
12
|
+
[例]
|
13
|
+
|
14
|
+
だんらくだんらく〜〜〜
|
15
|
+
この行も同じ段落
|
16
|
+
|
17
|
+
次の段落〜〜〜
|
18
|
+
|
19
|
+
2行以上空いている場合も1行空きと同様に処理します。
|
20
|
+
|
21
|
+
== 章・節・項・段(見出し)
|
22
|
+
|
23
|
+
章・節・項・段など、見出しは「=」「==」「===」「====」「=====」です。6 レベル以上は使えません。
|
24
|
+
|
25
|
+
[例]
|
26
|
+
|
27
|
+
= 章のキャプション
|
28
|
+
|
29
|
+
== 節のキャプション
|
30
|
+
|
31
|
+
=== 項のキャプション
|
32
|
+
|
33
|
+
==== 段のキャプション
|
34
|
+
|
35
|
+
===== 小段のキャプション
|
36
|
+
|
37
|
+
見出しは行の先頭から始める必要があります。行頭に空白が入ると、ただの本文とみなされます。
|
38
|
+
|
39
|
+
== コラムなど
|
40
|
+
|
41
|
+
節や項の見出しに [column] を追加するとコラムのキャプションになります。
|
42
|
+
|
43
|
+
[例]
|
44
|
+
|
45
|
+
===[column] コンパイラコンパイラ
|
46
|
+
|
47
|
+
このとき、「=」と「[column]」は間を開けず、必ず続けて書かなければ
|
48
|
+
なりません。空白があってもいけません。
|
49
|
+
|
50
|
+
== 箇条書き
|
51
|
+
|
52
|
+
箇条書き (HTML で言う ul) は「*」で表現します。
|
53
|
+
ネストはしません。
|
54
|
+
|
55
|
+
[例]
|
56
|
+
|
57
|
+
* 第一の項目
|
58
|
+
* 第二の項目
|
59
|
+
* 第三の項目
|
60
|
+
|
61
|
+
箇条書きを書くには、行頭に1つ以上の空白を必ず入れるようにします。
|
62
|
+
行頭に空白を入れず「*」を書くと、ただのテキストとみなされます。
|
63
|
+
|
64
|
+
== 番号付き箇条書き
|
65
|
+
|
66
|
+
番号付きの箇条書き (HTML で言う ol) は「1. 〜」「2. 〜」
|
67
|
+
「3. 〜」で示します。ネストはしません。
|
68
|
+
|
69
|
+
[例]
|
70
|
+
|
71
|
+
1. 第一の条件
|
72
|
+
2. 第二の条件
|
73
|
+
3. 第三の条件
|
74
|
+
|
75
|
+
番号付き箇条書きも、ただの箇条書きと同様、行頭に1つ以上の空白が必要です。
|
76
|
+
|
77
|
+
== 用語リスト
|
78
|
+
|
79
|
+
用語リスト (HTML で言う dl) は「:」と、続く空白で始まる行を使って示します。
|
80
|
+
|
81
|
+
[例]
|
82
|
+
|
83
|
+
: Alpha
|
84
|
+
DEC の作っていた RISC CPU。
|
85
|
+
浮動小数点数演算が速い。
|
86
|
+
: POWER
|
87
|
+
IBM とモトローラが共同製作した RISC CPU。
|
88
|
+
派生として POWER PC がある。
|
89
|
+
: SPARC
|
90
|
+
Sun が作っている RISC CPU。
|
91
|
+
CPU 数を増やすのが得意。
|
92
|
+
|
93
|
+
頭の「:」それ自体はテキストではないので注意してください。
|
94
|
+
その後に続く文字列が用語名(HTMLではdt要素)になります。
|
95
|
+
|
96
|
+
用語リストの「:」ではじまる行は、行頭に空白があってもなくてもかまいません。
|
97
|
+
そして、その行以降、空白で始まる行が用語内容(HTMLではdd要素)になります。
|
98
|
+
|
99
|
+
また、リスト内でも後述するインライン命令は有効です。
|
100
|
+
|
101
|
+
== ソースコードなどのリスト
|
102
|
+
|
103
|
+
ソースコードリストにはキャプションの付くリストとキャプションの付かないリストがあります。
|
104
|
+
連番つきリストは「//list[識別子][キャプション]{ 〜 //}」で、
|
105
|
+
連番なしリストは「//emlist[キャプション]{ 〜 //}」です。
|
106
|
+
//emlistのキャプションは省略できます。
|
107
|
+
|
108
|
+
[例]
|
109
|
+
|
110
|
+
//list[main][main()]{ ←「main」が識別子で「main()」がキャプション
|
111
|
+
int
|
112
|
+
main(int argc, char **argv)
|
113
|
+
{
|
114
|
+
puts("OK");
|
115
|
+
return 0;
|
116
|
+
}
|
117
|
+
//}
|
118
|
+
|
119
|
+
[例]
|
120
|
+
|
121
|
+
//emlist{
|
122
|
+
printf("hello");
|
123
|
+
//}
|
124
|
+
|
125
|
+
ブロック内でも後述するインライン命令は有効です。
|
126
|
+
|
127
|
+
また本文中で「リスト X を見てください」のようにリストを指定
|
128
|
+
する場合は、//list で指定した識別子を使って「@<list>{main}」
|
129
|
+
と表記します。
|
130
|
+
|
131
|
+
=== ソースコード専用の引用
|
132
|
+
|
133
|
+
ソースコードを引用する場合、ファイル名が必要です。
|
134
|
+
|
135
|
+
[例]
|
136
|
+
|
137
|
+
//source[/hello/world.rb]{
|
138
|
+
puts "hello world!"
|
139
|
+
//}
|
140
|
+
|
141
|
+
ソースコードの引用は、キャプションをつけた//emlistとあまり違いはありません。
|
142
|
+
が、HTMLのCSSなどでは区別した表現ができます。
|
143
|
+
|
144
|
+
== 行番号付き連番ありリスト
|
145
|
+
|
146
|
+
連番ありのリスト(list)で自動的に行番号がつきます。
|
147
|
+
|
148
|
+
[例]
|
149
|
+
|
150
|
+
//listnum[hello][ハローワールド]{
|
151
|
+
puts "hello world!"
|
152
|
+
//}
|
153
|
+
|
154
|
+
参照方法はlistと変わりません。
|
155
|
+
|
156
|
+
[例]
|
157
|
+
|
158
|
+
..は@<list>{hello}をみてください。
|
159
|
+
|
160
|
+
== 行番号付き連番なしリスト
|
161
|
+
|
162
|
+
連番なしのリスト(emlist)で自動的に行番号がつきます。
|
163
|
+
|
164
|
+
[例]
|
165
|
+
|
166
|
+
//emlistnum{
|
167
|
+
puts "hello world!"
|
168
|
+
//}
|
169
|
+
|
170
|
+
== 本文中でのソースコード引用
|
171
|
+
|
172
|
+
本文中でソースコードを引用して記述します。
|
173
|
+
|
174
|
+
[例]
|
175
|
+
|
176
|
+
@<code>{p = obj.ref_cnt}
|
177
|
+
|
178
|
+
== コマンドラインのキャプチャ
|
179
|
+
|
180
|
+
コマンドラインの操作を示すときは //cmd{ 〜 //} を使います。
|
181
|
+
|
182
|
+
[例]
|
183
|
+
|
184
|
+
//cmd{
|
185
|
+
$ ls /
|
186
|
+
//}
|
187
|
+
|
188
|
+
ブロック内でも後述するインライン命令は有効です。
|
189
|
+
|
190
|
+
== 図
|
191
|
+
|
192
|
+
図は //image{ 〜 //} で指定します。執筆中はアスキーアートで
|
193
|
+
代替しているため、ダミーのアスキーアートが入っていることがあり
|
194
|
+
ます。この部分は、組版時には単に無視してください。
|
195
|
+
|
196
|
+
[例]
|
197
|
+
|
198
|
+
//image[unixhistory][UNIX系OSの簡単な系譜]{
|
199
|
+
System V 系列
|
200
|
+
+----------- SVr4 --> 各種商用UNIX(Solaris, AIX, HP-UX, ...)
|
201
|
+
V1 --> V6 --|
|
202
|
+
+--------- 4.4BSD --> FreeBSD, NetBSD, OpenBSD, ...
|
203
|
+
BSD 系列
|
204
|
+
|
205
|
+
--------------> Linux
|
206
|
+
//}
|
207
|
+
|
208
|
+
3番目の引数として、画像の倍率・大きさを指定することができます。
|
209
|
+
今のところ「scale=X」で倍率(X倍)が指定できます。
|
210
|
+
|
211
|
+
また本文中で「図 X を見てください」のように図を指定する場合は、
|
212
|
+
//image で指定した識別子を用いて「@<img>{unixhistory}」と
|
213
|
+
記述します。//image と @<img> でつづりが違うので注意してください。
|
214
|
+
|
215
|
+
なお、後述しますが、インラインで図を出力するには@<icon>を使用します。
|
216
|
+
|
217
|
+
== 番号が振られていない図
|
218
|
+
|
219
|
+
//indepimage[ファイル名][キャプション] で番号が振られていない画像ファイルを生成します。キャプションは省略できます。
|
220
|
+
|
221
|
+
[例]
|
222
|
+
|
223
|
+
//indepimage[unixhistory2]
|
224
|
+
|
225
|
+
同様のことは、//numberlessimageでも使えます。
|
226
|
+
|
227
|
+
[例]
|
228
|
+
|
229
|
+
//numberlessimage[door_image_path][扉絵]
|
230
|
+
|
231
|
+
※ただし、//indepimageと機能的にかぶっているので、将来は廃止され、//indexpimageに統合される予定です。
|
232
|
+
|
233
|
+
== 表
|
234
|
+
|
235
|
+
表は //table[識別子][キャプション]{ 〜 //} です。ヘッダと内容を
|
236
|
+
分ける罫線は「------」で書き込んであります。
|
237
|
+
|
238
|
+
カラム間は任意個数のタブで区切ります。また、カラム先頭の「.」は削
|
239
|
+
除されるので、カラムの先頭文字が「.」の場合は「.」をもう一つ余計に
|
240
|
+
付けてください。例えば「.」という内容のカラムは「..」と書きます。
|
241
|
+
また、空のカラムは「.」と書けます。
|
242
|
+
|
243
|
+
[例]
|
244
|
+
|
245
|
+
//table[envvars][重要な環境変数]{
|
246
|
+
名前 意味
|
247
|
+
-------------------------------------------------------------
|
248
|
+
PATH コマンドの存在するディレクトリ
|
249
|
+
TERM 使っている端末の種類。linux・kterm・vt100など
|
250
|
+
LANG ユーザのデフォルトロケール。日本語ならja_JP.eucJPやja_JP.utf8
|
251
|
+
LOGNAME ユーザのログイン名
|
252
|
+
TEMP 一時ファイルを置くディレクトリ。/tmpなど
|
253
|
+
PAGER manなどで起動するテキスト閲覧プログラム。lessなど
|
254
|
+
EDITOR デフォルトエディタ。viやemacsなど
|
255
|
+
MANPATH manのソースを置いているディレクトリ
|
256
|
+
DISPLAY X Window Systemのデフォルトディスプレイ
|
257
|
+
//}
|
258
|
+
|
259
|
+
本文中で「表 X を見てください」のように表を指定する場合は
|
260
|
+
@<table>{envvars} という表記を使います。
|
261
|
+
|
262
|
+
表内でも後述するインライン命令は有効です。
|
263
|
+
|
264
|
+
== 引用
|
265
|
+
|
266
|
+
引用は「//quote{ 〜 //}」を使って記述します。
|
267
|
+
|
268
|
+
[例]
|
269
|
+
|
270
|
+
//quote{
|
271
|
+
百聞は一見に如かず。
|
272
|
+
//}
|
273
|
+
|
274
|
+
引用内でも後述するインライン命令は有効です。
|
275
|
+
また、いまのところ引用内で別のブロック構文を使うことはできません。
|
276
|
+
|
277
|
+
== 脚注
|
278
|
+
|
279
|
+
脚注は「//footnote」を使って記述します。
|
280
|
+
|
281
|
+
[例]
|
282
|
+
|
283
|
+
パッケージは本書のサポートサイトから入手できます@<fn>{site}。
|
284
|
+
各自ダウンロードしてインストールしておいてください。
|
285
|
+
//footnote[site][本書のサポートサイト: http://i.loveruby.net/ja/stdcompiler ]
|
286
|
+
|
287
|
+
本文中の「@<fn>{site}」は脚注番号に置換され、「本書のサポート
|
288
|
+
サイト……」という文は実際の脚注に変換されます。
|
289
|
+
|
290
|
+
== 参考文献の定義
|
291
|
+
|
292
|
+
参考文献は同一ディレクトリ内の bib.re に定義します。
|
293
|
+
//bibpaper[site][キャプション]{..コメント..}
|
294
|
+
コメントが無い場合も定義可能です。
|
295
|
+
//bibpaper[site][キャプション]
|
296
|
+
|
297
|
+
[例]
|
298
|
+
|
299
|
+
//bibpaper[lins][Lins, 1991]{
|
300
|
+
Refael D. Lins. A shared memory architecture for parallel study of
|
301
|
+
algorithums for cyclic reference_counting. Technical Report 92,
|
302
|
+
Computing Laboratory, The University of Kent at Canterbury , August
|
303
|
+
1991
|
304
|
+
//}
|
305
|
+
|
306
|
+
本文中で参考文献を参照したい場合は次のようにしてください。
|
307
|
+
|
308
|
+
[例]
|
309
|
+
|
310
|
+
…という研究が知られています(@<bib>{lins})
|
311
|
+
|
312
|
+
== リード文
|
313
|
+
|
314
|
+
リード文は //lead{ 〜 //} で指定します。
|
315
|
+
歴史的経緯により//read{ 〜 //} でも使えます。
|
316
|
+
|
317
|
+
[例]
|
318
|
+
|
319
|
+
//lead{
|
320
|
+
本章ではまずこの本の概要について話し、
|
321
|
+
次にLinuxでプログラムを作る方法を説明していきます。
|
322
|
+
//}
|
323
|
+
|
324
|
+
== TeX式
|
325
|
+
|
326
|
+
LaTeX の式を挿入するには、//texequation{ 〜 //} を使います。
|
327
|
+
|
328
|
+
[例]
|
329
|
+
|
330
|
+
//texequation{
|
331
|
+
\sum_{i=1}^nf_n(x)
|
332
|
+
//}
|
333
|
+
|
334
|
+
== 空白制御
|
335
|
+
|
336
|
+
出力される空白を制御するタグとしては、//noindentがあります。
|
337
|
+
|
338
|
+
//noindent:: その直後に来る段落冒頭のインデントをなくする(HTMLではnoindentクラスになる)
|
339
|
+
|
340
|
+
以前あった「//linebreak」(改行)、「//pagebreak」(改ページ)は廃止になります。
|
341
|
+
|
342
|
+
== コメント
|
343
|
+
|
344
|
+
以前は「//comment」というタグがありましたが、廃止されます。
|
345
|
+
|
346
|
+
最終結果に出力されないコメントを記述したい場合は「#@#」を使ってください。
|
347
|
+
|
348
|
+
[例]
|
349
|
+
|
350
|
+
#@# ここで 1 行あける
|
351
|
+
|
352
|
+
また、修正が必要な警告的コメントには#@warn(...)を使ってください。
|
353
|
+
|
354
|
+
[例]
|
355
|
+
|
356
|
+
#@warn(あとで書く)
|
357
|
+
|
358
|
+
== その他の文法
|
359
|
+
|
360
|
+
ReVIEW は任意のブロックを追加可能なので、本によって専用ブロックを
|
361
|
+
使う場合があります。これまでに使った例を以下に示します。
|
362
|
+
|
363
|
+
//prototype:: 関数プロトタイプ。『ふつうのLinuxプログラミング』で使用。
|
364
|
+
//type:: 関数の型宣言。『ふつうのHaskellプログラミング』で使用。
|
365
|
+
|
366
|
+
拡張文法はreview-ext.rbというファイルで指定できますが、ここでは詳しく触れません。
|
367
|
+
|
368
|
+
== 段落中で使う文法 (インライン命令)
|
369
|
+
|
370
|
+
@<list>{program}:: 「リスト1.5」のような文字列に置換される。
|
371
|
+
@<img>{unixhistory}:: 「図1.3」のような文字列に置換される。
|
372
|
+
@<table>{ascii}:: 「表1.2」のような文字列に置換される。
|
373
|
+
@<fn>{site}:: 脚注番号に置換される。
|
374
|
+
@<kw>{信任状, credential}:: キーワード。太字などにして強調してください。
|
375
|
+
@<chap>{advanced}:: 「第17章」のような、章番号を含むテキストに置換される。
|
376
|
+
@<title>{advanced}:: その章の章題に置換される。
|
377
|
+
@<chapref>{advanced}:: 『第17章「さらに進んだ話題」』のように、章番号とタイトルを含むテキストに置換される。
|
378
|
+
@<bou>{ふさわしい}:: 傍点。
|
379
|
+
@<ruby>{直截, ちょくせつ}:: ルビ。
|
380
|
+
@<ami>{重点ポイント}:: 文字に対するアミかけ。
|
381
|
+
@<b>{どうしても}:: 太字。
|
382
|
+
@<em>{どうしても}:: 太字(強調)。
|
383
|
+
@<i>{どうしても}:: イタリック。
|
384
|
+
@<tt>{foo($bar)}:: テキストをテレタイプ文字(等幅フォント)で出力する。
|
385
|
+
@<tti>{FooClass}:: テキストをテレタイプ文字(等幅フォント)のイタリックで出力する。
|
386
|
+
@<ttb>{BarClass}:: テキストをテレタイプ文字(等幅フォント)の太字で出力する。
|
387
|
+
@<br>{}:: 段落中改行。
|
388
|
+
@<m>{a + \alpha}:: TeXインライン式。
|
389
|
+
@<icon>{samplephoto}:: インライン画像。
|
390
|
+
@<uchar>{2460}:: Unicode文字の出力。引数は16進数で指定する。
|
391
|
+
@<href>{http://www.google.com/}:: リンク。URLで指定できる
|
392
|
+
@<raw>{@<foo>{bar\}}:: そのまま出力する。「}」は「\」でエスケープする。
|
393
|
+
|
394
|
+
== 著者用タグ (プリプロセッサ命令)
|
395
|
+
|
396
|
+
これまでに説明したタグはすべて最終段階まで残り、見ために
|
397
|
+
影響を与えます。それに対して以下のタグは著者が使うための
|
398
|
+
専用タグであり、最終段階ではすべて消されてしまいます。
|
399
|
+
|
400
|
+
#@#:: コメント。この行には何を書いても無視される。
|
401
|
+
#@warn(...):: 警告メッセージ。プリプロセス時にメッセージが出力される。
|
402
|
+
#@require, #@provide:: キーワードの依存関係を宣言する。
|
403
|
+
#@mapfile(ファイル名) 〜 #@end:: ファイルの内容をその場に展開する。
|
404
|
+
#@maprange(ファイル名, 範囲名) 〜 #@end:: ファイル内の範囲をその場に展開する。
|
405
|
+
#@mapoutput(コマンド) 〜 #@end:: コマンドを実行して、その出力結果を展開する。
|
406
|
+
|
407
|
+
== HTMLのレイアウト機能
|
408
|
+
|
409
|
+
CHAPSファイルが置かれているディレクトリに layouts/layout.erb
|
410
|
+
を置くとその html を ERB で評価します。
|
411
|
+
|
412
|
+
[例]
|
413
|
+
|
414
|
+
<html>
|
415
|
+
<head>
|
416
|
+
<title><%= title %></title>
|
417
|
+
</head>
|
418
|
+
[例]
|
419
|
+
|
420
|
+
<html>
|
421
|
+
<head>
|
422
|
+
<title><%= title %></title>
|
423
|
+
</head>
|
424
|
+
<body>
|
425
|
+
<%= body %>
|
426
|
+
<hr/>
|
427
|
+
</body>
|
428
|
+
</html>
|
429
|
+
|
430
|
+
== 部タイトル取得(目次生成機能)
|
431
|
+
|
432
|
+
PART ファイルに定義してください。
|
433
|
+
PART ファイルは CHAPS の部わけと対応しています。
|
434
|
+
|
435
|
+
[例]
|
436
|
+
|
437
|
+
CHAPS:
|
438
|
+
intro.re
|
439
|
+
|
440
|
+
start.re
|
441
|
+
|
442
|
+
end.re
|
443
|
+
|
444
|
+
PART:
|
445
|
+
(序章なので空行)
|
446
|
+
はじまりの部
|
447
|
+
おわりの部
|
448
|
+
|
449
|
+
== 見出し参照
|
450
|
+
|
451
|
+
見出し番号と見出しを生成します。
|
452
|
+
見出しの階層は"|"で区切って指定してください。
|
453
|
+
|
454
|
+
[例]
|
455
|
+
|
456
|
+
@<hd>{はじめに|まずわ}
|
457
|
+
|
458
|
+
他の章を参照したい場合は、先頭に章のidを指定してください。
|
459
|
+
|
460
|
+
[例]
|
461
|
+
|
462
|
+
@<hd>{preface|はじめに|まずわ}
|
463
|
+
|
464
|
+
== リンク
|
465
|
+
|
466
|
+
Web ハイパーリンクを記述するには、リンクに @<href>、アンカーに //label
|
467
|
+
を使います。リンクの書式は @<href>{URL, 文字表現} で、「, 文字表現」を
|
468
|
+
省略すると URL がそのまま使われます。URL 中に , を使いたいときには、\,
|
469
|
+
と表記してください。
|
470
|
+
|
471
|
+
[例]
|
472
|
+
|
473
|
+
@<href>{http://github.com/, GitHub}
|
474
|
+
@<href>{http://www.google.com/}
|
475
|
+
@<href>{#point1, ドキュメント内ポイント}
|
476
|
+
@<href>{chap1.html#point1, ドキュメント内ポイント}
|
477
|
+
//label[point1]
|