2021/11/25 改訂
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 更新
H1:
” のように、タグは行の開始位置から書き始め、“:
” で終わります。http://ar.aichi-u.ac.jp/semi/
http:
” で始まる文字列です。 “http
” の他、 “https
” や “ftp
” が使えます。二重引用符で始まる場合にはリンクされません。 <
” で始まり “ >
” で終わる行は Ptt の加工を受けません。Ptt の加工を受けるようにするには行頭を空白で始めるとよいでしょう。(Ptt 3.2 の新機能)
属性名="値" 属性名="値" ...
I: cat.jpg width="400"のように表示幅を指定できます。
値は必ず二重引用符で囲みます。どのような属性が指定できるかはタグ毎に異なります。広く使えるのはスタイルを示す style 、配置を示す align、表示幅を示す width です。スタイルシートでクラスが定義されていれば class も使えます。
スタイルに関する情報を HTML 属性で指定するのは可能ならば避けるのが好ましく、一般的な好みはスタイルシートを使用するのが良いでしょう。
H1 H2 H3 H4
H1:
” タグは必須です。 “H1:
” に続く文字列はページのタイトルとして大きな文字で表示されるばかりではなく、ウィンドウの名前としてウィンドウの上部に表示されます。
目次は表題を基に自動的に作成されます。但し
H1:
” のオプションとして与えますH1:
” のオプションH1: [-lteqn] 表題
"
を “ と ” に変換する。つまり単に "
二重引用符"
と書くだけで、 “二重引用符” に変換される。このオブションを指定する時には -e
オプションも指定して下さい。でないと、大抵のブラウザは奇麗な表示になりません。
なお、このページは “-eqn” オプションで作成されています。二重引用符の見え方はブラウザとフォントに依存しています。ブラウザで日本語文字フォントが指定されている場合には、“ と ” は(まるで全角文字フォントで代用したかのように)大きな空白が発生する場合があります。(Mac の場合、Safari や Opera は奇麗な二重引用符を表示しますが Camino や Firefox はダメです。それから Windows の場合 IE7.0 の二重引用符はため息が出る程ひどい!)
UL:
OL:
DL:
-
” で開始します。すなわちマイナス記号で行を開始し、空白を1つ以上続けます。UL:
” は省略できます。従って番号づけない項目は単に- 項目1 - 項目2 -のように、マイナス記号の後に空白文字を入れて行を開始します。
DL: - 名前1 名前1の説明 - 名前2 名前2の説明 -のように書きます。
-
” だけの行、あるいはヘッダタグによって示されます。
-
” で示すよう習慣づけた方が良い。-a
” オブション-a
UL:-a - パス1 説明文1 - パス2 説明文2 -のように書きます。ここに
バス
とは「説明文
」をクリックしたときに表示されるファイルへのパスです。パス
は表示されません。
+a
” オブションは ptt 4.2 で廃止された。(不要なオプションだから)
I:
” タグまたは “II:
” タグを使って行われます。I: cat.jpgのように書きます。この結果は
パスに続けて表示の大きさを指定することもできます(注)。例えば
I: cat.jpg width=400
画像はセンター配置です。画像に続けて画像の説明を書く事が多いでしょう。その場合には C:
タグあるいは CC:
タグを使ってセンター配置で説明するとよいでしょう。
一般的な形式は
I: 画像ファイル [表示サイズ] [その他のオプション]
II: 終了文字列 [オプション0] 表題1 画像ファイル1 [オプション1] 表題2 画像ファイル2 [オプション2] ... 終了文字列画像配列はテーブルを用いて実現しています。
「オプション0」はテーブル全体に関するオプション(テーブル属性)で、実際には
width="90%"
「オプション1」、「オプション2」... はテーブルの個々の要素に対するオプションで、やはり実際には
width="30%"
例えば
II:! リリー lily.jpg アイリス iris.jpg ポーチェラカ portyeraka.jpg !で次のようになります。
リリー | アイリス | ポーチェラカ |
Win系 では Opera, Firefox は正しく表示される。
OSX では Safari, Firefox, Opera も OK
(2007/02/09)
理想的には画像の高さで自動調整してくれた方が良いのですが、HTML の仕様のなかにはそれを可能にするものは見当たりません。
クリックすれば別頁に大きく表示される。
なお、この写真のポーチェラカは変わり花である。
画像配列にはテーブルが使用されており、オプションは table の td タグに与える HTML の属性を指定できる。
例えば
II:! リリー lily.jpg width="30%" アイリス iris.jpg width="40%" ポーチェラカ portyeraka.jpg width="20%" !で
リリー | アイリス | ポーチェラカ |
表題に空白文字が含まれる場合には '(引用符) または "(二重引用符) で囲む。
名前 | 年齢 | 性別 |
---|---|---|
alice | 16 | 女 |
bob | 20 | 男 |
Ta: 名前 年齢 性別 alice 16 女 bob 20 男と書きます。テーブルの終了は空行で示されています。
この例では、テーブルはマトリックス形で、どのデータにも空白文字が含まれていません。最初の行は、項目の説明欄で太字になっています。各行の最初の項目は、行の説明で、やはり太字で表示されています。
上の例では空白文字がデータを区切っていました。それではデータに空白が含まれる場合にはどのように書けばよいのか。誰でも考える事でしょうが、データを区切る文字(区切り文字)を指定できれば解決できます。区切り文字を “|
” として指定するには
Ta: | 名前 | 年齢 | 性別 alice | 16 | 女 bob | 20 | 男のように、 “
Ta:
” に続いて “|
” を書きます。
Ta: 区切り記号 属性 Ca: テーブルの説明 項目名:書式 項目名:書式 項目名:書式 行説明 区切り記号 データ 区切り記号 データ 行説明 区切り記号 データ 区切り記号 データのようなものです。
属性名 | 値の例 |
---|---|
align |
right left center |
width |
40% |
などで
Ta: align="right"
C:
” の行)は省略できます。Cap:
” になっていましたが、ptt でこの旧形式を使うと警告メッセージがでますが正しく処理されます。
項目名が全て省略された場合には、その行は表示されません。例えば
Ta: | | | alice | 16 | 女 bob | 20 | 男と書くと
alice | 16 | 女 |
---|---|---|
bob | 20 | 男 |
-
” を指定するとその列は表示されません。例えばTa: | :- | | alice | 16 | 女 bob | 20 | 男と書くと
16 | 女 |
20 | 男 |
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 | 男は
2000 | 2010 | ||||
---|---|---|---|---|---|
名前 | 年齢 | 性別 | 名前 | 年齢 | 性別 |
alice | 16 | 女 | alice | 26 | 女 |
bob | 20 | 男 | bob | 30 | 男 |
この表をグローバルな視点で見ると、表の中に表が埋め込まれていると解釈できます。そのような見方からこの表を構成することもできます。後の「長い文字列定義」を参照して下さい。
項目名: < 表示幅 |
データを左寄せで配置します |
---|---|
項目名: > 表示幅 |
データを右寄せで配置します |
項目名:表示幅 |
データを中央に配置します |
項目名:-表示幅 |
この項目の列は捨てられます(データを隠すのに便利です) |
ここに書いた書式の説明には実はテーブルが使用されており、このテーブルは次のように記述されています。
Ta: | class=noborder width="70%" align="center" :<150 | :<70% 項目名: < 表示幅 | データを左寄せで配置します 項目名: > 表示幅 | データを右寄せで配置します 項目名:表示幅 | データを中央に配置します 項目名:-表示幅 | この項目の列は捨てられます(データを隠すのに便利です)注意
C: 文です。
CC: 終了文字列 文1 文2 ... 終了文字列です。
単に preformat の指定です。
プログラムコードを示すには、タブで書き始める方法の他に、
P: 終了文字列 [options] プログラムの内容 終了文字列の形式を使用できます。この形式を使用すると、書かれた文字がそのまま表示され、背景に色が付けられます。
タブサイズはオプションとして指定できます。省略されれば tab=8 が使用されます。
またプログラムの内容が長くなった場合には option
では
style="overflow:auto; height:50ex"
例えば次の C のプログラムコードを表示するには
#include <stdio.h> main(){ printf("OK\n"); }tt 形式では
P:! #include <stdio.h> main(){ printf("OK\n"); } !と書きます。(プログラムをそのまま Cut & Paste で持ってこれる事に注目しましょう)
N: 注釈
NN: 終了文字列 注釈 終了文字列
注釈は終了文字列またはヘッダによって終了します。
NN:! <hr> 長い注釈には水平線によって視覚的な効果を持たせることができます。 <hr> !
Q: 引用
QQ: 終了文字列 引用 ... 終了文字列
コメント
」の部分は翻訳された HTML の文書の中には現れません。プログラミング言語におけるコメントのような機能を果たします。#: コメント
##: 終了文字列 コメント 終了文字列
!!: nantarakantara この間の文は純粋な HTML の文書として扱われる nantarakantaraのように、
!!: 終了文字列
!
」。びっくりマークだけの文など滅多に現れないからね。
Ptt 3.2 では純粋 HTML モードのニーズは殆ど無くなりました。現在では保険的な機能になっています。
D: 文字列 定義
文字列
が定義でます。ここで定義された文字列は定義
で置き換えられます。例えばD: { <code> D: } </code>となっていると、文中の
{sample.txt}
<code>sample.txt</code>
文字列
は1文字で構成されていますが、複数個の文字で構成しても構いません。DD
” を使えます。DD: 文字列 終了文字列 定義の内容 ... 終了文字列
DD+:
” が使えますが、あまり推奨はしません。
DD:
” は ver.3.1 では “DD+:
” の意味です。
“DD+:
” はテーブルの中に複雑な内容、例えばテーブルを書きたい場合などに役に立ちます。
2000 | 2010 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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” と言うのは、外枠の無いテーブルです。この場合には次のようになっています。
名前 | 年齢 | 性別 |
---|---|---|
alice | 16 | female |
bob | 20 | male |
これをテーブルに埋め込む場合には、padding されていると、罫線が繋がりません。 “nopad” は padding なしのテーブルのクラスです。 “nopad” も “noframe” もスタイルシートで定義されています。
Ptt 3.1 では、複雑なテーブルの構成を、「テーブル要素の中へのテーブルの埋め込み」によって解決しています。
D: 文字列
DD: 文字列
DD+:
” の使用は屢々 HTML の正しい記述スタイルから外れる原因を作ります。これは HTML のパラグラフの考え方が、我々の日常的な感覚と外れていることと関係があります。例えば Ptt は<div> alice X bob </div>に出会った時に、 “
alice
” から “bob
” までを一つのパラグラフと見なして、正しく<div> <p> alice <br>X <br>bob </p> </div>を吐き出します。しかし “
X
” がDD+: X ! Q: carol !と定義されている場合にも同様に一つのパラグラフと見なして
<div> <p> alice <br><blockquote>carol</blockquote> <br>bob </p> </div>となりますが、これは HTML の正しい規則から外れます。HTML では “
< p >
” と “ < /p >
” の間にブロックタグを入れてはならないからです*。この問題の解決は非常に難しい問題で、また解決する価値があるかどうかもはっきりしません。(僕には禁止する理由もよく分からない!)
注*: http://www.w3.org/TR/html401/struct/text.html#h-9.3
In: ファイル
In: style.css
In: /style.css
<table border="0">
Ta:
” で “border=0” と指定しても効果はありません。新しいスタイルシートではテーブルのクラス “noborder
” が定義されているので、罫線の無いテーブルを作る時には “noborder
” を指定して下さい。
BO: オプション
<body オプション>
H1:
” タグの前に書きます。
リストの label
と ref
に相当する Ptt 4.0 の仕様です。
LaTex | Ptt |
---|---|
\label{foo} |
< lab(key:bar) > |
\ref{foo} |
< ref(key:bar) > |
foo
” は任意のラベル名である。"foo
" に相当するのが “key:bar
” ですが、Ptt では key ごとにシリアルに番号が振られます。 < lab(key:bar) > や < ref(key:bar) >
では ( )
の代わりに { }
も使えます。
LaTex と異なり、番号は同じ key
で増加します。文献リストのために特別の記法を必要としていません。
8.3.1. 考察
Ptt の記法を LaTex の記法と同じにしなかったのは html2tex のようなツールとの関係である。
8.4. rit 対応
先頭行が
#!/
で始まる場合にはプログラムが埋め込まれると仮定されます。その場合にはプログラムコードは
${
プログラムコード
}$
の形式で挿入されるとして rit に適した形式で処理します。これは筆者のサーバ向けの仕様です。
8.5. 漢字空白
漢字空白に対して警告メッセージが表示されます。意識的に漢字空白を使用したのであれば、この警告メッセージは無視して構いません。
9. 補足
9.1. タグのまとめ
以下の表の中で
- 「説明」は複数の行を許します。
- 「文字列」は複数の行を許しません。(必要なら
<br>
で改行を表現します)
- 「記号」は1文字です。
- 「パス」はファイルへのパスです。
- 「…」は、直前の内容の繰り返しです。
- [ ] は、省略可能部分です。
タグ表
タグ
意味
形式
作用範囲
H1:
表題
(H2:
,H3:
,…,も同様)
H1:[-lte]
文字列
行末まで
KW:
keyword
KW: keyword, ...
行末まで
BO:
body オプション
BO: オプション
行末まで
UL:
番号なしリスト
(省略可能)
UL:[-a][+a]
- 説明
- 説明
…
空行まで
OL:
番号付けリスト
OL:[-a][+a]
- 説明
- 説明
…
空行まで
DL:
定義リスト
DL:[-a][+a]
- 説明
- 説明
…
空行まで
C:
センター配置
C:
文字列
行末まで
CC:
複数行にわたるセンター配置
CC:
終了文字列
テキスト
終了文字列
終了文字列まで
I:
画像
I:
パス [サイズ [属性]]
行末まで
II:
画像の配列
II:
終了文字列 [属性]
表題 画像ファイル [属性]
...
終了文字列
終了文字列まで
Ta:
テーブル
Ta:
[記号] [属性]
[C:
文字列]
文字列[:書式] [記号] 文字列[:書式] [記号] …
文字列 [記号] 文字列 [記号] …
…
空行まで
Ca:
キャプション
Ta:
の直後に使用する
Ca:
文字列
行末まで
P:
プログラムコード
P:
終了文字列 [tab=n]
プログラムコード
終了文字列
終了文字列まで
N:
短い注釈
N:
注釈
行末まで
NN:
長い注釈
NN:
終了文字例 [属性]
注釈
...
終了文字列
終了文字列まで
Q:
短い引用
Q:
引用
行末まで
QQ:
長い引用
QQ:
終了文字例 [属性]
引用
...
終了文字列
終了文字列まで
#:
コメント
#:
文字列
行末まで
##:
長いコメント
##:
終了文字例
コメント
終了文字列
終了文字列まで
D:
文字列定義
文字列1を文字列2で置き換える
D:
文字列1 文字列2
行末まで
DD:
DD+:
文字列定義
文字列を文字列ブロックで置き換える
DD:
文字列 終了文字列
文字列ブロック
終了文字列
終了文字列まで
!:
純粋HTMLモード
!:
行末まで
!!:
純粋HTMLモード
!!:
終了文字列
HTMLコード
終了文字列
終了文字列まで
9.2. 制限事項
- 多重のリストはサポートされていません*。なお、多重のリストは好ましくない文書スタイルであると考えられています。
- リストの中にヘッダ、ルーラ、リスト、注釈、空行を書くことはできません。もしも必要なら直接 HTML のタグを使用するか “
DD:
” を使って書いてください。
- 引用の中に “
H1:
” などのヘッダを書いても変換はしません。
- タブはスペースに変換しません。HTMLではスペースに変換するように推薦されていますが、プログラムのコードである事を考慮するとそのままにする方が好ましいと考えました。
注* 多重のリストを作成しようと思えば “DD+:
” を使って作成できますが、推奨しません。
9.3. 知られたバグ
擬似二重引用符の自動変換アルゴリズムは次の考察に依存しています。
- コードやデータを記述するエリアは変換しない
- タグの中の二重引用符は変換しない
- 左の二重引用符と右の二重引用符は対になって現れる
- 左の二重引用符は、行の先頭、あるいはその前が空白
- 右の二重引用符は、行末、あるいはその次が空白または “
,.;:!?
” の中の文字のいずれか
日本語の文書の中では「。」、「、」などの文字に関するルールをさらに追加すべきですが、今の所それを行っていません。特に “、” や “。” に続く二重引用符には注意して下さい。