doc/format.ja.md in review-2.1.0 vs doc/format.ja.md in review-2.2.0
- old
+ new
@@ -219,10 +219,24 @@
また本文中で「リスト X.X を見てください」のようにリストを指定する場合は、インライン命令 `@<list>` を使います。`//list` あるいは `//listnum` で指定した識別子を指定し、たとえば「`@<list>{main}`」と表記します。
他章のリストを参照するには、後述の「章ID」を指定し、たとえば `@<list>{advanced|main}`(`advanced.re` ファイルの章にあるリスト `main` を参照する)と記述します。
+### 行番号の指定
+
+行番号を指定した番号から始めるには、`//firstlinenum`を使います。
+
+例:
+
+```review
+//firstlinenum[100]
+//listnum[hello][ハローワールド][ruby]{
+puts "hello world!"
+//}
+```
+
+
### ソースコード専用の引用
ソースコードを引用するには次のように記述します。
例:
@@ -364,10 +378,24 @@
本文中で「表 X.X を見てください」のように表を指定する場合はインライン命令 `@<table>` を使います。たとえば `@<table>{envvars}` となります。
表のセル内でもインライン命令は有効です。
+### 表の列幅
+
+LaTeX および IDGXML のビルダを利用する場合、表の各列の幅を `//tsize` ブロック命令で指定できます。
+
+```
+//tsize[|ビルダ|1列目の幅,2列目の幅,……]
+```
+
+* 列の幅は mm 単位で指定します。
+* IDGXML の場合、3列のうち1列目だけ指定したとすると、省略した残りの2列目・3列目は紙面版面の幅の残りを等分した幅になります。1列目と3列目だけを指定する、といった指定方法はできません。
+* LaTeX の場合、すべての列について漏れなく幅を指定する必要があります。
+* LaTeX の場合、「`//tsize[|latex||p{20mm}cr|]`」のように LaTeX の table マクロの列情報パラメータを直接指定することもできます。
+* その他のビルダ (HTML など) においては、この命令は単に無視されます。
+
### 複雑な表
現時点では表のセルの結合や、中央寄せ・右寄せなどの表現はできません。
複雑な表については、画像を貼り込む `imgtable` ブロック命令を代わりに使用する方法もあります。`imgtable` の表は通常の表と同じく採番され、インライン命令 `@<table>` で参照できます。
@@ -587,21 +615,23 @@
@<comment>{あとで書く}
```
## 生データ行
-Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、`//raw` ブロック命令または `@<raw>` インライン命令を使います。
+Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、`//raw` ブロック命令や`//embed`ブロック命令、または `@<raw>` インライン命令や `@<embed>` インライン命令を使います。
+### `//raw`行
+
例:
```
//raw[|html|<div class="special">\nここは特別な行です。\n</div>]
```
-ブロック命令は1つだけオプションをとり、「|ビルダ名|そのまま出力させる内容」という書式です。
+ブロック命令は1つだけオプションをとり、「|ビルダ名|そのまま出力させる内容」という書式です。`\n`は改行文字に変換されます。
-ビルダ名には「`html`」「`latex`」「`idgxml`」「`top`」のいずれかが入り、(複数のビルダにまたがる指定が必要かは別として)「,」で区切って複数指定することも可能です。「バックスラッシュ+n」は改行に変換されます。該当のビルダを使用しているときのみ、内容が出力されます。
+ビルダ名には「`html`」「`latex`」「`idgxml`」「`markdown`」「`top`」のいずれかが入ります。ビルダ名は「,」で区切って複数指定することも可能です。該当のビルダを使用しているときのみ、内容が出力されます。
例:
```
(HTMLビルダの場合:)
@@ -612,12 +642,60 @@
(ほかのビルダの場合は単に無視されて何も出力されない)
```
インライン命令は、`@<raw>{|ビルダ名|〜}` という書式で、記述はブロック命令に同じです。
-`//raw` および `@<raw>` は、HTML、XML や TeX の文書構造を容易に壊す可能性があります。使用には十分に注意してください。
+### `//embed`ブロック
+例:
+
+```
+//embed{
+<div class="special">
+ここは特別なブロックとして扱われます。
+</div>
+//}
+
+//embed[html,markdown]{
+<div class="special">
+ここはHTMLとMarkdownでは特別なブロックとして扱われます。
+</div>
+//}
+```
+
+`//embed`ブロック命令はブロック内の文字列をそのまま文書中に埋め込みます。エスケープされる文字はありません。
+
+オプションとして、ビルダ名を指定できます。ビルダ名には「`html`」「`latex`」「`idgxml`」「`markdown`」「`top`」のいずれかが入ります。ビルダ名は「,」で区切って複数指定することも可能です。該当のビルダを使用しているときのみ、内容が出力されます。異なるビルダを使用している場合は無視されます。
+
+オプションを省略した場合、すべてのビルダで文字列が埋め込まれます。
+
+例:
+
+HTMLビルダを使用している場合:
+
+```html
+<div class="special">
+ここは特別なブロックとして扱われます。
+</div>
+
+<div class="special">
+ここはHTMLとMarkdownでは特別なブロックとして扱われます。
+</div>
+```
+
+LaTeXビルダを使用している場合:
+
+```tex
+<div class="special">
+ここは特別なブロックとして扱われます
+</div>
+
+```
+
+
+`//raw`、`//embed`、`@<raw>` および `@<embed>` は、HTML、XML や TeX の文書構造を容易に壊す可能性があります。使用には十分に注意してください。
+
## インライン命令
主なインライン命令を次に示します。
### 書体
書体については、適用するスタイルシートなどによって異なることがあります。
@@ -651,10 +729,13 @@
* `@<br>{}` : 段落途中で改行します。濫用は避けたいところですが、表のセル内や箇条書き内などで必要になることもあります。
* `@<uchar>{番号}` : Unicode文字を出力します。引数は16進数で指定します。
* `@<href>{URL}`, `@<href>{URL, 文字表現}` : ハイパーリンクを作成します(後述)。
* `@<icon>{識別子}` : インラインの画像を出力します。
* `@<m>{数式}` : インラインの数式を出力します。
-* `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。
+* `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。`\}`は`}`に、`\\`は`\`に、`\n`は改行に置き換えられます。
+* `@<embed>{|ビルダ|〜}` : 生の文字列を埋め込みます。`\}`は`}`に、`\\`は`\`に置き換えられます(`\n`はそのままです)。
+* `@<idx>{文字列}` : 文字列を出力するとともに、索引として登録します。索引の使い方については、makeindex.ja.md を参照してください。
+* `@<hidx>{文字列}` : 索引として登録します (idx と異なり、紙面内に出力はしません)。`親索引文字列<<>>子索引文字列` のように親子関係にある索引も定義できます。
## 著者用タグ(プリプロセッサ命令)
これまでに説明したタグはすべて最終段階まで残り、見た目に影響を与えます。それに対して以下のタグは著者が使うための専用タグであり、変換結果からは除去されます。