doc/format.ja.md in review-5.7.0 vs doc/format.ja.md in review-5.8.0

- old
+ new

@@ -1,10 +1,10 @@ # Re:VIEW フォーマットガイド Re:VIEW フォーマットの文法について解説します。Re:VIEW フォーマットはアスキー社(現カドカワ)の EWB を基本としながら、一部に RD や各種 Wiki の文法を取り入れて簡素化しています。 -このドキュメントは、Re:VIEW 5.5 に基づいています。 +このドキュメントは、Re:VIEW 5.8 に基づいています。 ## 段落 段落(本文)の間は1行空けて表現します。空けずに次の行を記述した場合は、1つの段落として扱われます。 @@ -405,16 +405,64 @@ //graph[sin_x][gnuplot][Gnuplotの使用]{ plot sin(x) //} ``` -コマンド名には、「`graphviz`」「`gnuplot`」「`blockdiag`」「`aafigure`」「`plantuml`」のいずれかを指定できます。ツールはそれぞれ別途インストールし、インストール先のフォルダ名を指定することなく実行できる (パスを通す) 必要があります。 +コマンド名には、「`graphviz`」「`gnuplot`」「`blockdiag`」「`aafigure`」「`plantuml`」「`mermaid`」のいずれかを指定できます。ツールはそれぞれ別途インストールし、インストール先のフォルダ名を指定することなく実行できる (パスを通す) 必要があります。 * Graphviz ( https://www.graphviz.org/ ) : `dot` コマンドへのパスを OS に設定すること * Gnuplot ( http://www.gnuplot.info/ ) : `gnuplot` コマンドへのパスを OS に設定すること * Blockdiag ( http://blockdiag.com/ ) : `blockdiag` コマンドへのパスを OS に設定すること。PDF を生成する場合は ReportLab もインストールすること * aafigure ( https://launchpad.net/aafigure ) : `aafigure` コマンドへのパスを OS に設定すること * PlantUML ( http://plantuml.com/ ) : `java` コマンドへのパスを OS に設定し、`plantuml.jar` が作業フォルダ、または `/usr/share/plantuml` あるいは `/usr/share/java` フォルダにあること +* Mermaid ( https://mermaid.js.org/ ) : 以下を参照 + +### Mermaid の利用 + +Mermaid は Web ブラウザ上で動作する JavaScript ベースの図形描画ツールです。EPUB や LaTeX 経由の PDF で利用するには、Web ブラウザを内部的に呼び出して画像化する必要があります。現時点で、Linux 以外の動作は確認していません。 + +1. プロジェクトに次のように `package.json` を作成します(既存のファイルがあるときには、`dependencies` に `"playwright"〜` の行を追加します)。 + ``` + { + "name": "book", + "dependencies": { + "playwright": "^1.32.2" + } + } + ``` +2. Playwright ライブラリをインストールします。`npm` がない場合は、[Node.js](https://nodejs.org/) の環境をセットアップしてください。 + ``` + npm install + ``` +3. Playwright ライブラリを Ruby から呼び出すモジュールである [playwright-runner](https://github.com/kmuto/playwright-runner) をインストールします。 + ``` + gem install playwright-runner + ``` +4. (オプション) EPUB には SVG 形式を作成する必要がありますが、SVG に変換するには、[poppler](https://gitlab.freedesktop.org/poppler/poppler) に含まれる `pdftocairo` コマンドが必要です。Debian およびその派生物では以下のようにしてインストールできます。 + ``` + apt install poppler-utils + ``` +5. (オプション) デフォルトでは図の周囲に大きめの余白ができてしまいます。これを詰めるには、TeXLive に含まれる `pdfcrop` コマンドが必要です。Debian およびその派生物では以下のようにしてインストールできます。 + ``` + apt install texlive-extra-utils + ``` + +プロジェクトの `config.yml` を適宜調整します。デフォルト値は以下のとおりです。 + +``` +playwright_options: + playwright_path: "./node_modules/.bin/playwright" + selfcrop: true + pdfcrop_path: "pdfcrop" + pdftocairo_path: "pdftocairo" +``` + +- `playwright_path`: `playwright` コマンドのパスを相対パスまたは絶対パスで指定する +- `selfcrop`: `playwright-runner` の画像切り出しを使う。`pdfcrop` が不要になるが、周囲に余白が生じる。`pdfcrop` を使うときには `false` に設定する +- `pdfcrop_path`: `pdfcrop` コマンドのパス。`selfcrop` が `true` のときには無視される +- `pdftocairo_path`: `pdftocairo` コマンドのパス + +Re:VIEW 側の記法としては `//graph[ID][mermaid][キャプション]` または `//graph[ID][mermaid]` となりますが、この ID に基づき、`images/html/ID.svg`(EPUB の場合)や `images/latex/ID.pdf`(LaTeX PDF の場合)が生成されます。 ## 表 表は `//table[識別子][キャプション]{ 〜 //}` という記法です。ヘッダと内容を分ける罫線は「`------------`」(12個以上の連続する `-` または `=`)を使います。