/
19.txt
270 lines (211 loc) · 10.5 KB
/
19.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
[1] [DFN[[RUBYB[[[マーク[RUBY[付][づ]]け[RUBY[言語][げんご]]][マーク付け言語]]]@en[markup language]]]]は、
[[テキスト]]に記号列 ([[マーク付け]]) を書き加えることで[[文書]]の構造や意味、
処理の方法などを記述する[[言語]]です。
* 呼称
[14] [[接尾語]] (みたいなもの) ''-ML'' は、[[マーク付け言語]]の略称の語末にあって''マーク付け言語'' (''m''arkup ''l''anguage) を表す。
;; [15] 単体で [[ML]] と言うことはありません。
* 意味
[6] 元々は文字列主体の文章を記述することが主たる目的でした。
[[平文]]に、
構造的意味や装飾を表す[[記号]]列
([[マーク]])
を付加していくような記述[[言語]]のことを、
[[マーク付け言語]]と言っていました。
[22]
20世紀末くらいから次第に適用範囲が拡大し、
[[データ構造]]の記述方式としても一部使われるようになりました。
[2] その結果「[[マーク付け言語]]」の範囲は曖昧になっており、
そうでない[[データ形式]]や[[データ構造]]との区別は明確ではありません。
[23]
[[SGML]] の系譜に連なるか、[[自然言語]]文に特別な意味をもたせた記号列を混在させていて[[人間]]が[[テキストエディター]]で編集することがよくあるかのいずれかの条件を満たせば[[マーク付け言語]]と認識されることが多いようです。
[24]
ただしその条件を満たしても、[[プログラミング言語]]の系譜に連なるものは、
[[マーク付け言語]]とは言われにくい (言われるものもいくつかある) という例外があります。
* マーク付け言語の一覧
[7] [[マーク付け言語]]には、色々な種類があります。
** SGML 系
[8] [[SGML]] に由来する[[マーク付け言語]]:
[FIG(list short)[
- [[GML]]
- [[SGML]]
- [[AAP]]
- [[TEI]]
- [[DocBook]]
- [[HTML]]
- [CODE(MIME)@en[[[text/richtext]]]]
- [CODE(MIME)@en[[[text/enriched]]]]
- [[HDML]]
- [[JDCM]]
- [[松風]]
- [[XML]]
- [[MathML]]
- [[SMIL]]
- [[VML]]
- [[SVG]]
- [[SSML]]
- [[LDML]]
- [[ITS]]
- [[Predoc]]
- [[RFC 2629]]
- [[XMLSpec]]
- [[OpenDocument]]
- [[OOXML]]
- [[SmartDoc]]
- [[DITA]]
- [[Mallard]]
- [[FtanML]]
- [[GML][Geography Markup Language]]
- [[KML]]
- [[GPX]]
- [[JATS]]
- [[TTML]]
- [[LMNL]]
- [[ZenML]]
]FIG]
;; [[SGML応用]]、[[XML応用]]も参照。
;; [20] [[HTML]] を生成する言語は、 [[HTML]] を参照。
** テキスト系
[10] テキスト系の[[マーク付け言語]]:
[FIG(short list)[
- 各種[[Wiki構文]]
- [[はてな記法]]
- [[HNF]]
- [[Textile]]
- [[setext]]
- [[setext-j]]
- [[xetext]]
- [[reStructuredText]]
- [[Markdown]]
- [[Pandoc]]
- [[plain2]]
- [[Grutatxt]]
- [[EtText]]
- [[AsciiDoc]]
- [[inao]]
- [[Stx]]
- [[AFT]]
- [[APT]]
- [[atx]]
- [[Scratch]]
- [[NoraMark]]
- [[注記 (青空文庫)]]
- [[Strictdown]]
- [[Slack形式]]
- [[Re:VIEW]]
- [[小説家になろう専用タグ]]
- [[カクヨム記法]]
- [[MKDoc]]
- [[イナオ編集記号]]
- [[Typetalkメッセージ書式]]
- [[Org mode]]
- [[H2H]]
- [[Seam Text]]
- [[テキストファイル (LeME)]]
- [[Scrapboxの記法]]
- [[TIP]]
- [[デラング記法]]
- [[WINI]]
]FIG]
[18] こうしたものを、[DFN[軽量マーク付け言語]]や[DFN[簡易マーク付け言語]]のように呼ぶこともあります。
明確で広く合意された定義は見出だせませんが、
[[平文]]を書くのと同じような気楽さで記述でき、
専門知識がなくてもおおよそ理解できるような[[マーク付け言語]]をそう呼んでいるようです。
[26] 「軽量」と呼んでいても、必要な機能を追加していった結果、
複雑怪奇になっていたりします。
[[SGML]] も、最初はテキストに簡単に[[マーク]]を追加していくだけと謳っていたのですから、
世が世なら「軽量」の仲間に入っていたはずです。
([[SGML]] の中でも
[[shortref]] や[[データタグ]]は[[軽量マーク付け言語]]そのものといって良いでしょう。)
[29]
[[MediaWiki]] の構文は (特に[[ウィキペディア]]では) [[雛形]]を使いまくって複雑になっていて、
あまり「軽量」感がありません。
[34]
[[Markdown]] の構文は記号の使い方があまり直感的でなく覚えにくいです。
技術者はちょっとした構文はすぐに覚えてしまうので麻痺して [[Markdown]]
をあちこちで使いまくってしまいますが、非技術者に使わせるにはハードルが高かったり。
でも「軽量」の代表みたいな扱いです。
(実装も真面目にやろうとするとかなり厄介な点が多いし。)
[35] 「はじめ」は「作った人」にとって「軽量」な言語も、普及するにつれ複雑になっていくんですよねえ。
どんな (普及した) 言語も通る道。そして次の「軽量」言語が生み出されるのです。
;; [36] [[マーク付け言語]]の世界における[[軽量マーク付け言語]]は、
[[プログラミング言語]]の世界における[[スクリプト言語]]のようなものかもしれません。
** プログラミング言語系
[9] [[TeX]] 系の[[マーク付け言語]]:
[FIG(short list)[
- [[TeX]]
- [[LaTeX]]
- [[Texinfo]]
]FIG]
[19] [[TeX]] は[[マーク付け言語]]のような性質も持っていますが、
[[チューリング完全]]な[[プログラミング言語]]でもあります。
そのためもあってか、あるいは [[SGML]] の系譜から離れているためなのか、
[[マーク付け言語]]に含めないこともあります。
[11] [[プログラミング言語]]埋め込み系の[[マーク付け言語]]:
[FIG(short list)[
- [[pod]]
- [[RD]]
- [[RT]]
- [[Javadoc]]
- [[JSDoc]]
- [[TomDoc]]
]FIG]
[30]
[[プログラミング言語]]の構文の一部分という位置付けのためもあるのか、
あまり[[マーク付け言語]]として意識されないかもしれません。
[13] その他の[[プログラミング言語]]風構文を持つ[[マーク付け言語]]:
[FIG(short list)[
- [[TVML]]
- [[Macrodown]]
- [[PureDoc]]
- [[Scribe]]
]FIG]
** その他
[FIG(short list)[ [37] その他の[[マーク付け言語]]
- [CITE[[[Musa]]]] のマーク付け
]FIG]
* 文書構造慣用句
[SEE[ [[文書構造慣用句]] ]]
* メモ
[3] 言語と言っても、[[自然言語]]や[[プログラム言語]]などとは趣が異なります。これらは言語が情報の主を成すのに対して、マーク付け言語は主たる情報に印をつける従たるものなのです。多分それが違いの原因です。
[12] [[RTF]]、[[PostScript]]、[[CSV]]、[[JSON]]、[[CSS]]、[[VRML]]、[[XBM]] なども[[マーク付け言語]]と似た性質を多かれ少なかれ持っていますが、通常は[[マーク付け言語]]とはいいません。
[31] [[RTF]] は[[マーク付け言語]]と読んでも良さそうなものなのに、
普通は含めないのは、[[SGML]] の系譜から遠いからですかね。
あるいは[[手書き]]することが稀だからですかね。
[32]
[[PostScript]] や [[PDF]] も [[TeX]] が[[マーク付け言語]]である程度には[[マーク付け言語]]の仲間なのかもしれませんが、
[[プログラミング言語]]的な性質や[[手書き]]のし難さが、
[[マーク付け言語]]と呼ばしめないのでしょう。
[33]
[[VRML]] は [[HTML]] の影響なのかいかにも[[マーク付け言語]]だと言いたげな名前なのですけど、
[[マーク付け言語]]ではないことになってるのですよね。
実際構文も[[マーク付け言語]]というより[[データ構造]]を記述してる[[プログラミング言語]]に近い[[データ形式]]で。
でも後継の [[X3D]] は [[XML]] ベースなので、
名目上[[マーク付け言語]]でもあるとかいう。
[4]
[CITE[Steven J. Murdoch :: Survey of general-purpose data-representation formats and markup languages]] <http://www.cl.cam.ac.uk/users/sjm217/projects/markup/survey/>
[5]
[CITE@ja[虚像残影 - 何故みんな記法を使わないのか]] ([TIME[2007-05-25 16:54:53 +09:00]] 版) <http://nyarla.nowa.jp/entry/69a867cc73>
([[名無しさん]] [WEAK[2007-05-25 07:56:06 +00:00]])
[FIG(quote)[
[16] [CITE@ja[「XML」を編集中 - Wikipedia]] ([TIME[2016-08-01 00:13:43 +09:00]]) <https://ja.wikipedia.org/wiki/XML?action=edit&veswitched=1>
>
[PRE[
[[Category:ファイルフォーマット]] <!-- 削除しないでください、Category:マークアップ言語 からたどれるのは専門家だけです、専門家のためだけのカテゴリではありません -->
<!-- [[Category:Extensible Markup Language|*]] -->
[[Category:マークアップ言語]]
]PRE]
]FIG]
[17] 「ファイルフォーマット」も「マークアップ言語」もどちらも等しく専門家にしか理解されない言葉のような気がするが。。。
[21] [CITE@ja[「小説家になろう」や「カクヨム」の相互変換するツールをつくろうかな - KDP(電子出版)のメモ 急急如律令]]
( ([TIME[2017-04-07 14:53:13 +09:00]]))
<http://99nyorituryo.hatenablog.com/entry/2016/07/21/234922>
[25] [CITE@en[Lightweight markup language - Wikipedia, the free encyclopedia]] ([TIME[2007-05-20 23:53:17 +09:00]] 版) <http://en.wikipedia.org/wiki/Lightweight_markup_language>
[27] [CITE[ANSI/NISO Z39.98-2012, Authoring and Interchange Framework for Adaptive XML Publishing Specification - Z39-98-2012_AI_Framework.pdf]], [TIME[2020-10-13T02:09:09.000Z]] <https://groups.niso.org/apps/group_public/download.php/12125/Z39-98-2012_AI_Framework.pdf>
[FIG(quote)[
[FIGCAPTION[
[28] [CITE@ja[T-Time:インデント、アウトライン]]
([TIME[2020-10-25T02:56:16.000Z]])
<https://www.voyager.co.jp/support/T-Time/t_1-3.html>
]FIGCAPTION]
> HTMLではない普通のテキストデータの場合、段落の頭にTABを入れておくと、その段落全体が自動的にインデント表示されます。また、▲や●などの図形文字を付加することにより、テキストに階層構造をもたせることもできます。詳しくは電子マニュアルの「05)テキスト表示設定」をご参照ください。
]FIG]