Re:VIEW の使い方

(2014/03/10)「ReVIEW」から「Re:VIEW」に名前が変わりましたので、変更しました。

Re:VIEW とは?

Re:VIEW は、Wiki に似た簡易フォーマットで記述したテキストファイルから、PDF や EPUB などを生成できるドキュメントツールです。

公式の説明は以下にあります。

Re:VIEW 記法の簡単な説明は以下にあります。

とにかくあまり情報がありませんが、かなり優れたツールです。Ruby で書かれている LGPLオープンソースソフトウェアです。

インストールする

Re:VIEW をインストールする

Re:VIEW 自体のインストールは簡単です。Git で clone し、パスを通せば完了です。

$ git clone git://github.com/kmuto/review.git

とし、review/bin にパスを通します。

LaTex をインストールする

PDF を生成する場合、TeX Live 2010 以上が必要なようです。

Mac では、

http://www2.kumagaku.ac.jp/teacher/herogw/

にある Additional Tools for MacTeX/TeXLive 2011 をインストールします。

Ubuntu 11.04 では以下のようにしました。

まず、TeX Live 2011 をインストールします。

http://www.tug.org/texlive/acquire-netinstall.html より http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz をダウンロードします。

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar xvf install-tl-unx.tar.gz
$ cd install-tl-20110924
$ sudo ./install-tl

/usr/local/bin にシンボリックリンクを張ります。

$ sudo /usr/local/texlive/2011/bin/i386-linux/tlmgr path add

otf.sty をインストールします。

$ wget http://ftp.kddilabs.jp/TeX/ptex-win32/current/otfbeta.tar.xz
$ tar xvf otfbeta.tar.xz
$ cd share/texmf/
$ sudo cp -Rv * /usr/local/texlive/texmf-local/
$ sudo mktexlsr

jumoline.sty をインストールします。

$ wget http://www.htc.nagoya-u.ac.jp/~yamamoto/lecture/tex/stylemacro/jumoline.sty
$ sudo cp -p jumoline.sty /usr/local/texlive/texmf-local/tex/platex/misc
$ sudo mktexlsr

cid-x.map を変更します。

$ sudo vi /usr/local/texlive/2011/texmf/fonts/map/dvipdfmx/cid-x.map
--- cid-x.map.orig	2009-08-23 09:26:55.000000000 +0900
+++ cid-x.map	2011-09-25 16:05:17.297504807 +0900
@@ -147,3 +147,19 @@
 %%  http://ftp.netscape.com/pub/communicator/extras/fonts/windows/ReadMe.htm
 
 %cyberb@Unicode@ unicode cyberbit
+
+
+hminr-h     H               Ryumin-Light
+hminr-v     V               Ryumin-Light
+otf-ujmr-h  UniJIS-UTF16-H  Ryumin-Light
+otf-ujmr-v  UniJIS-UTF16-V  Ryumin-Light
+otf-cjmr-h  Adobe-Japan1-6  Ryumin-Light
+otf-cjmr-v  Identity-V      Ryumin-Light
+
+hgothr-h    H               GothicBBB-Medium
+hgothr-v    V               GothicBBB-Medium
+otf-ujgr-h  UniJIS-UTF16-H  GothicBBB-Medium
+otf-ujgr-v  UniJIS-UTF16-V  GothicBBB-Medium
+otf-cjgr-h  Adobe-Japan1-6  GothicBBB-Medium
+otf-cjgr-v  Identity-V      GothicBBB-Medium
+

ドキュメントを作成する

フォルダを作成し、ドキュメントを作成します。フォルダ構成は以下のようになります。

sample/
├── ch01.re
├── ch02.re
├── CHAPS
├── sample.css
├── sample.yaml
├── images/
└── sty/

上記では、sample というフォルダに ch01.re、ch02.re という ReVIEW ファイルがあります。これらのファイルに章別の文章を書いていきます。

CHAPS ファイルは章を定義するファイルです。ReVIEW ファイルを順に記述するだけのテキストファイルです。

sample.yaml は、EPUB や PDF を生成するための設定ファイルです。review/docs フォルダにサンプルが含まれています。

