Skip to content

Note for review format spec

Masayoshi Takahashi edited this page Aug 19, 2014 · 10 revisions

Re:VIEW記法について整理するためのメモ

記法の種類

  • 段落(本文)

  • 見出し(章・節・項・段・小段)※5レベルまで←段の下の正式な呼称が不明

  • コラム(見出しの変形)※基本的に正式サポートはcolumnのみ

  • 各種リスト(箇条書き、番号つき箇条書き、用語リスト)※ただし、用語リストは構文および動作がわかりにくいので非推奨

  • 各種タグ(ブロックつき・ブロックなし)

  • 各種インライン

  • 著者用タグ(プリプロセッサ)

記法の用法

  • ブロックの入れ子は不可

  • インラインの入れ子は不可

  • ブロック内でのインラインの使用は可(listブロック、cmdブロックでも可)

  • インラインのエスケープには@<raw>または//rawを使う

  • ブロックのエスケープは困難なので、行頭ではないところに書くか、全角//にしておいて後で置換するなどの対処をユーザ自身にしてもらう

記法の課題(非互換)

  • ブロック内での段落の使用は許すか?

    • 現状ではLATEXBuilderは可、HTMLBuilderは不可

    • quoteブロック、leadブロックでは使えるようにしたい ※後方互換性を破壊する、ブロック名によって処理が違う(listとleadでの違いなど)のがややこしいといった問題あり。

生成されるフォーマットについて

活発にメンテナンスされているのは以下の3つ。

  • HTML (レイアウトを使用しない場合のHTMLのバージョンはXHTML1.1) ※iPadのiBooksをリファレンスプラットフォームに。変なところはあるものの、現時点では一番まっとうなビューア

  • LaTeX (dvipdfmxでPDFに変換)

  • IDGXML (Adobe InDesign CS2以降向けXML形式)

それなりにメンテナンスされているのは以下。

  • Markdown (そこそこ使える。要望次第では真面目にサポートするかも)

  • INAO記法 ※最近はmd2inaoを使うのが多そうなので将来どうなるかは未定

  • TOPBuilder記法 ※ほぼプレインテキスト化したい場合の形式。HTML/IDGXMLに遅れてのサポート

  • (EWB記法←サポートする・できる?)

    • 捨てる予定だったが、非サポートながらもコードだけは残っている(テストはない)

利用できるタグ記法

全フォーマットで原則サポートしている(べき)基本記法と、それ以外の拡張記法に分ける。基本はHTMLBuilder、IDGXMLBuider、LATEXBuilderで動作するようにする(少なくともエラーは起きないようにする)。

基本

  • “=“〜“=====“

  • “*“、“1.“、“:“

  • lead(read)

  • list

  • emlist

  • cmd

  • table

  • quote

  • image

  • footnote

  • flushright

  • source

  • listnum

  • emlistnum

  • “=[nonum]“〜“=====“ 番号が標準で付くレベルでの番号なし見出し

  • raw

拡張

準基本

基本化への開発を重点的に進める。

  • noindent ※HTML非対応 ←IDGXMLでは頻度が高く、HTMLでもCSSで対処できるので、基本に近い拡張

  • box(insn) ※LaTeX非対応

  • indepimage ※LaTeX非対応

  • label ※HTMLで<a id=“…” />で対応。hrefをサポートするならこの基本化は必須

  • tsize ※LaTeX非対応←いずれほしくなる気もする。mm単位

基本化の難しそうなもの・時間のかかりそうなもの

  • linebreak ※HTMLで<br/>で対応 ←IDGXMLで処理しがたいのでできるだけ避けたい

  • pagebreak ※HTMLで<br class=“pagebreak” />で対応 ←IDGXMLで処理しがたいのでできるだけ避けたい

  • bibpaper ※LaTeX非対応

  • doorquote ※LaTeX非対応

  • talk ※LaTeX非対応

  • address ※LaTeX非対応

  • blockquote ※LaTeX非対応←quoteとの違いは?

  • bpo ※LaTeX非対応

  • note,memo,tip,info,planning,best,important,security,caution,notice,point,shoot,term,link,practice,reference,expert ※LaTeX非対応←一部は書籍固有すぎるが、いくかは基本化していきたいところ

  • numberlessimage ※LaTeX非対応

  • hr ※LaTeX非対応

  • parasep ※HTMLでは<br/>で対応

  • (comment) ※ ←//commmentはできるだけ避けたい。変換後データにコメントを入れたいという場面は少ないはずなので、#@#の使用を強く推奨

利用できるインライン記法

こちらも基本記法と拡張記法に分ける。

基本

  • chapref

  • chap

  • title

  • img

  • list

  • table

  • fn

  • kw

  • b

  • href

  • raw

  • dtp ※HTML、IDGXMLで実装。LaTeXでは単に無視する

  • code ※LaTeX対応済

  • tt ※HTML、IDGXML、LaTeX対応済み

  • i ※HTMLではで、LaTeXではindexだったがtextit{}に変更

  • sup ※LaTeX対応済み

  • sub ※LaTeX対応済み、ただしstyに難あり

  • em ※LaTeX対応済み(bと同じ)

  • strong ※LaTeX対応済み(b,emと同じ)

  • u ※HTMLで実装、LaTeXは要jumolineパッケージ

  • br

拡張

準基本

基本化への開発を重点的に進める。

  • ruby ※HTML、IDGXMLで実装

  • bou ※HTML非対応

  • ami ※LaTeX非対応、HTML、IDGXMLで実装

  • icon ※LaTeX非対応、HTML、IDGXMLで実装←文中に画像を入れたくなるケースは多そうなので、いずれ対応せざるを得ない

  • idx ※LaTeX非対応、HTML、IDGXMLで実装

  • hidx ※LaTeX非対応、HTML、IDGXMLで実装

  • uchar ※IDGXMLで実装。HTMLでも簡単に実装できそう。LaTeXではOTFパッケージ必要?

  • labelref ※IDGXMLで中途半端に実装

基本化の難しそうなもの・時間のかかりそうなもの

  • bib ※LaTeX非対応

  • hd ※LaTeX非対応

  • recipe ※LaTeX非対応

  • abbr ※LaTeX非対応

  • acronym ※LaTeX非対応

  • cite ※LaTeX非対応

  • kbd ※LaTeX非対応

  • q ※LaTeX非対応

  • samp ※LaTeX非対応

  • var ※LaTeX非対応

  • big ※LaTeX非対応

  • small ※LaTeX非対応

  • del ※LaTeX非対応

  • ins ※LaTeX非対応

  • tti ※LaTeX非対応、HTML、IDGXMLで実装

  • maru ※IDGXML実装

  • balloon ※IDGXML実装

  • keytop ※IDGXML実装

利用できるプリプロセッサ命令

こちらも基本記法と拡張記法に分ける。

基本

  • mapfile

  • maprange

  • mapoutput

拡張

準基本

基本化の難しそうなもの・時間のかかりそうなもの

  • warn

  • ok

  • require

  • provide

その他検討課題

  • PARTの正式サポート