/doc/ptt/grammar.tt

In: style.css
D: { <code>
D: } </code>
D: << &lt;
D: >> &gt;
KW: テキスト,HTML,変換
H1: -qen tt 文書の文法 ( ver.4.2 )

#:<img src="/image/under-construction.gif" alt="under-construction">工事中

<a href="ptt.html">English page</a>

2016/07/05 改訂(ver.4.2)
2015/01/21 改訂(ver.4.1)
2014/08/27 改訂(ver.4.0)
2007/10/16 更新
2007/10/02 改訂(ver.3.1)
2007/09/23 改訂(ver.3.0)
2005/07/15 更新

N: この頁は tt 形式のファイルを変換して作成されています。<a href="grammar.tt">もとの tt 形式のファイル</a>
H2: 一般規則

- tt 形式のタグは行に付きます。タグは "{H1:}" のように、タグは行の開始位置から書き始め、"{:}" で終わります。
- 本文はワープロと同様に、改行は改行キーで、段落の区切りは1行以上の空行で示します。
- 文章の中に HTML のタグや特殊文字を埋め込めます。従って
<  >   &
は原則として HTML のタグや特殊文字として扱われます。但し<b> " < " や " > " や " & " の両側が空白の場合</b>には特殊文字としての扱いは受けず、ブラウザではそのまま見えます。(その際には両端の空白は削除されます)
- タブで始まる行は、そのまま表示されます。プログラムなどを説明するのに適しています。
- 文中の URL は原則として自動的にリンクとして処理されます。URL とは
http://ar.aichi-u.ac.jp/semi/
のようにインターネットでアドレスを指定する文字列です。自動処理されるのは "{http:}" で始まる文字列です。 "{http}" の他、 "{https}" や "{ftp}" が使えます。二重引用符で始まる場合にはリンクされません。
- "{ < }" で始まり "{ > }" で終わる行は Ptt の加工を受けません。Ptt の加工を受けるようにするには行頭を空白で始めるとよいでしょう。(Ptt 3.2 の新機能)
- HTML の以下のブロックタグの開始タグと閉じタグの間は Ptt の加工を受けません。(Ptt 3.2 の新機能)
script style pre textarea form select iframe

H3: HTML 属性
tt タグの中には、そのタグが使用している HTML タグの属性が指定できるものがあります。それらの形式は
属性名="値" 属性名="値" ...
のようなものです。「値」の中には空白を入れてはなりません。クラスの指定は一番左に書いて下さい。また、クラスに関しては簡単に値だけで指定できます。指定できるクラスはスタイルシートで定義されています。例えば画像であれば
P:!
I: cat.jpg width="400"
!
のように表示幅を指定できます。

値は必ず二重引用符で囲みます。どのような属性が指定できるかはタグ毎に異なります。広く使えるのはスタイルを示す style 、配置を示す align、表示幅を示す width です。スタイルシートでクラスが定義されていれば class も使えます。

スタイルに関する情報を HTML 属性で指定するのは可能ならば避けるのが好ましく、一般的な好みはスタイルシートを使用するのが良いでしょう。

H2: 表題
HTML の h1, h2, h3, h4 に対応して、以下のタグが定義されています。
H1 H2 H3 H4
"{H1:}" タグは必須です。 "{H1:}" に続く文字列はページのタイトルとして大きな文字で表示されるばかりではなく、ウィンドウの名前としてウィンドウの上部に表示されます。

目次は表題を基に自動的に作成されます。但し
- 表題が1個の時には作成されません
- 作成しないオプションもあります。このオプションは "{H1:}" のオプションとして与えます

H3: "{H1:}" のオプション
H1: [-lteqn] 表題
ここに [ &nbsp; ] の中はオプションです。