sty フォルダは PDF を生成する際ないとエラーになります。


PDF を生成するには、以下のようにします。引数に設定ファイルを指定します。

review-pdfmaker sample.yaml

EPUB を生成するには、以下のようにします。引数に設定ファイルを指定します。

review-epubmaker sample.yaml

画像ファイルを埋め込む

現在のところ画像フォルダは「images」に決め打ちされています。ファイル構成は以下のようになります。

sample/
├── ch01.re
├── ch02.re
├── CHAPS
├── images/
│     └── ch01-capture12.jpg
└── sty/

ここで、ch01.re という ReVIEWファイル内で、

//image[capture12][キャプション]

と書くと、

images/ch01-capture12.拡張子

のファイルを探すことになります。拡張子は普通は jpegpng になります。Re:VIEW の検索対象は、現在、eps、ai、tif、tiffpngbmp、jpg、jpeg、gif、svg となっています。

つまり、画像のファイル名は、

「ReVIEW ファイル名(拡張子なし)」 - 「ID」 . 「拡張子」

となります。ここで、ID(ここでは capture12)は任意ですが、ファイル名を構成するパーツとなりますので、あまり変なものは使えません。

また、1つの ReVIEWファイル内ではそれぞれ固有にしておく必要があります。ch01.re と ch02.re では名前空間は別ということになります。

PDF の画像を埋め込む

texmf.cnf の shell_escape_commands に extractbb を追加します。

--- /usr/local/texlive/2011/texmf/web2c/texmf.cnf.orig	2011-08-29 03:16:32.000000000 +0900
+++ /usr/local/texlive/2011/texmf/web2c/texmf.cnf	2012-02-10 13:28:17.859777770 +0900
@@ -500,6 +500,7 @@
 kpsewhich,\
 makeindex,\
 repstopdf,\
+extractbb,\
 
 % we'd like to allow:
 % dvips - but external commands can be executed, need at least -R1.

画像ファイルを章別に配置する

images/ch01-capture12.拡張子

ではなく、

images/ch01/capture12.拡張子

のように配置するには、設定の YAML ファイルの params に「--subdirmode」を追加します。

params: --stylesheet=sample.css --subdirmode

PDF でコラムの中で脚注を使う

PDF では、コラムの中で脚注が使えません。これは LaTeX の制約だそうです。回避策としては、

1. まず //footnote をセクションの外に出す
===[column] コラムのサンプル

あいうえお@<fn>{a}。

===[/column]

//footnote[a][かきくけこ。]
2. 次に設定の YAML ファイルの params に「--footnotetext」を追加する

これでコラムのなかでも脚注が使えるようになります。

ただ、通常の脚注(footnote)ではなく、footnotemark & footnotetext を使うため、本文と脚注が別ページに分かれる可能性がある、リンクでなくなるなど、いろいろ制約があります。

プリプロセッサで展開するファイルのタブ幅を変更する

プリプロセッサで展開するファイルの中のタブはスペースに変換されます。標準では 8文字ですが、変更した場合は、以下のようにします。

diff --git a/lib/review/preprocessor.rb b/lib/review/preprocessor.rb
index 2ddc271..d629363 100644
--- a/lib/review/preprocessor.rb
+++ b/lib/review/preprocessor.rb
@@ -532,7 +532,7 @@ module ReVIEW
     end
 
     def canonical(line)
-      detab(line).rstrip + "\n"
+      detab(line, 4).rstrip + "\n"
     end
 
     def check_type(type)

参考文献を表示する

参考文献は bib.re ファイルを作成し、以下のように記載します。

//bibpaper[lins][キャプション]{..コメント..}

ここで lins は ID です。

= 参考文献

//bibpaper[lins][Lins, 1991]{
Refael D. Lins. A shared memory architecture for parallel study of
algorithums for cyclic reference_counting. Technical Report 92,
Computing Laboratory, The University of Kent at Canterbury , August
1991
//}

そして、POSTDEF ファイルを作成し bib.re と記載します。

本文中からは @{lins} のように参照できます。