pandoc2review 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/pandoc.yml +18 -0
  3. data/.gitignore +47 -0
  4. data/Gemfile +6 -0
  5. data/LICENSE +339 -0
  6. data/README.md +105 -0
  7. data/Rakefile +13 -0
  8. data/exe/pandoc2review +12 -0
  9. data/lib/pandoc2review.rb +99 -0
  10. data/lua/filters.lua +163 -0
  11. data/lua/review.lua +620 -0
  12. data/markdown-format.ja.md +721 -0
  13. data/pandoc2review.gemspec +29 -0
  14. data/samples/format.md +276 -0
  15. data/samples/reviewsample/.gitignore +154 -0
  16. data/samples/reviewsample/Gemfile +4 -0
  17. data/samples/reviewsample/Rakefile +3 -0
  18. data/samples/reviewsample/catalog.yml +10 -0
  19. data/samples/reviewsample/ch01.md +38 -0
  20. data/samples/reviewsample/ch02.re +3 -0
  21. data/samples/reviewsample/config-ebook.yml +6 -0
  22. data/samples/reviewsample/config.yml +20 -0
  23. data/samples/reviewsample/images/cover-a5.ai +5836 -16
  24. data/samples/reviewsample/images/cover.jpg +0 -0
  25. data/samples/reviewsample/images/pandoc2review.png +0 -0
  26. data/samples/reviewsample/lib/tasks/review.rake +128 -0
  27. data/samples/reviewsample/lib/tasks/z01_pandoc2review.rake +69 -0
  28. data/samples/reviewsample/sty/README.md +168 -0
  29. data/samples/reviewsample/sty/gentombow.sty +769 -0
  30. data/samples/reviewsample/sty/jsbook.cls +2072 -0
  31. data/samples/reviewsample/sty/jumoline.sty +310 -0
  32. data/samples/reviewsample/sty/plistings.sty +326 -0
  33. data/samples/reviewsample/sty/review-base.sty +530 -0
  34. data/samples/reviewsample/sty/review-custom.sty +1 -0
  35. data/samples/reviewsample/sty/review-jsbook.cls +503 -0
  36. data/samples/reviewsample/sty/review-style.sty +49 -0
  37. data/samples/reviewsample/sty/reviewmacro.sty +15 -0
  38. data/samples/reviewsample/style.css +494 -0
  39. 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 ファイル内で `![](images/laune.jpg)` としていたときには、`laune` が ID になります。
435
+
436
+ キャプションがあるときには `//image`、ないときには `//indepimage` に変換されます。ファイル名の後に付けることができる代替テキスト (リンクテキスト) は Re:VIEW では対応しませんが、`//image`、`//indepimage` ブロック内のコメントとなります。
437
+
438
+ ファイル名内のスペース文字は、「%20」という代替名に変換されます (★)。このため Re:VIEW のコンパイル時にはファイルと一致しないため、発見できない警告が出るでしょう。いずれにせよ、Re:VIEW は空白の混じったファイル名を推奨していません。
439
+
440
+ ```
441
+ ![](lalune.jpg)
442
+
443
+ //indepimage[lalune]{
444
+ //}
445
+
446
+ ![La Lune](lalune.jpg)
447
+
448
+ //image[lalune][La Lune]{
449
+ //}
450
+
451
+ ![La Lune](lalune.jpg "Le Voyage dans la Lune")
452
+
453
+ //image[lalune][La Lune]{
454
+ Le Voyage dans la Lune
455
+ //}
456
+ ```
457
+
458
+ `width`、`height`、`scale` の属性が付けられているときには、`scale` パラメータに変換されます。
459
+
460
+ ```
461
+ ![](images/lalune.jpg){scale=0.5}
462
+
463
+ //indepimage[lalune][scale=0.5]{
464
+ //}
465
+
466
+ ![La Lune](lalune.jpg){width=50%}
467
+
468
+ //image[lalune][La Lune][scale=0.5]{
469
+ //}
470
+
471
+ ![La Lune](lalune.jpg "Le Voyage dans la Lune"){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 ![](lalune.jpg) 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
+ ```