pandoc2review 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/pandoc.yml +18 -0
- data/.gitignore +47 -0
- data/Gemfile +6 -0
- data/LICENSE +339 -0
- data/README.md +105 -0
- data/Rakefile +13 -0
- data/exe/pandoc2review +12 -0
- data/lib/pandoc2review.rb +99 -0
- data/lua/filters.lua +163 -0
- data/lua/review.lua +620 -0
- data/markdown-format.ja.md +721 -0
- data/pandoc2review.gemspec +29 -0
- data/samples/format.md +276 -0
- data/samples/reviewsample/.gitignore +154 -0
- data/samples/reviewsample/Gemfile +4 -0
- data/samples/reviewsample/Rakefile +3 -0
- data/samples/reviewsample/catalog.yml +10 -0
- data/samples/reviewsample/ch01.md +38 -0
- data/samples/reviewsample/ch02.re +3 -0
- data/samples/reviewsample/config-ebook.yml +6 -0
- data/samples/reviewsample/config.yml +20 -0
- data/samples/reviewsample/images/cover-a5.ai +5836 -16
- data/samples/reviewsample/images/cover.jpg +0 -0
- data/samples/reviewsample/images/pandoc2review.png +0 -0
- data/samples/reviewsample/lib/tasks/review.rake +128 -0
- data/samples/reviewsample/lib/tasks/z01_pandoc2review.rake +69 -0
- data/samples/reviewsample/sty/README.md +168 -0
- data/samples/reviewsample/sty/gentombow.sty +769 -0
- data/samples/reviewsample/sty/jsbook.cls +2072 -0
- data/samples/reviewsample/sty/jumoline.sty +310 -0
- data/samples/reviewsample/sty/plistings.sty +326 -0
- data/samples/reviewsample/sty/review-base.sty +530 -0
- data/samples/reviewsample/sty/review-custom.sty +1 -0
- data/samples/reviewsample/sty/review-jsbook.cls +503 -0
- data/samples/reviewsample/sty/review-style.sty +49 -0
- data/samples/reviewsample/sty/reviewmacro.sty +15 -0
- data/samples/reviewsample/style.css +494 -0
- metadata +128 -0
@@ -0,0 +1,721 @@
|
|
1
|
+
# pandoc2review における Markdown 形式処理の注意事項
|
2
|
+
|
3
|
+
<https://pandoc-doc-ja.readthedocs.io/ja/latest/users-guide.html#pandocs-markdown> をベースに、挙動の注意点を示しておきます。
|
4
|
+
|
5
|
+
- (★) は、pandoc2review 側で対処・修正する可能性のある課題ですが、目途が立っているわけではありません。
|
6
|
+
|
7
|
+
## 段落
|
8
|
+
|
9
|
+
1行以上のテキストと1行以上の空行で段落を形成することは同じです。
|
10
|
+
|
11
|
+
以下に例を示します (□は実際にはスペースが入っているものとします)。
|
12
|
+
|
13
|
+
```
|
14
|
+
□□one
|
15
|
+
two
|
16
|
+
|
17
|
+
three□
|
18
|
+
four
|
19
|
+
|
20
|
+
↓
|
21
|
+
one two
|
22
|
+
|
23
|
+
three four
|
24
|
+
|
25
|
+
I
|
26
|
+
have
|
27
|
+
a pen.
|
28
|
+
↓
|
29
|
+
I have a pen.
|
30
|
+
|
31
|
+
日本
|
32
|
+
語
|
33
|
+
ABC
|
34
|
+
漢字
|
35
|
+
↓
|
36
|
+
日本語ABC漢字
|
37
|
+
```
|
38
|
+
|
39
|
+
段落を複数行で記述したときには連結されますが、前後の文字の種類を見てスペースを入れるかどうかを独自のルールで判断しています。pandoc の `east_asian_line_breaks` 拡張を使うほうがよければ、`--disable-eaw` オプションを付けます。`east_asian_line_breaks` 拡張の場合、和文は空白なし・欧文は空白ありで結合されるのは元の挙動と同じですが、和欧間にはスペースが入ります。
|
40
|
+
|
41
|
+
```
|
42
|
+
日本
|
43
|
+
語
|
44
|
+
ABC
|
45
|
+
漢字
|
46
|
+
↓
|
47
|
+
日本語 ABC 漢字
|
48
|
+
```
|
49
|
+
|
50
|
+
強制改行は行末に `\` を付けます。`@<br>{}` に変換されます。
|
51
|
+
|
52
|
+
```
|
53
|
+
This paragraph has \
|
54
|
+
br.
|
55
|
+
↓
|
56
|
+
This paragraph has@<br>{}br.
|
57
|
+
```
|
58
|
+
|
59
|
+
段落字下げをデフォルトとするタイプセット環境 (TeX など) においてその段落の字下げを抑制するには、段落前に `\noindent` 行を入れます。`//noindent` に変換されます。
|
60
|
+
|
61
|
+
```
|
62
|
+
\noindent
|
63
|
+
don't indent this.
|
64
|
+
↓
|
65
|
+
//noindent
|
66
|
+
don't indent this.
|
67
|
+
```
|
68
|
+
|
69
|
+
## 空行
|
70
|
+
|
71
|
+
全角スペースだけの段落を入れる方法もありますが、Re:VIEW の `//blankline` を入れるには、`\` を行末とその次の行の2回記述します。
|
72
|
+
|
73
|
+
```
|
74
|
+
Blankline below.\
|
75
|
+
\
|
76
|
+
Blankline above.
|
77
|
+
↓
|
78
|
+
Blankline below.
|
79
|
+
|
80
|
+
//blankline
|
81
|
+
|
82
|
+
Blankline above.
|
83
|
+
```
|
84
|
+
|
85
|
+
## 見出し
|
86
|
+
Setext 形式・ATX 形式は問いません。見出しレベル 7 以上は、re ファイルに変換することはできますが、Re:VIEW のコンパイル時にエラーになります。
|
87
|
+
|
88
|
+
見出しのレベルは `--shiftheading` オプションで増減できます (たとえば `--shiftheading=1` とすると、`#` が `==`、`##` が `===`、… と出力時に1つレベルが多くなります)。
|
89
|
+
|
90
|
+
見出し識別子を指定し、Re:VIEW の見出しオプションまたは ID にすることもできます。
|
91
|
+
|
92
|
+
```
|
93
|
+
## H
|
94
|
+
↓
|
95
|
+
== H
|
96
|
+
|
97
|
+
####### H
|
98
|
+
↓
|
99
|
+
======= H ←ただし Re:VIEW ではエラー
|
100
|
+
|
101
|
+
## H {-} または ## H {.unnumbered}
|
102
|
+
↓
|
103
|
+
==[nonum] H
|
104
|
+
|
105
|
+
## H {#foo}
|
106
|
+
↓
|
107
|
+
=={foo} H
|
108
|
+
|
109
|
+
## H {#foo -}
|
110
|
+
↓
|
111
|
+
==[nonum]{foo} H
|
112
|
+
|
113
|
+
## H {.column}
|
114
|
+
↓
|
115
|
+
==[column] H
|
116
|
+
|
117
|
+
## H {.nodisp}
|
118
|
+
↓
|
119
|
+
==[nodisp] H
|
120
|
+
|
121
|
+
## H {.notoc}
|
122
|
+
↓
|
123
|
+
==[notoc] H
|
124
|
+
|
125
|
+
## H {.unnumbered .unlisted}
|
126
|
+
↓
|
127
|
+
==[notoc] H
|
128
|
+
```
|
129
|
+
|
130
|
+
## 引用
|
131
|
+
|
132
|
+
'>' による引用は Re:VIEW の `//quote` になります。Re:VIEW の `//quote` は段落のみをサポートしているため、段落以外の要素 (箇条書きなど) は期待の出力になりません。
|
133
|
+
|
134
|
+
また、Markdown では `> ` を連ねることで引用を入れ子にすることができますが、Re:VIEW ではこの文法をサポートしていないため、Re:VIEW のコンパイル時にエラーになります。
|
135
|
+
|
136
|
+
```
|
137
|
+
> This is a block quote. This
|
138
|
+
> paragraph has two lines.
|
139
|
+
>
|
140
|
+
> 1. This is a list inside a block quote.
|
141
|
+
> 2. Second item.
|
142
|
+
>
|
143
|
+
> > A block quote within a block quote
|
144
|
+
|
145
|
+
↓
|
146
|
+
|
147
|
+
//quote{
|
148
|
+
This is a block quote. Thisparagraph has two lines.
|
149
|
+
|
150
|
+
1. This is a list inside a block quote. ←箇条書きは実際には機能しない
|
151
|
+
2. Second item.
|
152
|
+
|
153
|
+
//quote{ ← 入れ子はエラーになる
|
154
|
+
A block quote within a block quote
|
155
|
+
//}
|
156
|
+
//}
|
157
|
+
```
|
158
|
+
|
159
|
+
## 文字どおりのブロック (コードブロック)
|
160
|
+
|
161
|
+
インデントされたコードブロック、囲いコードブロックともに利用できます。Markdown 側に付けたオプションの一部は解析されます。
|
162
|
+
|
163
|
+
- `caption="キャプション"` を付けたときには、キャプション・採番付きコードリスト (`//list`) になります。`caption` がない場合、採番なしコードリスト (`//emlist`) になります。
|
164
|
+
- `caption` があるときのみ、`#ID` は採番付きコードリストの ID に使われます。ID 指定がないときには list1, list2, ... と自動で振られます。`caption` がないときには `#ID` は単に無視されます。
|
165
|
+
- `.numberLines`・`.number-lines`・`.num` のいずれかを付けると、行番号付きになります (キャプションがなければ `//emlistnum`、キャプションがあれば `//listnum`)。`startFrom="番号"`・`start-from="番号"`・`firstlinenum="番号"` のいずれかで開始行番号を指定できます (`//fistlinenum` に変換されます)。
|
166
|
+
- `.em` を付けると、`caption` があっても `//emlist` または `//emlistnum` を強制し、キャプション付き採番なしコードリストとします。`#ID` は無視されます。
|
167
|
+
- `.cmd` を付けると `//cmd` コードリスト、`.source` を付けると `//source` コードリストになります。
|
168
|
+
- それ以外のクラス名は、ハイライト言語と見なします。
|
169
|
+
|
170
|
+
```
|
171
|
+
~~~
|
172
|
+
if (a > 3) {
|
173
|
+
moveShip(5 * gravity, DOWN);
|
174
|
+
}
|
175
|
+
~~~
|
176
|
+
↓
|
177
|
+
//emlist{
|
178
|
+
if (a > 3) {
|
179
|
+
moveShip(5 * gravity, DOWN);
|
180
|
+
}
|
181
|
+
//}
|
182
|
+
|
183
|
+
~~~ {#mycode .haskell .numberLines startFrom="100"}
|
184
|
+
qsort [] = []
|
185
|
+
~~~
|
186
|
+
↓
|
187
|
+
//firstlinenum[100]
|
188
|
+
//emlistnum[][haskell]{
|
189
|
+
qsort [] = []
|
190
|
+
//}
|
191
|
+
|
192
|
+
~~~haskell
|
193
|
+
qsort [] = []
|
194
|
+
~~~
|
195
|
+
↓
|
196
|
+
//emlist[][haskell]{
|
197
|
+
qsort [] = []
|
198
|
+
//}
|
199
|
+
|
200
|
+
~~~ {caption="QSORT"}
|
201
|
+
qsort [] = []
|
202
|
+
~~~
|
203
|
+
↓
|
204
|
+
//list[list1][QSORT]{
|
205
|
+
qsort [] = []
|
206
|
+
//}
|
207
|
+
|
208
|
+
~~~ {caption="QSORT" #foo .numberLines}
|
209
|
+
qsort [] = []
|
210
|
+
~~~
|
211
|
+
↓
|
212
|
+
//listnum[foo][QSORT]{
|
213
|
+
qsort [] = []
|
214
|
+
//}
|
215
|
+
|
216
|
+
~~~ {caption="QSORT" #ignoredid .em .haskell}
|
217
|
+
qsort [] = []
|
218
|
+
~~~
|
219
|
+
↓
|
220
|
+
//emlist[QSORT][haskell]{
|
221
|
+
qsort [] = []
|
222
|
+
//}
|
223
|
+
```
|
224
|
+
|
225
|
+
## ラインブロック
|
226
|
+
|
227
|
+
Re:VIEW にはラインブロックに相当するちょうどよいものがありません。コードリストに類似する `//source` に変換するようにしています。
|
228
|
+
|
229
|
+
```
|
230
|
+
| The Right Honorable Most Venerable and Righteous Samuel L.
|
231
|
+
Constable, Jr.
|
232
|
+
| 200 Main St.
|
233
|
+
| Berkeley, CA 94718
|
234
|
+
↓
|
235
|
+
//source{
|
236
|
+
The Right Honorable Most Venerable and Righteous Samuel L. Constable, Jr.
|
237
|
+
200 Main St.
|
238
|
+
Berkeley, CA 94718
|
239
|
+
//}
|
240
|
+
```
|
241
|
+
|
242
|
+
## リスト(箇条書き)
|
243
|
+
|
244
|
+
- Markdown での空行を項目の間に挟む「ゆるいリスト」は無視され、継続した箇条書きになります。
|
245
|
+
- 改行でテキストを継続することは、「怠惰な記法」を含めて可能ですが、段落と同様、自然言語上の意味を見ずに前後のスペースは削除されます。
|
246
|
+
- 箇条書き内での強制改行は行末の `\` で表現できます。
|
247
|
+
- 「箇条書きの子要素」は `//beginchild`・`//endchild` で囲まれて表現されます。
|
248
|
+
|
249
|
+
### ビュレット (ナカグロ) 箇条書き
|
250
|
+
|
251
|
+
- *, -, + いずれも問いません。
|
252
|
+
- `- [ ]` のタスクリストは、「 * ☐」という□付き箇条書きになります。
|
253
|
+
|
254
|
+
### 数字付き箇条書き
|
255
|
+
|
256
|
+
Markdown では指定の順序数値を無視しますが、pandoc2review では最初の数値をもとに採番します。
|
257
|
+
|
258
|
+
```
|
259
|
+
1. one ←Markdown
|
260
|
+
2. two
|
261
|
+
↓
|
262
|
+
1. one ←Re:VIEW
|
263
|
+
2. two
|
264
|
+
|
265
|
+
2. one ←Markdown
|
266
|
+
1. two
|
267
|
+
↓
|
268
|
+
2. one ←Re:VIEW
|
269
|
+
3. two
|
270
|
+
```
|
271
|
+
|
272
|
+
`#.` の数字付き箇条書きも機能します。
|
273
|
+
|
274
|
+
単純な数字付き箇条書きの入れ子も可能です。
|
275
|
+
|
276
|
+
```
|
277
|
+
#. one
|
278
|
+
#. one-one
|
279
|
+
#. one-two
|
280
|
+
#. two
|
281
|
+
↓
|
282
|
+
1. one
|
283
|
+
|
284
|
+
//beginchild
|
285
|
+
|
286
|
+
1. one-one
|
287
|
+
2. one-two
|
288
|
+
|
289
|
+
//endchild
|
290
|
+
2. two
|
291
|
+
```
|
292
|
+
|
293
|
+
### 定義リスト
|
294
|
+
|
295
|
+
定義リストも、子要素を含めて表現できます。
|
296
|
+
|
297
|
+
```
|
298
|
+
Term 1
|
299
|
+
|
300
|
+
: Definition 1
|
301
|
+
|
302
|
+
Term 2 with *inline markup*
|
303
|
+
|
304
|
+
: Definition 2
|
305
|
+
|
306
|
+
{ some code, part of Definition 2 }
|
307
|
+
|
308
|
+
Third paragraph of definition 2.
|
309
|
+
|
310
|
+
↓
|
311
|
+
|
312
|
+
: Term 1
|
313
|
+
Definition 1
|
314
|
+
: Term 2 with @<i>{inline markup}
|
315
|
+
Definition 2
|
316
|
+
|
317
|
+
//beginchild
|
318
|
+
|
319
|
+
//emlist{
|
320
|
+
{ some code, part of Definition 2 }
|
321
|
+
//}
|
322
|
+
|
323
|
+
Third paragraph of definition 2.
|
324
|
+
|
325
|
+
//endchild
|
326
|
+
```
|
327
|
+
|
328
|
+
## 水平線
|
329
|
+
|
330
|
+
`//hr` に変換されます。実際のところ、紙面において水平線を使うことはあまりありません。
|
331
|
+
|
332
|
+
## 表
|
333
|
+
|
334
|
+
- シンプルテーブル、グリッドテーブル、パイプテーブルは利用できます。マルチラインテーブルは Re:VIEW の表現に合わず、期待の結果を得られない可能性が高いです。
|
335
|
+
- キャプションがあるときには、採番付きの表になります。このときの ID は table1、table2、…と自動で入ります。
|
336
|
+
- Re:VIEW は表内でブロック命令を利用できません。pandoc2review での変換結果も壊れたものになります (★)。
|
337
|
+
- 表の列位置合わせは、中央合わせ・右合わせになっているときには `@<dtp>{table align=center}`、`@<dtp>{table align=right}` という補助情報がそのセルに付きます。ただし、これを実際に Re:VIEW で利用して表現するには、Re:VIEW 側で表現形式に応じた対応が別途必要です。
|
338
|
+
|
339
|
+
## メタデータブロック
|
340
|
+
|
341
|
+
- Markdown ファイル内にメタ情報を記述した場合、メタ情報として扱われず、そのまま文字列として評価されます (表になってしまうでしょう)。
|
342
|
+
- YAML ファイルを別途用意し、これを Markdown ファイルとともに pandoc2review コマンドの引数に指定してメタデータを渡すことは可能です。
|
343
|
+
|
344
|
+
## インライン修飾
|
345
|
+
以下のように対応します。
|
346
|
+
|
347
|
+
- `*`、`_`: `@<i>` (斜体)
|
348
|
+
- `**`、`__`: `@<b>` (太字)
|
349
|
+
- `***`、`___`: `@<strong>` (太字。Markdown では太字+斜体)
|
350
|
+
- `~~`: `@<del>` (取り消し線)
|
351
|
+
- `^`: `@<sup>` (上付き)
|
352
|
+
- `~`: `@<sub>` (下付き)
|
353
|
+
- バッククォート: `@<tt>` (等幅コード文字) 属性は無視されます。
|
354
|
+
|
355
|
+
スモールキャピタルは `◆→SMALLCAPS:文字←◆` という形に変換されます。
|
356
|
+
|
357
|
+
## 数式
|
358
|
+
|
359
|
+
扱えるのは TeX 数式形式のみです。
|
360
|
+
|
361
|
+
`$〜$` でインライン表現、`$$〜$$` で独立式表現の数式になります。ただし、単純に独立式表現を置いたときには、表現上独立式に見せるために `\displaystyle{}` を付けるだけです。
|
362
|
+
|
363
|
+
```
|
364
|
+
inline $e^{\pi i}= -1$
|
365
|
+
|
366
|
+
block $$e^{\pi i}= -1$$
|
367
|
+
↓
|
368
|
+
inline @<m>$e^{\pi i}= -1$
|
369
|
+
|
370
|
+
block @<m>$\\displaystyle{}e^{pi i}= -1$
|
371
|
+
```
|
372
|
+
|
373
|
+
Re:VIEW の独立式用の `//texequation` ブロックにするには、`$$〜$$` の数式を Div で囲みます。クラスには `.texequation` を指定しますが、数式のみ入っている Div 囲みは `.texequation` と見なされるので省略することもできます。
|
374
|
+
|
375
|
+
|
376
|
+
```
|
377
|
+
:::{.texequation #eq1 caption="Sample equation"}
|
378
|
+
$$e^{\pi i}= -1$$
|
379
|
+
:::
|
380
|
+
|
381
|
+
↓
|
382
|
+
|
383
|
+
//texequation[eq1][Sample equation]{
|
384
|
+
e^{\pi i}= -1
|
385
|
+
//}
|
386
|
+
|
387
|
+
:::{#eq1 caption="Sample equation"} ←クラス名省略
|
388
|
+
$$e^{\pi i}= -1$$
|
389
|
+
:::
|
390
|
+
|
391
|
+
↓
|
392
|
+
|
393
|
+
//texequation[eq1][Sample equation]{
|
394
|
+
e^{\pi i}= -1
|
395
|
+
//}
|
396
|
+
```
|
397
|
+
|
398
|
+
TeX の追加マクロは、利用する Re:VIEW プロジェクトフォルダの sty/review-custom.sty に記述することで利用できます。
|
399
|
+
|
400
|
+
## リンク
|
401
|
+
|
402
|
+
自動リンク、インラインリンクは `@<href>` に変換されます。
|
403
|
+
|
404
|
+
```
|
405
|
+
<https://google.com>,
|
406
|
+
<sam@green.eggs.ham>
|
407
|
+
|
408
|
+
This is an [inline link](/url), and here's [one with
|
409
|
+
a title](https://fsf.org "click here for a good time!").
|
410
|
+
|
411
|
+
[Write me!](mailto:sam@green.eggs.ham)
|
412
|
+
↓
|
413
|
+
@<href>{https://google.com},@<href>{mailto:sam@green.eggs.ham,sam@green.eggs.ham}
|
414
|
+
|
415
|
+
This is an @<href>{/url,inline link}, and here's @<href>{https://fsf.org,one witha title}.
|
416
|
+
|
417
|
+
@<href>{mailto:sam@green.eggs.ham,Write me!}
|
418
|
+
```
|
419
|
+
|
420
|
+
参照リンクも動作します。
|
421
|
+
|
422
|
+
```
|
423
|
+
[my label]: https://fsf.org (The free software foundation)
|
424
|
+
|
425
|
+
see [my label].
|
426
|
+
↓
|
427
|
+
see @<href>{https://fsf.org,my label}.
|
428
|
+
```
|
429
|
+
|
430
|
+
章・節・項といった見出しへの内部リンクも `@<href>` になってしまうので、手動で `@<chap>` や `@<hd>` に変更する必要があります。
|
431
|
+
|
432
|
+
## 画像
|
433
|
+
|
434
|
+
画像ファイルは拡張子を除いたものがそのまま Re:VIEW での ID となります。画像ファイルは images フォルダに配置する必要があります。たとえば Markdown ファイル内で `` としていたときには、`laune` が ID になります。
|
435
|
+
|
436
|
+
キャプションがあるときには `//image`、ないときには `//indepimage` に変換されます。ファイル名の後に付けることができる代替テキスト (リンクテキスト) は Re:VIEW では対応しませんが、`//image`、`//indepimage` ブロック内のコメントとなります。
|
437
|
+
|
438
|
+
ファイル名内のスペース文字は、「%20」という代替名に変換されます (★)。このため Re:VIEW のコンパイル時にはファイルと一致しないため、発見できない警告が出るでしょう。いずれにせよ、Re:VIEW は空白の混じったファイル名を推奨していません。
|
439
|
+
|
440
|
+
```
|
441
|
+

|
442
|
+
↓
|
443
|
+
//indepimage[lalune]{
|
444
|
+
//}
|
445
|
+
|
446
|
+

|
447
|
+
↓
|
448
|
+
//image[lalune][La Lune]{
|
449
|
+
//}
|
450
|
+
|
451
|
+

|
452
|
+
↓
|
453
|
+
//image[lalune][La Lune]{
|
454
|
+
Le Voyage dans la Lune
|
455
|
+
//}
|
456
|
+
```
|
457
|
+
|
458
|
+
`width`、`height`、`scale` の属性が付けられているときには、`scale` パラメータに変換されます。
|
459
|
+
|
460
|
+
```
|
461
|
+
{scale=0.5}
|
462
|
+
↓
|
463
|
+
//indepimage[lalune][scale=0.5]{
|
464
|
+
//}
|
465
|
+
|
466
|
+
{width=50%}
|
467
|
+
↓
|
468
|
+
//image[lalune][La Lune][scale=0.5]{
|
469
|
+
//}
|
470
|
+
|
471
|
+
{height=50%}
|
472
|
+
↓
|
473
|
+
//image[lalune][La Lune][scale=0.5]{
|
474
|
+
Le Voyage dans la Lune
|
475
|
+
//}
|
476
|
+
```
|
477
|
+
|
478
|
+
前また後に文字があるときには、インライン画像と見なし、`@<icon>` に変換します。キャプションや代替テキストは無視されます。
|
479
|
+
|
480
|
+
```
|
481
|
+
This is  image.
|
482
|
+
↓
|
483
|
+
This is @<icon>{lalune} image.
|
484
|
+
```
|
485
|
+
|
486
|
+
## Div と Span
|
487
|
+
|
488
|
+
HTML の生タグであるブロック `<div>`、インライン `<span>` の属性情報を使って Re:VIEW の命令に変換できます。
|
489
|
+
|
490
|
+
### Div
|
491
|
+
`<div>` HTML タグを使い、`class` 属性で Re:VIEW のブロック命令を指定できます。
|
492
|
+
|
493
|
+
挙動としてはシンプルで、`class` 属性の値をそのままブロック命令にします。Markdown のインライン命令・ブロック命令などは変換された状態で入ります。
|
494
|
+
|
495
|
+
|
496
|
+
```
|
497
|
+
<div class="note">
|
498
|
+
**abc**
|
499
|
+
|
500
|
+
def
|
501
|
+
</div>
|
502
|
+
↓
|
503
|
+
//note{
|
504
|
+
@<b>{abc}
|
505
|
+
|
506
|
+
def
|
507
|
+
//}
|
508
|
+
```
|
509
|
+
|
510
|
+
`caption` 属性でキャプションを付けることができます。キャプションには Markdown のインライン命令を指定できます。
|
511
|
+
|
512
|
+
```
|
513
|
+
<div class="note" caption="see **abc**">
|
514
|
+
**abc**
|
515
|
+
|
516
|
+
def
|
517
|
+
</div>
|
518
|
+
↓
|
519
|
+
//note[see @<b>{abc}]{
|
520
|
+
|
521
|
+
@<b>{abc}
|
522
|
+
|
523
|
+
def
|
524
|
+
|
525
|
+
//}
|
526
|
+
```
|
527
|
+
|
528
|
+
- 単一行ブロック命令の //tsize, //bibpaper は指定できません(★)。 Markdown ファイル上にそのまま Re:VIEW と同じ記法で書いておくという手もあります。
|
529
|
+
|
530
|
+
```
|
531
|
+
//tsize[|latex|30,30,20]
|
532
|
+
|
533
|
+
|header1|header2|header3|
|
534
|
+
|:--|--:|:--:|
|
535
|
+
|align left|align right|align center|
|
536
|
+
|a|b|c|
|
537
|
+
|
538
|
+
↓
|
539
|
+
|
540
|
+
//tsize[|latex|30,30,20]
|
541
|
+
|
542
|
+
//table{
|
543
|
+
header1 @<dtp>{table align=right}header2 @<dtp>{table align=center}header3
|
544
|
+
--------------
|
545
|
+
align left @<dtp>{table align=right}align right @<dtp>{table align=center}align center
|
546
|
+
a @<dtp>{table align=right}b @<dtp>{table align=center}c
|
547
|
+
//}
|
548
|
+
```
|
549
|
+
|
550
|
+
### Span
|
551
|
+
`<span>` HTML タグを使い、`class` 属性で Re:VIEW のインライン命令を指定できます。以下に対応しています。
|
552
|
+
|
553
|
+
bou ami u b i strong em tt tti ttb code tcy chap title chapref list img table eq hd column uchar icon m w wb idx hidx balloon
|
554
|
+
|
555
|
+
```
|
556
|
+
<span class="hidx">index</span>
|
557
|
+
↓
|
558
|
+
@<hidx>{index}
|
559
|
+
```
|
560
|
+
|
561
|
+
キーワード (`kw`), ルビ (`ruby`) は Re:VIEW では第2引数があるので、属性で指定します。
|
562
|
+
|
563
|
+
```
|
564
|
+
<span kw="supplement">abc</span>
|
565
|
+
↓
|
566
|
+
@<kw>{abc,supplement}
|
567
|
+
|
568
|
+
<span ruby="パン">麺麭</span>
|
569
|
+
↓
|
570
|
+
@<ruby>{麺麭,パン}
|
571
|
+
```
|
572
|
+
|
573
|
+
未知の class 属性は単に無視されます。
|
574
|
+
|
575
|
+
```
|
576
|
+
<span class="chap unknown">abc</span>
|
577
|
+
↓
|
578
|
+
@<chap>{abc}
|
579
|
+
```
|
580
|
+
|
581
|
+
## 脚注
|
582
|
+
|
583
|
+
脚注の参照箇所は `@<fn>` となり、fn1、fn2、…と採番されます。
|
584
|
+
|
585
|
+
脚注内容はドキュメント末尾に置かれます。
|
586
|
+
|
587
|
+
Re:VIEW における `//footnote` は1行で形成されることを想定しており、複数行・要素からなる脚注はそのままでは表現できません。そのため、そのような脚注は Re:VIEW コンパイル時にエラーになります。
|
588
|
+
|
589
|
+
```
|
590
|
+
Here is a footnote reference,[^1] and another.[^longnote]
|
591
|
+
|
592
|
+
[^1]: Here is the footnote.
|
593
|
+
|
594
|
+
[^longnote]: Here's one with multiple blocks.
|
595
|
+
|
596
|
+
Subsequent paragraphs are indented to show that they
|
597
|
+
belong to the previous footnote.
|
598
|
+
|
599
|
+
{ some.code }
|
600
|
+
|
601
|
+
The whole paragraph can be indented, or just the first
|
602
|
+
line. In this way, multi-paragraph footnotes work like
|
603
|
+
multi-paragraph list items.
|
604
|
+
|
605
|
+
This paragraph won't be part of the note, because it
|
606
|
+
isn't indented.
|
607
|
+
|
608
|
+
↓
|
609
|
+
|
610
|
+
Here is a footnote reference,@<fn>{fn1} and another.@<fn>{fn2}
|
611
|
+
|
612
|
+
This paragraph won't be part of the note, because itisn't indented.
|
613
|
+
|
614
|
+
//footnote[fn1][Here is the footnote.] ←脚注はドキュメント末尾に置かれる
|
615
|
+
//footnote[fn2][Here's one with multiple blocks. ←複数行からなる脚注はRe:VIEWコンパイル時にエラー
|
616
|
+
|
617
|
+
Subsequent paragraphs are indented to show that theybelong to the previous footnote.
|
618
|
+
|
619
|
+
//emlist{
|
620
|
+
{ some.code }
|
621
|
+
//}
|
622
|
+
|
623
|
+
The whole paragraph can be indented, or just the firstline. In this way, multi-paragraph footnotes work likemulti-paragraph list items.]
|
624
|
+
```
|
625
|
+
|
626
|
+
## 引用文献
|
627
|
+
|
628
|
+
`@` は Twitter ID などの地の文で使うことのほうが一般的であると思われるため、pandoc2review では Citation (引用文献) 機能を使いません。リテラルに `@` を出力します。(★)
|
629
|
+
|
630
|
+
## 生の HTML/LaTeX
|
631
|
+
|
632
|
+
Markdown において Div, Span 以外の HTML タグは生のデータとして扱われます。HTML タグは変換時に `//embed[html]{ 〜 //}` で囲まれます。
|
633
|
+
|
634
|
+
```
|
635
|
+
<table>
|
636
|
+
<thead><tr><th colspan="2">TABLEHEAD</th></tr></thead>
|
637
|
+
<tbody><tr><td>Cell1</td><td>Cell2</td></tbody>
|
638
|
+
</table>
|
639
|
+
|
640
|
+
↓
|
641
|
+
|
642
|
+
//embed[html]{
|
643
|
+
<table>
|
644
|
+
//}
|
645
|
+
|
646
|
+
//embed[html]{
|
647
|
+
<thead>
|
648
|
+
//}
|
649
|
+
|
650
|
+
//embed[html]{
|
651
|
+
<tr>
|
652
|
+
//}
|
653
|
+
|
654
|
+
//embed[html]{
|
655
|
+
<th colspan="2">
|
656
|
+
//}
|
657
|
+
|
658
|
+
TABLEHEAD
|
659
|
+
|
660
|
+
//embed[html]{
|
661
|
+
</th>
|
662
|
+
//}
|
663
|
+
|
664
|
+
//embed[html]{
|
665
|
+
</tr>
|
666
|
+
//}
|
667
|
+
|
668
|
+
//embed[html]{
|
669
|
+
</thead>
|
670
|
+
//}
|
671
|
+
|
672
|
+
//embed[html]{
|
673
|
+
<tbody>
|
674
|
+
//}
|
675
|
+
|
676
|
+
//embed[html]{
|
677
|
+
<tr>
|
678
|
+
//}
|
679
|
+
|
680
|
+
//embed[html]{
|
681
|
+
<td>
|
682
|
+
//}
|
683
|
+
|
684
|
+
Cell1
|
685
|
+
|
686
|
+
//embed[html]{
|
687
|
+
</td>
|
688
|
+
//}
|
689
|
+
|
690
|
+
//embed[html]{
|
691
|
+
<td>
|
692
|
+
//}
|
693
|
+
|
694
|
+
Cell2
|
695
|
+
|
696
|
+
//embed[html]{
|
697
|
+
</td>
|
698
|
+
//}
|
699
|
+
|
700
|
+
//embed[html]{
|
701
|
+
</tbody>
|
702
|
+
//}
|
703
|
+
|
704
|
+
//embed[html]{
|
705
|
+
</table>
|
706
|
+
```
|
707
|
+
|
708
|
+
行ではなくタグ単位で囲まれ、普通の文字列はそのまま表現されることに注意してください。
|
709
|
+
|
710
|
+
`--hideraw` オプションを付けると、`//embed` を使わず空行になります。
|
711
|
+
|
712
|
+
LaTeX コードと解釈されるところは `@<embed>$|latex|〜$` のインライン命令になります。
|
713
|
+
|
714
|
+
```
|
715
|
+
$$ \\alpha = \\beta\\label{eqone}$$
|
716
|
+
Refer equation (\\ref{eqone}).
|
717
|
+
|
718
|
+
↓
|
719
|
+
|
720
|
+
@<m>$\\displaystyle{} \\alpha = \\beta\\label{eqone}$ Refer equation (@<embed>$|latex|\\ref{eqone}$).
|
721
|
+
```
|