- l オプション: ロゴを表示しない
- t オプション: 目次を表示しない
- e オプション: 「目次」を「Contents」と表示する。また " < html > " の lang 属性を "en" にする。英文のウェブ頁の作成に使用する。
- q: 擬似二重引用符 {"} を &ldquo; と &rdquo; に変換する。つまり単に {"}二重引用符{"} と書くだけで、 "二重引用符" に変換される。このオブションを指定する時には {-e} オプションも指定して下さい。でないと、大抵のブラウザは奇麗な表示になりません。
- n オプション: セクションナンバーを付ける
-

なお、このページは "-eqn" オプションで作成されています。二重引用符の見え方はブラウザとフォントに依存しています。ブラウザで日本語文字フォントが指定されている場合には、&ldquo; と &rdquo; は(まるで全角文字フォントで代用したかのように)大きな空白が発生する場合があります。(Mac の場合、Safari や Opera は奇麗な二重引用符を表示しますが Camino や Firefox はダメです。それから Windows の場合 IE7.0 の二重引用符はため息が出る程ひどい!)

N: <b>追記:</b> 変な事(嫌な事)を見つけました。 " < html lang="en" > " が指定されている時には二重引用符が Camino や Firefox でも奇麗に表示されるのです。このページは lang 属性を "en" にしてありますが、日本語の文字には問題はありません。(文字コードが指定されているからね...) でも検索エンジンで英語のページに分類されるかも知れません。

H2: リスト
H3: リストのタグ
リストの表現には以下の3つのタグが準備されています。
DL:
- {UL:}
番号づけないリスト
- {OL:}
番号を付けるリスト
- {DL:}
定義付けリスト
-
リストの項目は "{- }" で開始します。すなわちマイナス記号で行を開始し、空白を1つ以上続けます。
"{UL:}" は省略できます。従って番号づけない項目は単に
P:!
- 項目1
- 項目2
-
!
のように、マイナス記号の後に空白文字を入れて行を開始します。
定義付けリストは
P:!
DL:
- 名前1
名前1の説明
- 名前2
名前2の説明
-
!
のように書きます。
H3: リスト項目の終了
リストの項目の終了は空行あるいは "{-}" だけの行、あるいはヘッダタグによって示されます。

NN:!
筆者の経験ではリスト項目の終了は常に "{-}" で示すよう習慣づけた方が良い。
!
H3: リストの "{-a}" オブション
リストに対して
-a
のオプションがある場合には最初のフィールドはリンクであると見なされます。すなわちこの場合には項目は
P:!
UL:-a
- パス1 説明文1
- パス2 説明文2
-
!
のように書きます。ここに{バス}とは「{説明文}」をクリックしたときに表示されるファイルへのパスです。{パス}は表示されません。

NN:!
<hr>
注意: リストの "{+a}" オブションは ptt 4.2 で廃止された。(不要なオプションだから)
<hr>
!

H2: 画像
画像の取り込みは "{I:}" タグまたは "{II:}" タグを使って行われます。
H3: 一つの画像
一つの画像の取り込みは
P:!
I: cat.jpg
!
のように書きます。この結果は
I: cat.jpg
のようになります。

パスに続けて表示の大きさを指定することもできます(注)。例えば
I: cat.jpg width=400
とすれば、横幅 400 ピクセルで表示します。

N: 注意: 表示の大きさを指定した場合には IE 6.0 は、正しく印刷してくれないようです。表示だけなら問題はありません。

画像はセンター配置です。画像に続けて画像の説明を書く事が多いでしょう。その場合には {C:} タグあるいは {CC:} タグを使ってセンター配置で説明するとよいでしょう。

一般的な形式は
I: 画像ファイル [表示サイズ] [その他のオプション]
- 画像ファイル名に続く「表示サイズ」は 80% や 640 のように、ウィンドウの横幅に対する割合または絶対的なピクセル値で与えます。指定が無ければそのまま表示します。
- 「その他のオプション」では img タグに与える事のできるオプションを HTML 形式による属性の規則で与えます。
-

H3: 画像配列
複数の画像を並べるには
P:!
II: 終了文字列 [オプション0]
表題1 画像ファイル1  [オプション1]
表題2 画像ファイル2  [オプション2]
...
終了文字列
!
画像配列はテーブルを用いて実現しています。

「オプション0」はテーブル全体に関するオプション(テーブル属性)で、実際には
width="90%"
のように、行幅に対する画像配列の幅を "%" で指定するのが唯一の使い方だろうと思われます。このオプションを省略すると、画像が1個の場合には 60% 、複数の場合には 90% が仮定されます。

「オプション1」、「オプション2」... はテーブルの個々の要素に対するオプションで、やはり実際には
width="30%"
のように、個々の画像幅の占める割合を "%" で指定するのが唯一の使い方だろうと思われます。 これらを省略すると均等分割として扱われます。

例えば
P:!!
II:!
リリー lily.jpg
アイリス iris.jpg
ポーチェラカ portyeraka.jpg
!
!!
で次のようになります。
II:!
リリー lily.jpg
アイリス iris.jpg
ポーチェラカ portyeraka.jpg
!

NN:!
<b>注意:</b>
IE6.0, IE7.0 では正しく表示されない。多分 IE5.0 も同様であろう。
IE には問題が多すぎる!

Win系 では Opera, Firefox は正しく表示される。
OSX では Safari, Firefox, Opera も OK

(2007/02/09)
!

理想的には画像の高さで自動調整してくれた方が良いのですが、HTML の仕様のなかにはそれを可能にするものは見当たりません。

クリックすれば別頁に大きく表示される。
なお、この写真のポーチェラカは変わり花である。

画像配列にはテーブルが使用されており、オプションは table の td タグに与える HTML の属性を指定できる。
例えば
P:!!
II:!
リリー lily.jpg width="30%"
アイリス iris.jpg  width="40%"
ポーチェラカ portyeraka.jpg width="20%"
!
!!

II:!
リリー lily.jpg width="30%"
アイリス iris.jpg  width="40%"
ポーチェラカ portyeraka.jpg width="20%"
!
となる。合計 100% になっている必要は無い。

表題に空白文字が含まれる場合には '(引用符) または "(二重引用符) で囲む。

H2: テーブル

H3: 簡単な例
初等的ではあるが、ありふれたテーブルから解説します。例えば
Ta:
名前 年齢 性別
alice 16 女
bob 20 男

を表示するには
P:!
Ta:
名前 年齢 性別
alice 16 女
bob 20 男

!
と書きます。テーブルの終了は空行で示されています。

この例では、テーブルはマトリックス形で、どのデータにも空白文字が含まれていません。最初の行は、項目の説明欄で太字になっています。各行の最初の項目は、行の説明で、やはり太字で表示されています。

上の例では空白文字がデータを区切っていました。それではデータに空白が含まれる場合にはどのように書けばよいのか。誰でも考える事でしょうが、データを区切る文字(区切り文字)を指定できれば解決できます。区切り文字を "{|}" として指定するには
P:!
Ta: |
名前 | 年齢 | 性別
alice | 16 | 女
bob | 20 | 男

!
のように、 "{Ta:}" に続いて "{|}" を書きます。

H3: 形式
テーブルの表現は単純形、すなわち、碁盤の目のような形のものを基礎にしています。tt 形式での記述は
P:!
Ta: 区切り記号  属性
Ca: テーブルの説明
項目名:書式  項目名:書式  項目名:書式
行説明  区切り記号 データ  区切り記号  データ
行説明  区切り記号  データ  区切り記号  データ

!
のようなものです。
区切り記号は項目名やデータを区切る記号で1文字で示します。省略すると空白文字が区切り記号として使用されます。「属性」には HTMLの table タグの属性を
Ta: !
Ca: HTML のテーブル属性の例
属性名 ! 値の例
{align} ! {right left center}
{width} ! {40%}

などで
Ta: align="right"
のように指定します。詳しくは HTML に関する解説書を見てください。

- HTML属性の指定が省略された場合には
align="center"
が使用されます。Ptt 3.1 では表のデザインは全てスタイルシートで行われます。
- テーブルの説明( "{C:}" の行)は省略できます。
- テーブルの説明は tt 形式第1版では "{Cap:}" になっていましたが、ptt でこの旧形式を使うと警告メッセージがでますが正しく処理されます。
- データを記述する行は空行で終わります。
-

項目名が全て省略された場合には、その行は表示されません。例えば
P:!
Ta: |
 |  |
alice | 16 | 女
bob | 20 | 男

!
と書くと
Ta: |
 |  |
alice | 16 | 女
bob | 20 | 男

となります。また項目の書式で "{-}" を指定するとその列は表示されません。例えば
P:!
Ta: |
 :- |  |
alice | 16 | 女
bob | 20 | 男

!
と書くと
Ta: |
 :- |  |
alice | 16 | 女
bob | 20 | 男

となります。

H3: 項目名の省略
一部の項目名が省略された場合には、その前の項目名が使用されます。例えば
P:!
Ta: |
:- | 2000 | | | 2010 | |
   | <b>名前</b> | <b>年齢</b> | <b>性別</b> | <b>名前</b> | <b>年齢</b> | <b>性別</b>
   | <b>alice</b> | 16 | 女 | <b>alice</b> | 26 | 女
   | <b>bob</b> | 20 | 男 | <b>bob</b> | 30 | 男

!

Ta: |
:- | 2000 | | | 2010 | |
   | <b>名前</b> | <b>年齢</b> | <b>性別</b> | <b>名前</b> | <b>年齢</b> | <b>性別</b>
   | <b>alice</b> | 16 | 女 | <b>alice</b> | 26 | 女
   | <b>bob</b> | 20 | 男 | <b>bob</b> | 30 | 男

となります。

この表をグローバルな視点で見ると、表の中に表が埋め込まれていると解釈できます。そのような見方からこの表を構成することもできます。後の「長い文字列定義」を参照して下さい。

H3: 書式
項目の書式は次のように指定できます。

Ta: | class=noborder width="70%" align="center"
 :<150 | :<70%
{項目名: < 表示幅} | データを左寄せで配置します
{項目名: > 表示幅} | データを右寄せで配置します
{項目名:表示幅} | データを中央に配置します
{項目名:-表示幅} | この項目の列は捨てられます(データを隠すのに便利です)

- 項目の書式は省略できます。その場合には、省略された列はセンター配置で、最小限の幅で表示されます。
- 表示幅は省略できます。その場合には、その列を表示するのに必要な最小限の幅がとられます。
- 表示幅で % が指定されていない場合にはピクセルが単位となります。
- 表示幅の数値に、相互に矛盾があった場合には、結果はブラウザに依存すると思われます。
- 項目の配置の指定が無い場合には中央配置になります。
-

ここに書いた書式の説明には実はテーブルが使用されており、このテーブルは次のように記述されています。
P:!
Ta: | class=noborder width="70%" align="center"
  :<150 | :<70%
項目名: < 表示幅 | データを左寄せで配置します
項目名: > 表示幅 | データを右寄せで配置します
項目名:表示幅 | データを中央に配置します
項目名:-表示幅 | この項目の列は捨てられます(データを隠すのに便利です)
!
<b>注意</b>
- Ptt 3.0 では border="0" でしたが Ptt3.1 でが指定法が変更されています。
- この例のように全ての列で項目名が無く、単に書式部分だけが書かれている場合にはテーブルの最初の行(項目名を書く行)が表示されません。このようなテーブルは、整形の目的で使用されます。
- 区切り記号が明示的に与えられているのは " < " や " > " の両隣に空白が含まれているからです。

H2: ブロック
H3: センター配置
行単位でセンター配置を指定する時の構文は
P:!
C: 文
!
です。
複数の行を纏めてセンター配置を指定する時の構文は
P:!
CC: 終了文字列
文1
文2
...
終了文字列
!
です。

H3: プログラムコード
プログラムコードを示すには、タブで書き始める方法の他に、
P:!
P: 終了文字列 [tab=n]
プログラムの内容
終了文字列
!
の形式を使用できます。この形式を使用すると、書かれた文字がそのまま表示され、背景に色が付けられます。(実現にはテーブルが使用されています)

タブサイズはオプションとして指定できます。省略されれば tab=8 が使用されます。

例えば次の C のプログラムコードを表示するには
P:!
#include <stdio.h>
main(){
printf("OK\n");
}
!
tt 形式では
P:*
P:!
#include <stdio.h>
main(){
printf("OK\n");
}
!
*
と書きます。(プログラムをそのまま Cut & Paste で持ってこれる事に注目しましょう)

H3: 注釈
注釈は
注釈の内容は右にインデントされて表示されます。例えば次のようにです。
NN:!
これは長い注釈の例です。長い注釈の中では
- リスト
- テーブル
- 画像
-
なども扱えます。例えば次の画像は長い注釈の中で扱われています。
I: under-construction.gif
でもこれはまだ新しい機能なので殆どディバッグされていません。
!

H4: 短い注釈
文や単語に注釈を1行で付けたい場合には
N: 注釈
の形式で表します。
H4: 長い注釈
文や単語に注釈を付けたい場合には
NN: 終了文字列
注釈
終了文字列
の形式で表します。

注釈は終了文字列またはヘッダによって終了します。

NN:!
<hr>
長い注釈には水平線によって視覚的な効果を持たせることができます。
<hr>
!
これは次のように書かれています。
P:!!
NN:!
<hr>
長い注釈には水平線によって視覚的な効果を持たせることができます。
<hr>
!
!!

H3: 引用
引用には HTML の blockquote が使用されています。
H4: 短い引用
「短い引用」とは1行からなる引用文です。
Q: 引用
H4: 長い引用
2行以上の引用は
QQ: 終了文字列
引用
...
終了文字列
と書きます。
H3: コメント
「{コメント}」の部分は翻訳された HTML の文書の中には現れません。プログラミング言語におけるコメントのような機能を果たします。
H4: 短いコメント
tt 形式の文書の中にコメントを1行で書きたいときには
#: コメント
の形式で入れることができます。

H4: 長いコメント
tt 形式の文書の中にコメントを何行にも渡って書きたいときには
##: 終了文字列
コメント
終了文字列
の形式で入れることができます。

H3: 純粋 HTML モード
tt の加工を受けない純粋な HTML のモードに移行できます。そのためには
P:*
!!: nantarakantara
この間の文は純粋な HTML の文書として扱われる
nantarakantara
*
のように、
!!: 終了文字列
で純粋 HTML モードを終了させる文字列を定義します。
N: 僕の終了文字列の好みは単に「{!}」。びっくりマークだけの文など滅多に現れないからね。
このモードは古い HTML 文書を処理するのに特に便利ですね。

Ptt 3.2 では純粋 HTML モードのニーズは殆ど無くなりました。現在では保険的な機能になっています。

H2: 文字列定義
H3: 単純な定義
H4: 短い定義
D: 文字列 定義
の形式で、{文字列}が定義でます。ここで定義された文字列は{定義}で置き換えられます。例えば
P:!
D: { <code>
D: } </code>
!
となっていると、文中の
{sample.txt}

<code>sample.txt</code>
に変換されます。この例では{文字列}は1文字で構成されていますが、複数個の文字で構成しても構いません。
H4: 長い定義
定義に必要な行が複数に渡る場合には "{DD}" を使えます。
DD: 文字列 終了文字列
定義の内容
...
終了文字列
この定義の内容を tt の規則に従って変換したい場合には "{DD+:}" が使えますが、あまり推奨はしません。

NN:!
<hr>
<b>注意:</b> Ptt ver.3.0 から仕様が変更されています。ver.3.0 の "{DD:}" は ver.3.1 では "{DD+:}" の意味です。
<hr>
!

"{DD+:}" はテーブルの中に複雑な内容、例えばテーブルを書きたい場合などに役に立ちます。

DD+: $1 !
Ta: class=noframe
名前 年齢 性別
alice 16 female
bob   20 male

!

DD+: $2 !
Ta: class=noframe
名前 年齢 性別
alice 26 female
bob   30 male

!

Ta: class=nopad align="center"
:-   2000 2010
-   $1 $2

これは次のように書いています。
P:==
DD+: $1 !
Ta: class=noframe
名前 年齢 性別
alice 16 female
bob   20 male

!

DD+: $2 !
Ta: class=noframe
名前 年齢 性別
alice 26 female
bob   30 male

!

Ta: class=nopad align="center"
:-   2000 2010
-   $1 $2

==

空行はテーブル記述の終了を表しており、 "DD+:" の中でも必要です。ここで "noframe" と言うのは、外枠の無いテーブルです。この場合には次のようになっています。

#:<div align="center">
#:<div padding-right=10em>
#:<div style="margin-right:10em" >
<div style="width:160px;margin-right:auto;margin-left:auto">
#:<div style="width:0px;">
$1
</div>

D: $1
D: $2
これをテーブルに埋め込む場合には、padding されていると、罫線が繋がりません。 "nopad" は padding なしのテーブルのクラスです。 "nopad" も "noframe" もスタイルシートで定義されています。

Ptt 3.1 では、複雑なテーブルの構成を、「テーブル要素の中へのテーブルの埋め込み」によって解決しています。

H4: 定義の取り消し
D: 文字列
または
DD: 文字列
によって「文字列」の定義を取り消します。

H4: 考察
"{DD+:}" の使用は屢々 HTML の正しい記述スタイルから外れる原因を作ります。これは HTML のパラグラフの考え方が、我々の日常的な感覚と外れていることと関係があります。例えば Ptt は
P:!
<div>
alice
X
bob
</div>
!
に出会った時に、 "{alice}" から "{bob}" までを一つのパラグラフと見なして、正しく
P:!
<div>
<p>
alice
<br>X
<br>bob
</p>
</div>
!
を吐き出します。しかし "{X}" が
P:!!
DD+: X !
Q: carol
!
!!
と定義されている場合にも同様に一つのパラグラフと見なして
P:!
<div>
<p>
alice
<br><blockquote>carol</blockquote>
<br>bob
</p>
</div>
!
となりますが、これは HTML の正しい規則から外れます。HTML では "{ < p > }" と "{ < /p > }" の間にブロックタグを入れてはならないからです<sup>*</sup>。この問題の解決は非常に難しい問題で、また解決する価値があるかどうかもはっきりしません。(僕には禁止する理由もよく分からない!)

注*: http://www.w3.org/TR/html401/struct/text.html#h-9.3

H2: その他

H3: スタイルシート
スタイルシート等のファイルの取り込みは
In: ファイル
で行えます。
例えば
In: style.css
のようにします。
ドキュメントルートのスタイルシートは
In: /style.css
となります。

H4: テーブルのスタイル
Ptt ver.3.1 で使用されている新しいスタイルシートではテーブルの罫線スタイルが指定されており、その場合には HTML のテーブルタグの罫線の指定
<table border="0">
が無効になります。従って罫線を除去するためにテーブルタグ "{Ta:}" で "border=0" と指定しても効果はありません。新しいスタイルシートではテーブルのクラス "{noborder}" が定義されているので、罫線の無いテーブルを作る時には "{noborder}" を指定して下さい。

H3: Body タグの中でのオプション
次の形式で与えます。
BO: オプション
この結果は
<body オプション>
となります。このタグは "{H1:}" タグの前に書きます。

H3: ラベルと参照

D: {
D: }
D: [ <code>
D: ] </code>
リストの [label] と [ref] に相当する Ptt 4.0 の仕様です。

Ta: |
:- | LaTex | Ptt
   | [\label{foo}] | [ < lab(key:bar) > ]
   | [\ref{foo}]   | [ < ref(key:bar) > ]

ここに "[foo]" は任意のラベル名である。"[foo]" に相当するのが "[key:bar]" ですが、Ptt では key ごとにシリアルに番号が振られます。
[ < lab(key:bar) > や [ < ref(key:bar) > ] では [ ( ) ] の代わりに [ { } ] も使えます。

D: { <code>
D: } </code>
D: [
D: ]

LaTex と異なり、番号は同じ {key} で増加します。文献リストのために特別の記法を必要としていません。

H4: 考察
Ptt の記法を LaTex の記法と同じにしなかったのは html2tex のようなツールとの関係である。

H3: rit 対応
先頭行が
#!/
で始まる場合にはプログラムが埋め込まれると仮定されます。その場合にはプログラムコードは
${
プログラムコード
}$
の形式で挿入されるとして rit に適した形式で処理します。これは筆者のサーバ向けの仕様です。

H3: 漢字空白
漢字空白に対して警告メッセージが表示されます。意識的に漢字空白を使用したのであれば、この警告メッセージは無視して構いません。

H2: 補足
H3: タグのまとめ
以下の表の中で
- 「説明」は複数の行を許します。
- 「文字列」は複数の行を許しません。(必要なら{<<br>>}で改行を表現します)
- 「記号」は1文字です。
- 「パス」はファイルへのパスです。
- 「…」は、直前の内容の繰り返しです。
- [ ] は、省略可能部分です。

Ta:|
Ca: タグ表
タグ:<  | 意味:<150  | 形式:<300 | 作用範囲:<
 {H1:}| 表題<br>({H2:},{H3:},…,も同様) | {H1:[-lte]} 文字列 | 行末まで
 {KW:} | keyword | {KW: keyword, ...}    | 行末まで
 {BO:} | body オプション | {BO: オプション}    | 行末まで
 {UL:}  | 番号なしリスト<br>(省略可能) | {UL:[-a][+a]}<br>- 説明<br>- 説明<br>…| 空行まで
 {OL:} | 番号付けリスト | {OL:[-a][+a]}<br>- 説明<br>- 説明<br>…| 空行まで
 {DL:} | 定義リスト | {DL:[-a][+a]}<br>- 説明<br>- 説明<br>…| 空行まで
{C:} | センター配置  | {C:} 文字列 | 行末まで
{CC:} | 複数行にわたるセンター配置  | {CC:} 終了文字列<br>テキスト<br>終了文字列 | 終了文字列まで
 {I:}  |  画像 | {I:}パス [サイズ [属性]]| 行末まで
 {II:}  |  画像の配列 | {II:} 終了文字列 [属性]<br>表題 画像ファイル [属性]<br>...<br>終了文字列|  終了文字列まで
 {Ta:} | テーブル | {Ta:}[記号] [属性]<br>[{C:}文字列]<br>文字列[:書式] [記号] 文字列[:書式] [記号] …<br>文字列 [記号] 文字列 [記号] …<br>… | 空行まで
 {Ca:} | キャプション<br>{Ta:}の直後に使用する|{Ca:}文字列 | 行末まで
 {P:} | プログラムコード | {P:}終了文字列 [tab=n]<br>プログラムコード<br>終了文字列| 終了文字列まで
 {N:} | 短い注釈 | {N:}注釈 | 行末まで
 {NN:} | 長い注釈 | {NN:}終了文字例 [属性]<br>注釈<br>...<br>終了文字列 | 終了文字列まで
 {Q:} | 短い引用 | {Q:}引用 | 行末まで
 {QQ:} | 長い引用 | {QQ:}終了文字例 [属性]<br>引用<br>...<br>終了文字列 | 終了文字列まで
 {#:} | コメント | {#:}文字列 | 行末まで
 {##:} | 長いコメント | {##:}終了文字例<br>コメント<br>終了文字列 | 終了文字列まで
 {D:} | 文字列定義<br>文字列1を文字列2で置き換える | {D:} 文字列1 文字列2 |行末まで
  {DD:}<br>{DD+:} | 文字列定義<br>文字列を文字列ブロックで置き換える | {DD:} 文字列 終了文字列<br>文字列ブロック<br>終了文字列 |終了文字列まで
 {!:}  | 純粋HTMLモード | {!:} | 行末まで
{!!:} | 純粋HTMLモード | {!!:}終了文字列<br>HTMLコード<br>終了文字列 | 終了文字列まで

H3: 制限事項
- 多重のリストはサポートされていません*。なお、多重のリストは好ましくない文書スタイルであると考えられています。
- リストの中にヘッダ、ルーラ、リスト、注釈、空行を書くことはできません。もしも必要なら直接 HTML のタグを使用するか "{DD:}" を使って書いてください。
- 引用の中に "{H1:}" などのヘッダを書いても変換はしません。
- タブはスペースに変換しません。HTMLではスペースに変換するように推薦されていますが、プログラムのコードである事を考慮するとそのままにする方が好ましいと考えました。

N: 注* 多重のリストを作成しようと思えば "{DD+:}" を使って作成できますが、推奨しません。

H3: 知られたバグ
擬似二重引用符の自動変換アルゴリズムは次の考察に依存しています。
OL:
- コードやデータを記述するエリアは変換しない
- タグの中の二重引用符は変換しない
- 左の二重引用符と右の二重引用符は対になって現れる
- 左の二重引用符は、行の先頭、あるいはその前が空白
- 右の二重引用符は、行末、あるいはその次が空白または "{,.;:!?}" の中の文字のいずれか
-

日本語の文書の中では「。」、「、」などの文字に関するルールをさらに追加すべきですが、今の所それを行っていません。特に "、" や "。" に続く二重引用符には注意して下さい。