[26] 
[DFN[[RUBYB[語句化内容][phrasing content]]]]は、
[[文章]]やそれに準ずる[[段落]]内の構造を記述する[[要素]]です。

[27] 
かつては[DFN[[RUBYB[[[行内要素]]][inline element]]]] ([DFN[インライン要素]])
と呼ばれることもありましたが、明確化のため現在の名称となりました。

* 仕様書

[REFS[

- [24] 
[CITE@en-US-x-hixie[HTML Standard]], [TIME[2024-09-26T13:34:36.000Z]], [TIME[2024-09-29T02:18:25.273Z]] <https://html.spec.whatwg.org/#phrasing-content>

]REFS]

* 意味

[25] 
[[語句化内容]]は、
[[文書]]の[RUBYB[[[文章]]][text]]や、
[[文章]]を[[段落]]内の水準において[[マーク付け]]する[[要素]]です。
[SRC[>>24]]

[28] 
[[語句化内容]]の[RUBYB[[[連なり]]][run]]は、[[段落]]を形成します。 [SRC[>>24]]

-*-*-

[29] 
[[English]] の語 [[phrase]] ([[語句]]) は、
一般的には高々数個の[[単語]]の[[連なり]]を指していいます。
その [[-ing形]] [[phrasing]] は、
[[文章]]の特定の法則性のもとで[[語句]]のまとまりに区切ること ([[句節]]) や、
[[語句]]で表される[[言い回し]]を表して使われます。

[30] 
対して [[HTML]] における[[語句化内容]]の「語句化」は、
こうした[[自然言語]]的な特性とは独立した、
[[文書構造]]としての構成単位に着目しています。従って、
[[語句化内容]]である[[要素]]は[[自然言語]]の[[語]]や[[文]]より大きな単位にも、小さな単位にも、
それらの境界とは無関係に使えます。

[40] なお、初期の [[HTML]] の [[DTD]] での[[要素]]の分類の1つである [CODE[%phrase;]]
と現在の[[語句化内容]]は意味が少し違っています (>>41)。 

-*-*-

[31] 
[[語句化内容]]という概念は [CITE[HTML5]] 
で[[要素]]の[[内容モデル]]や分類が整理された際に導入されました。
それ以前の [CITE[HTML4]] や初期 [CITE[HTML5]]
はほぼ同じものを[[行内要素]]、[DFN[[RUBYB[行内内容][inline content]]]]のように言っていました。

[32] 
ここでいう[[行内]]とは語句化とほぼ同じ意味で使われていた語ですが、
[[CSS]] でも [CODE[display: inline]] に代表される[[行内]]の概念があり、
紛らわしいため [[HTML]] では使わなくなりました。

[33] 
[[行]]は [[CSS]] の[[行箱]]のような表示上の概念で、 [[HTML]] 
の[[文書構造]]には [WEAK[([CODE[br]] のような例外を除き)]] 直接出現しません。
[[語句化内容]]である[[要素]]は、[[行]]の境界とは無関係に使えます。

* 特殊ケース

[15] [[内容モデル]]が[[語句内容]]だけの[[要素]]や[[語句付け内容]]の一部の[[要素]]が除外されている場合の他に複雑な[[内容モデル]]のものがいくつかあります。

[16] [CODE(HTMLe)@en[[[ruby]]]] [[要素]]は[[語句付け要素]]の部分と [CODE(HTMLe)@en[[[rt]]]] [[要素]]や
[CODE(HTMLe)@en[[[rp]]]] [[要素]]の部分が混在しています。

[17] [[HTML文書]]中の [[SVG]] [CODE(XMLe)@en[[[title]]]] [[要素]]の[[内容モデル]]は [[SVG]]
仕様上の制約に加えて [[HTML]] の[[語句化内容]]とされています。

[3] [CODE(HTMLe)@en[[[meta]]]] [[要素]]は、[[属性]]次第で[[語句化要素]]となることもあります。

[4] [[テキスト]]は、[[語句化内容]]です。

[5] [[自律カスタム要素]]は、[[語句化内容]]です。

* 文脈

[21] [[語句化内容]]またはそれに近いものが使える非 [[HTML]] 構造:

- [[SRT]]
- [[escaped markup]]
- [[IIIFのHTML]]

* 関連

[6] [[語句化内容]]は、すべて[[フロー内容]]でもあります。

[SEE[ [[表現と構造の分離]] ]]

* 歴史

** 前史

[23] 
[[SGML応用]]では[[語句化内容]]相当の[[要素]]の表現にいくつかの流儀がありました。
そのうちの一派は
[[CERN SGMLguid]]
のように
[CODE[hp[VAR[n]]]]
[[要素]]群を使う方式でした。
[SEE[ [[hpn]] ]]

[34] 
[CODE[hp[VAR[n]]]] 
は
[VAR[n]]
によって[[太字]], [[斜体]]などの表示効果を割り当てて使われました。

[35] 
誕生当初の [[HTML]] は [[CERN SGMLguid]] から [CODE[hp[VAR[n]]]]
を引き継いだものの、実装と仕様化は不完全のまま保留状態でした。
[SEE[ [[HTML 1991]] ]]

** 語句化要素の誕生


[39] 
予約されていた [CODE(HTMLe)[hp[VAR[n]]]] 要素型群に代わって
語句のマークに使う語彙として [[DocBook]] や [[MIME]]
のものなどが候補に挙がりましたが、結局 [[GNU]] [[Texinfo]]
のものが中心に採用されました。
[CODE(HTMLe)[[[code]]]], [CODE(HTMLe)[[[var]]]],
[CODE(HTMLe)[[[em]]]], [CODE(HTMLe)[[[strong]]]],
[CODE(HTMLe)[[[b]]]], [CODE(HTMLe)[[[i]]]]
などが [[HTML]] に取り入れられました。

-*-*-

[93] 
[[Dan Connolly]] は[TIME[西暦1992(平成4)年][1992]]の半ば頃から、
[[HTML]] の仕様書と [[SGML DTD]] の作成に取り組んでいました。
[SEE[ [[HTML2]] ]]
年末に差し掛かる頃には、
当時の仕様書に未使用とだけ書かれていた [CODE[hp[VAR[n]]]]
の処理に取り掛かりました。

-[1312] 
[CITE@en[HTML DTD issues]], 
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Thu, 19 Nov 92 04:37:23 CST][1992-11-19T04:37:23-06:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-08-12T08:33:49.120Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0068.html>
-- [58] 
[CITE[EMail Msg <9211191037.AA16353@pixel.convex.com>]] ([CODE[2007-07-02 21:23:37 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1992.messages/315.html>


[91] >>1312 は[TIME[1992-11-19]]の [[DanC]] の投稿。
[[TimBL]] の仕様書で未使用とされている
[CODE[hp1]],
[CODE[hp2]],
[CODE[hp3]],
[CODE[hp4]],
[CODE[hp5]]
をどうするかについて、

- [95] prefer: [[TeX]] より
[CODE[em]],
[CODE[tt]],
[CODE[cite]]
- [96] could: 
O'Reilly/Hal [[DocBook]]
より
[CODE[Emphasis]],
[CODE[OopsChar]], 
[CODE[wordasword]],
[CODE[CiteBook]],
[CODE[Subscript]],
[CODE[Superscript]]

の2系統の案を提示しています。 [SRC[>>1312]]
これに対する返信は >>2612 の [[TimBL]] の返答と、 [[DocBook]] に賛成するものの2件。

[36] [[DanC]] のメールでは [[TeX]] と書かれているが、正確なところは不明。
後述の通り [CODE[\em]], [CODE[\tt]] は [[LaTeX]] にあり、
[CODE[@cite]] (と [CODE[@emph]]) は [[Texinfo]] にある。
[[LaTeX]] の [CODE[\cite]] は少し意味が違って、
[[citation]] への参照を表す。

- [2612] 
[CITE@en[Re: HTML DTD issues]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[Thu, 19 Nov 92 14:32:11 +0100][1992-11-19T14:32:11+01:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-28T13:16:58.618Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0072.html>
- [1412] 
[CITE@en[Future plans for HTML]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[1992-12-02T18:35:56.000Z]], [TIME[2024-08-12T09:20:27.147Z]] <https://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Future.html>


[92] 
>>2612 は >>91 に対する[TIME[1992-11-19]]の
[[Tim Berners-Lee]]
の返信。
[CODE[hp[VAR[n]]]]
の番号システムはよくないとしつつも、
絶対に十分ではないこと、例えば
CiteBook 
があるのに
CiteProgram
がない、ということを指摘しました。また、
[[DocBook]] の名前は長いのではないかと書いています。

[97] 
これだけでは真意を把握しかねるところもありますが、
ファイル日付が[TIME[1992-12-02]]の >>1412 にはより詳しい記述があります。
すなわち:

- [98] [CODE[hp[VAR[n]]]] は未実装
- [99] bold / italic / fixed width の highlighting は有用
- [100] 3案ある:
-- [101] Numbered HPn tags
--- [102] 意味がない (meaningless)、みんなどれが bold でどれが italic か覚えないといけない
-- [103] Logical tags
--- [104] >>95 >>96
--- [105] 絶対に十分ではないのでこれは bold になるのでとの理解で再利用することになるのが問題
-- [106] Physical tags
--- [107] [[MIME]] の [CODE[Bold]], [CODE[italic]] など
--- [108] bold, italic が利用できない環境では他の表現に置き換えられると理解しなければならない

[109] 
つまり、
[[DocBook]] のように論理的な要素をいくら用意したところで、
いくらでも漏れは出てきます。
例えば[[船名]]を[[斜体]]にしたくても、専用の[[要素]]がありません。
[[斜体]]になるものといえば [CODE[var]] があります。
そうなると[[船名]]は [CODE[var]] で表せばいいということになってしまいます。


[37] この [[TimBL]] の指摘は慧眼というべきで、 [CODE[blockquote]] 
が[[字下げ]]に使われる事案など、
この後の時代にそういうものを嫌と言うほど見せつけられることになる。

[38] [CITE[HTML5]] の時代になって [[Ian Hickson]] が[[物理要素]]の完全排除を断念して
[CODE[b]] や [CODE[i]] を新しい意味で復活させたのも、このときの [[TimBL]]
と同じ判断。


- [110] 
[CITE[MIME, SGML, UDIs, HTML and W3]], 
[[Tim Berners-Lee]],
Thu, 11 Jun 92 12:22:56 -0400,
[TIME[2003-08-04T15:50:20.000Z]], [TIME[2024-09-29T13:19:56.283Z]] <https://lists.w3.org/Archives/Public/www-talk/1992MayJun/0038.html>

[111] >>1412 の [[MIME]] への言及は、 [[MIME]] [CODE[text/richtext]] に関するものですが、
[[MIME]] と [[HTML]] の関係をどうするかが議論になっていた半年前の >>110 
の [[TimBL]] 記事の理解が土台となっていると思われます。

- [112] [[MIME]] と [[HTML]] は同じ段階: [[SGML]] っぽいけど [[SGML]] ではないもの
-- [113] [[MIME]] [CODE[text/richtext]] も [[SGML]] にするべき、簡単にできる
- [114] [[MIME]] [CODE[text/richtext]] と [[HTML]] を比べると、
-- [115] BOLD と ITALIC が [[HTML]] に足りていない
-- [116] [[HTML]] の論理的な見出し水準やその他の構造の扱いは、
フォントサイズを明示的に半ば参照する方式より、
異なるプラットフォームにおける比較的柔軟な書式付けを提供できることがわかっている
--- [117] [[TeX]] のかわりに [[LaTeX]] や他のマクロを使う場合などなど、
明示的な書式付けのかわりに名前付きスタイルを使うすべてのシステムで実証されている
-- [118] 技術的には [[HTML]] はいくらかのものを [[MIME]] [CODE[text/richtext]]
に与えられる
--- [119] [[MIME]] の人々は追加を望むか?
--- [120] 望まないなら、
---- [121] [[HTML]] は [[MIME]] [CODE[text/richtext]] とは別にする
---- [122] [[HTML]] に BOLD と ITALIC (または2つの文字強調スタイル) を追加する
---- [123] [[HTML]] を [[MIME]] text standard の1つとして提案する
- [124] なお [[HTML]] 仕様の [CODE[hp0]], [CODE[hp1]] は未実装

[127] [CODE[text/richtext]] には [CODE[bold]], [CODE[italic]] の他にも文字サイズ、
改行改頁、ページヘッダー・フッター、下線などの機能がありますが、
[[HTML]] に欠けているのは [CODE[bold]] と [CODE[italic]] というのが [[TimBL]]
の判断だったようです。

[128] 
[[SGML]] の設計原理である[[一般化マーク付け]]の考え方が、ここで明確に [[HTML]]
の従うべき方針として言語化されていることに注意したいです。
これが初出でしょうか (探せばもっと前にもあるかも)。

[129] 
[[TimBL]] が [[SGML]] や [[LaTeX]] や [[Texinfo]]
の設計方針をよく理解していたのか、それとも
[[NeXTSTEP]] の [[WorldWideWeb]] と各[[プラットフォーム]]の
[[Line Mode Browser]] とその他の[[Webブラウザー]]が既にあって、
利用できる[[フォント]]その他の条件がまったく異なる環境でも機能しなければならない、
という現実的制約から必然的に同じ結論に導かれたのかはわかりませんが。
[[WorldWideWeb]] が[[スタイルシート]]機能を持っていたので、基礎的な考え方は
[[SGML]] から引き継いだのかもしれません。

;; [130] 逆に [[MIME]] がなんであれだけ思いっきり[[物理マーク付け]]に走ったのか。
やっぱり実装の容易さでしょうか。 [[MUA]] 
も負けず劣らずいろいろな環境を考慮しなければならなかったはずですが...
[[WWW]] は母体となる [[CERN SGMLguid]]
があったからというのは大きいのでしょうが、
[CODE[text/richtext]]
も思いっきり [[SGML]] 風の構文を採用したからには、設計者は何かしらの 
[[SGML応用]]に接する環境にはいたはずですよね。

;;
[132] 
[[WWW]] は最初から高度な [[GUI]] の [[NeXTSTEP]] と一般的なテキスト環境の両方があった、
というところで判断が分かれたのでしょうかね。


[94] 
[TIME[1992-11-30]]付仕様書、
[TIME[1992-12-03]]付 [[DTD]] が現存します ([SEE[ [[HTML2]] ]]) が、 [CODE[hp[VAR[n]]]]
も新要素も入っていません。



-[57] 
[CITE[EMail Msg <9211301327.AA05269@pixel.convex.com>]] ([CODE[2007-07-02 21:17:14 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1992.messages/370.html>
-- [133] [CITE[An HTML specification and Implementors' Guide]], 
[[Dan Connolly]],
Mon, 30 Nov 92 07:27:01 CST,
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T14:14:20.340Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0123.html>

[134] >>133 の[TIME[1992-11-30]]付 [[DanC]] のメールには、
未決の課題が挙げられています。

>
[PRE[
Highlighting: Who's tags should we use? LaTeX seems to be an adequate
markup system for lots of folks. Its tags are
	em | it | bf | sf | sl | tt

The DocBook folks use only semantic tags: they don't have bold or italic
tags. The MIME richtext stuff has only typographic tags: no <emphasis>
or <booktitle> or any such thing.
]PRE]


[135] 
つまり、この時点ではまだ未決で、

- [136] [[LaTeX]] は多くの人に十分なもの : 
[CODE[em]], [CODE[it]], [CODE[bf]], [CODE[sf]], [CODE[sl]], [CODE[tt]]
- [137] [[DocBook]] は[RUBYB[意味的][semantic]]なものだけ
-- bold, italic がない
- [138] [[MIME]] [CODE[text/richtext]] は [[typographic]] なものだけ
-- emphasis, booktitle などがない

と決めかねていました。



- [139] 
[CITE[The spec evolves...]], 
[[Dan Connolly]],
Fri, 04 Dec 92 13:11:32 CST,
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T14:23:11.923Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0155.html>

[140] >>139 は[TIME[1992-12-04]]のメールですが、
[TIME[1992-12-02]]版 [[HTML]] 仕様をアップロードした旨の案内で、
[[DTD]] の変更を説明しています。

[142] >>139 は変更点として[[SGML宣言]]を変更して

>
[PRE[
	<bold/foo bar/   in stead of
	<bold>foo bar</bold>
]PRE]

のような省略形 ([CODE[SHORTTAG]]) を禁止することにしたとしています。
実態に合わせたものですが、 >>56 とも関係します。

[143] 
ここでなぜ [CODE[bold]] を例示に出したのかは謎です。
現存する前後の [[DTD]] には [CODE[bold]] の定義がありません (>>94)。
そのものが現存しない[TIME[1992-12-02]]版にはあるいは含まれていた可能性もありますが、
>>139 が変更点として挙げていないのでもっと前に追加されたことになり、
しかし[TIME[1992-11-30]]より後となりますから、かなり無理があります。

[144] ともかく追加候補として [CODE[bold]] が念頭にあったというくらいは言えるでしょうか。


-[59] 
[CITE[EMail Msg <9212070355.AA05717@pixel.convex.com>]] ([CODE[2007-07-02 21:27:49 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1992.messages/412.html>
-- [76] 
[CITE[Re: The spec evolves...]], 
[[Dan Connolly]],
[TIME[Sun, 06 Dec 92 21:55:04 CST][1992-12-06T21:55:04-06:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T14:44:28.577Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0165.html>


[60] 
>>59 の[TIME[1992-12-06]]の [[DanC]] のメールは、
[TIME[1992-12-07]]の [[Texinfo]]
に言及したメール ([[時差]]の関係でこちらが先)
に触発されて次のように書いています。

> Yea! TeXinfo is a Good Thing, and I think it's highly appropriate
that W3 support it as an authoring environment. The beauty of TeXinfo
is that it's _not_ a programming language like TeX or troff. That
makes it possible to develop correct translators. (Otherwise you
run into the halting problem... it's everywhere!)
> I studied the TeXinfo documentation for a couple hours before I
released the last version of the HTML spec. The major feature
of TeXinfo lacking in HTML is character-level formatting (font
changes.)
> There were a few TeXinfo commands (@ctrl for one) that don't
fit the HTML mold. So I looked at the LaTeX options: em, tt, bd, sl, sf
and the DocBook options, and nroff, and decided I didn't have
time to choose the right set.
>[I'm also keeping MS Word (RTF) and FrameMaker (MIF) in mind.]

[90] これによると

- [145] HTML の仕様書の最新版を release した前の数時間で [[Texinfo]]
を研究した
-- [146] [[Texinfo]] にあって [[HTML]] に欠けたる大きな機能は文字レベルの書式付け
(フォント変更)
-- [147] [[HTML]] になじまないものもいくつかあった、例えば [CODE[@ctrl]]
--- [148] そこで [[LaTeX]] ([CODE[em]], [CODE[tt]], [CODE[bd]], [CODE[sl]], [CODE[sf]]),
[[DocBook]], [[nroff]] も見た
---- [149] が、どれがいいか選ぶ時間がなかったことにした
- [150] [[Microsoft Word]] [[RTF]] や [[FrameMaker]] [[MIF]] も念頭にある

とのことです。

[151] 
このメールの前に仕様書を公開したとのことですが、
それは送信の直前と解するべきでしょうか。
返信元のメールが [TIME[Mon, 07 Dec 1992 01:07:52 +0100][1992-12-07T01:07:52+01:00]],
このメールが [TIME[Sun, 06 Dec 92 21:55:04 CST][1992-12-06T21:55:04-06:00]]
で、この間4時間弱です。
一応このメールの内容とは合致します。

[152] 
それとも[TIME[1992-12-04]]の仕様公開前の数時間と解するべきなのでしょうか。
[TIME[1992-12-07]]付[[メール]]で [[Texinfo]] に思い至ったわけではなく、
元からちょうど調べていたところで、
その時は何も書かなかったものの、 [[Texinfo]] の話題が出たから詳しく書いたということでしょうか。

;; [159] 
この前後、仕様の新版公表時にメールで変更点を送っているので、このときだけサイレントで新版を公開したとは考えにくく、
となると[TIME[1992-12-04]]説が妥当か。


[153] >>148 の
「そこで」のつながりもあまりよくわかりません。
[[Texinfo]] が良さげだと思ったものの、
[CODE[@ctrl]] のように [[HTML]] に完全にはフィットしないので、
他にもっといいものがないか探したということでしょうか。

[154] 
この書き方だと、結局 [[Texinfo]] はこの時点でまだ仕様書に追加してはいなかったということになるのでしょうか。
だとすると[TIME[1992-12-04]]説の方が妥当な解釈でしょうか。

[155] 
とわからないことだらけではありますが、 [[DanC]] がこれまでに[[メーリングリスト]]で挙げられていたもの以外にもいろいろな[[文書形式]]を調べていた(調べようとしていた)ことがわかります。

;; [160] 他にこの時期に別言語から [[HTML]] に追加しようとしたものに、
[CODE[blockquote]],
[CODE[typewriter]] があります。 [SEE[ [[blockquote]], [[<typewriter>]] ]]

-[55] 
[CITE[EMail Msg <9212090000.AA00605@pixel.convex.com>]] ([CODE[2007-07-02 20:33:40 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1992.messages/428.html>
-- [125] [CITE[HTML: use SGML keyboarding features?]], 
[[Dan Connolly]],
Tue, 08 Dec 92 18:00:38 CST,
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T13:59:21.639Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0181.html>


[56] >>55
[[Dan Connolly]] の、[[語句要素]]を入力するのが面倒なので
[CODE(SGML)@en[[[SHORTTAG]]]] を使えるようにしませんかという提案。
[[TimBL]] の返信は否定的で、採用されず。

[126] >>125 に示された[TIME[1992-12-08]]時点の [[DanC]] 案は、

>
[PRE[
As I was adding phrase-level elements (from TeXinfo:
em, strong, code, file, cite, etc.) [SNIP[]]
]PRE]

とあり、 [[Texinfo]] 由来で 
[CODE[em]],
[CODE[strong]],
[CODE[code]],
[CODE[file]],
[CODE[cite]]
等を追加しようとしていたそうです。


- [156] 
[CITE@en[new HTML spec, sample implementation]],
[[Dan Connolly]],
Wed, 06 Jan 93 19:23:43 CST,
[TIME[1995-08-08T03:09:16.000Z]], [TIME[2024-09-29T15:16:58.716Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/10.html>

[77] >>156
このときの仕様書は現存が確認されていませんが、 [[DTD]] は
[CODE[html.dtd,v]] に 1.3 93.01.07.00.38.36 があります。

>
[PRE[
 $Id: html.dtd,v 1.3 93/01/06 18:38:10 connolly Exp Locker: connolly $
]PRE]

とあります。

[75] >>156 には

>
[PRE[
Now about that last few changes to the HTML spec...

INLINE ELEMENTS

I added <em>, <samp>, <code>, and several other elements,
inspired by TeXinfo. We need these to support conventional
technical documentation. The list is not exhaustive, but
I think it's pretty good.
]PRE]

と変更点があり、このときの仕様書に初めて [[Texinfo]] に着想を得た要素群が追加されたようです。

[182] 
>>75 は inline elements という表現の初出でしょうか。

[157] >>77 によると [[DTD]] への追加分は

>
[PRE[
<!ENTITY % inline "EM | TT | STRONG | B | I | U |
                        CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
        >
]PRE]

でした。


[78] 
この時に texinfo から Dan の html.dtd に輸入されたのは 
[CODE(HTMLe)[code]], [CODE(HTMLe)[[[samp]]]],
[CODE(HTMLe)[[[kbd]]]], [CODE(HTMLe)[[[key]]]], [CODE(HTMLe)[[[var]]]], [CODE(HTMLe)[[[dfn]]]], 
[CODE(HTMLe)[[[cite]]]] です。
そのうちの [CODE(HTMLe)[dfn]] と [CODE(HTMLe)[key]] は数奇な運命をたどっております。 
(それぞれの説明を参照されたし。)

[79] 
1992年12月3日 → 1993年1月6日で
[CODE(SGML)@en[%[[inline]];]] として追加されたのは:
[CODE(HTMLe)@en[[[em]]]], [CODE(HTMLe)@en[[[tt]]]],
[CODE(HTMLe)@en[[[strong]]]], [CODE(HTMLe)@en[[[b]]]],
[CODE(HTMLe)@en[[[i]]]], [CODE(HTMLe)@en[[[u]]]],
[CODE(HTMLe)@en[[[code]]]], [CODE(HTMLe)@en[[[samp]]]],
[CODE(HTMLe)@en[[[kbd]]]], [CODE(HTMLe)@en[[[key]]]],
[CODE(HTMLe)@en[[[var]]]], [CODE(HTMLe)@en[[[var]]]],
[CODE(HTMLe)@en[[[dfn]]]], [CODE(HTMLe)@en[[[cite]]]]。



-[158] 
[CITE@en[Re: new HTML spec, sample implementation]],
[[Dan Connolly]],
Date: Mon, 11 Jan 93 17:20:08 CST,
[TIME[1995-08-08T03:09:22.000Z]], [TIME[2024-09-29T15:31:02.858Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/36.html>


[161] >>158 の[TIME[1993-01-11]]の [[DanC]] の投稿は何気に重要記事で、
追加要素に関する [[GNU Texinfo]] のドキュメント該当部分を引用しています。
ここから追加当時の
[CODE[code]],
[CODE[samp]],
[CODE[kbd]],
[CODE[key]],
[CODE[var]],
[CODE[dfn]],
[CODE[cite]],
[CODE[@emph]] ([CODE[em]]),
[CODE[strong]],
[CODE[i]],
[CODE[b]]
の想定された用法を知ることができます。

[162] 注意したいのは、

- [163] [CODE[@ctrl]]
がこの引用には含まれない
- [164] 
「[I left @file out of HTML -- can't remember why.]」
- [165] [CODE[@emph]] があるが追加されたのは [CODE[em]]
- [166] [CODE[@t]] がこの引用にはある ([CODE[tt]] に相当するがこのとき
[CODE[tt]] は追加されていない)
- [167] [CODE[u]] がこの引用にはない

という点でしょうか。

[168] [CITE[EMail Msg <9301120436.AA00126@pixel.convex.com>]], [TIME[1995-08-08T03:09:23.000Z]], [TIME[2024-09-30T08:19:27.229Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/39.html>

>
[PRE[
42. (Definition of these and reference
- Dan?)
They come from TeXinfo.

43. I left the TeXinfo @file element out. I don't remember why.
It might have been an oversight. Do we want it in there?
]PRE]

[NOTE[
[169] 当項目の主題とは関係ないがこういうのも:

>
[PRE[
4. HTML should support QUESTION and RESPONSE elements to
support converting USENET FAQ's to HTML
]PRE]

- [170] [CITE[EMail Msg <9301121728.AA01295@www3.cern.ch>]], [TIME[1995-08-08T03:09:23.000Z]], [TIME[2024-09-30T08:24:59.165Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/44.html>
- [171] [CITE[EMail Msg <9301121901.AA15286@pixel.convex.com>]], [TIME[1995-08-08T03:09:24.000Z]], [TIME[2024-09-30T08:26:19.911Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/46.html>
- [172] 
[CITE[EMail Msg <9301122142.AA13427@soccer.cis.ohio-state.edu>]], [TIME[1995-08-08T03:09:24.000Z]], [TIME[2024-09-30T08:27:20.293Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/47.html>


]NOTE]


[173] >>177 [TIME[1993-01-14]]の [[TimBL]]:
>
[PRE[
> 43. I left the TeXinfo @file element out. I don't remember why.
> It might have been an oversight. Do we want it in there?

No too sepcific. We have enough.
]PRE]


;; [174] これが too specific だというなら、他のも too specific なのでは、
という疑問がないでもない。どこに線を引くのかは難しい問題。



[180] ちなみに >>177 は [[man]] の [[HTML]] 化のために
[CODE[pre]] の中で [CODE[b]], [CODE[i]], [CODE[u]]
が必要という [[TimBL]] の認識を示していて、これらの[[要素]]が必要と考えられた理由の1つが知られます。




- [221] [CITE[null]], [TIME[2022-09-18T02:23:36.000Z]], [TIME[2024-10-01T12:59:02.154Z]] <https://suika.suikawiki.org/www/2005/pre-id/html-spec-199303.pdf#page=18>

[222] >>221 は[TIME[平成5(1993)年3月][1993-03]]頃のものと思われる
[[HTML]] 仕様書案で、[[語句化内容]][[要素の意味]]の説明としては現在知られる最古のものです。
これより古いのは [[DanC]] による [[Texinfo]] からの引用
(>>158) と [[DTD]] 追加時の概要説明 (>>75) だけしかありません。

[223] >>158 の引用は[[語句化内容]]要素の説明を [[TimBL]] の仕様書 ([SEE[ [[HTML 1991]] ]])
に追加したいが[[要素の意味]]がわからないというコメントに対する返答なので、
>>158 時点で >>158 が最も詳細な説明だったことと、それを基にした説明が
[[TimBL]] の仕様書がこの後追加されたことがわかります。

[224] その追加後の状態の [[TimBL]] の仕様書の現存は確認されていませんが、
>>221 の要素の説明部分は、他の要素の説明文や途中に 「Tim BL」
と書かれた箇所があることから推測して、 [[Tim BL]] の [[HTML]] 
版仕様書の文言に由来していると推測されます。
この推測が正しいとすれば、 >>221 の[[語句化内容]]要素の説明は >>223
の追加分だと考えられます。

[225] >>221 の[[語句化内容]]要素の説明部分:

>
[LEFT[
[B[3.18 Character highlighting]]

Status: Extra

These elements allow sections of text to be formatted in a particular way, to provide emphasis, etc. The tags do[BR[]]
NOT cause a paragraph break, and may be used on sections of text within paragraphs.[BR[]]
Where not supported by implementations, like all tags, these should be ignored.[BR[]]
All these tags have related closing tags, as in[BR[]]

[CODE[This is <EM>emphasised</EM> text.]]

Some of these styles are more explicit than others about how they should be physically represented. The logical[BR[]]
styles should be used wherever possible, unless for example it is necessary to refer to the formatting in the text.[BR[]]
(Eg, "The italic parts are mandatory".)

[B[3.18.0.4 Note:]]

Browsers unable to display a specified style may render it in some alternative, or the default, style, with some loss[BR[]]
of qualtity for the reader. Some implementations may ignore these tags altogether, so information providers should[BR[]]
ettempt not to rely on them as essential to the information content.[BR[]]
These element names are derived from TeXInfo macro names.

[B[3.18.1 Physical styles]]

,[B[TT]], Fixed-width typewriter font
,[B[B]], "Boldface, where available, otherwise alterntive mapping allowed."
,[B[I]], Italic font (or slanted if italic unavailable).
,[B[U]], Underline??

[B[3.18.2 Logical styles]]

,[B[EM]], "Emphasis, typically italic."
,[B[STRONG]], "Stronger emphasis, typically bold."
,[B[CODE]], Example of code
,[B[SAMP]] ,A sequence of litteral characters
,[B[KBD]] ,"in an instruction manual, Text typed by a user."
,[B[VAR]] ,A variable name
,[B[DFN]] ,The defining instance of a term
,[B[CITE]] ,A citation

[B[3.18.3 Examples of use]]

See test complete markup set. Tim BL

]LEFT]

[372] 
[CODE[key]] の説明がなぜかありません。 [[DTD]] にはあります。

-*-*-

[210] 
このとき追加された[[要素]]を出所で整理すると、

- [211] [CODE[strong]], [CODE[b]], [CODE[i]], [CODE[code]], [CODE[samp]],
[CODE[kbd]], [CODE[key]], [CODE[var]], [CODE[dfn]], [CODE[cite]] : 
[[Texinfo]] からの借用 (>>201)
- [212] [CODE[em]], [CODE[tt]] : [[LaTeX]] からの借用 (>>181)
- [213] [CODE[u]] : 不明

の3系統の元言語から取り込まれたことになります。

[HISTORY[

;; [214] 当時の資料を発掘する前の古い分析:

[80] 
>>79
1993年5月の [[GNU]] [[Texinfo]] 3.1 のマニュアルの[[語句要素]]相当の部分と比較すると:
- [CODE@en[[[emph]]]] が [[HTML]] では [CODE(HTMLe)@en[[[em]]]]
- [CODE@en[[[t]]]] が [[HTML]] では [CODE(HTMLe)@en[[[tt]]]]
- [[Texinfo]] にはない [CODE(HTMLe)@en[[[u]]]]
- [[HTML]] にはない [CODE@en[[[file]]]] と
[CODE@en[[[ctrl]]]] (ただし [[Texinfo]] [[マニュアル]]では非表示になっている)
と [CODE@en[[[r]]]] と [CODE@en[[[sc]]]]

という違いがあります。 [CODE@en[[[ctrl]]]] は [[HTML]]
には相応しくなかろうと [[Dan Connolly]] が発言しています。
[CODE@en[[[r]]]] と [CODE@en[[[sc]]]] は
[[Texinfo]] 2 の新機能と [CODE(file)@en[[[NEWS]]]]
に書いてあるので、もしかすると Dan
が参照した版には入っていなかったのかもしれません
(し、入っていたけど[[フォント]]を直接指定するものはあえて除外したのかもしれません)。

]HISTORY]

[82] 
予想ですが、 [CODE(HTMLe)@en[[[em]]]] は
[CODE@en[[[emph]]]] では長すぎるから 
([[LaTeX]] より拝借)、 [CODE(HTMLe)@en[[[tt]]]] は
[CODE@en[[[t]]]] では短すぎるから (それほど使わなそうな割に)、
[CODE(HTMLe)@en[[[u]]]] は [[Microsoft Word]]
に [CODE(HTMLe)@en[[[b]]]] と [CODE(HTMLe)@en[[[i]]]]
と一緒にあるから、というような理由ではないでしょうか。
([[名無しさん]])

[83] 
んー、でも [[RTF 1.0]] に含まれているのは [CODE@en[\u]] ではなく
[CODE@en[\[[ul]]]] だ。。。
([[名無しさん]])

[84] 
[CODE(HTMLe)@en[[[em]]]] が略されて [CODE(HTMLe)@en[[[strong]]]]
が略されなかったのはなぜでしょう。 [[LaTeX]]
になかったから?

[179] 
>>148 にあるように [[DanC]] が [[LaTeX]] を検討していて、そこに
[CODE[em]] と [CODE[tt]] があります。理由はわかりませんが、
この2つだけは [[LaTeX]] から採られたと考えて間違いなさそうです。

[220] 
>>157 の [[DTD]] 追加部分の[[要素]]の順序、改めて見ると
[CODE[em]] と [CODE[tt]] が先頭にあります。
[CODE[code]] から [CODE[cite]]
は [[Texinfo]] のマニュアルの順序そのままです。
間に [CODE[strong]], [CODE[b]], [CODE[i]], [CODE[u]]
が挟まっているのがよくわかりませんが。


[215] 
[CODE[u]] は今のところ先行する言語の採用例が見つかりません。しかし特徴的な
「[B[B]]」「[I[I]]」「[U[U]]」
ボタンに着想を得た可能性はありそうです。

- [217] [CITE@en[Microsoft Office 3.0 For Windows 3.1 : Microsoft : Free Download, Borrow, and Streaming : Internet Archive]], [TIME[2024-10-01T12:43:22.000Z]] <https://archive.org/details/microsoft-office-3.0-for-windows-3.1/ss1.png>
-- [218] [CITE[about2.png (PNG 画像, 640 × 480 px) — 表示倍率 (93%)]], [TIME[2021-12-29T11:00:50.000Z]], [TIME[2024-10-01T12:44:46.188Z]] <https://ia904608.us.archive.org/19/items/microsoft-office-3.0-for-windows-3.1/about2.png>

[219] >>218 は [[Macintosh]] 版 [[Microsoft Word]] 3.0 ([TIME[1992]])
の[[画面写真]]。
「[B[B]]」「[I[I]]」「[U[u]]」
とボタンが並んでいるのがわかります。

[226] 
ところで >>222 からの経緯で作られた [[HTML]] の仕様書で [CODE[u]]
が「下線??」
と意味が不明になっていることは見逃せません。
追加後何ヶ月も立たないうちに、追加の当事者らによって作られた仕様書であるにも関わらず、
早くも新要素の意味が推測だけで書かれるという、異常な事態が起こっています。

[227] 
[[DanC]] の引用には [CODE[@i]], [CODE[@b]], [CODE[@t]] があって [CODE[u]]
や [CODE[tt]] はありませんが、 [[DanC]] はそれに気づかずに(?)メールを送っています。
[CODE[@file]] が [[HTML]] から抜け落ちたことには気づいているのですが。

- [228] [CODE[@emph]] があって [CODE[em]] はない
- [229] [CODE[@t]] があって [CODE[tt]] と [CODE[u]] はない

という [[HTML]] との違いを説明しなければならないはずなのに、そのことに気づいていないし、
[CODE[@file]] が抜けている理由も覚えていない [[DanC]] たん、
[[クリスマス]]休暇を挟んだ1ヶ月ちょっとの間で旧年中の作業のことが記憶から消えちゃうおっちょこちょいさんですね...

[230] 
そのおっちょこちょいで、意図しないことが起こっている可能性というのも、
一応考えておいた方がいいのかもしれません。 [CODE[@t]] をみて [CODE[t]]
を追加しようとしたのに、うっかり [CODE[u]] を追加してしまった、とか。

[231] 
[CODE[u]] だけ敢えて他のところから探してきて追加したのだとすると、
それを忘れちゃうというのは流石にどうかと思うのです。たくさんあるうちの1つとかではないので。

[42] [TIME[1993-01-06]]版 [[HTML DTD]] では
[DFN[[CODE[%inline;]]]]
に分類されていました。
[CODE[%inline;]] と [CODE[#PCDATA]] が [DFN[[CODE[%inline;]]]] とされていました。

[41] [TIME[1994-04-09]]版 [[HTML DTD]] から [CODE[%inline;]] が細分化されました。
これによって次のような階層関係になりました。

- [44] [CODE[%text;]]
-- [45] [CODE[#PCDATA]]
-- [46] [CODE[img]]
-- [47] [CODE[br]], [[お尻[CODE[p]]]]
-- [48] [DFN[[CODE[%font;]]]] - いわゆる[[物理要素]]
-- [49] [DFN[[CODE[%phrase;]]]] - いわゆる[[論理要素]]

[50] この [[DTD]] での使われ方を分析すると、どうやら [CODE[pre]] と[[物理要素]]、
[CODE[pre]] 以外と[[論理要素]]、という組み合わせに限定しようと考えていたようです。

[51] [CODE[pre]] との組み合わせはその後断念されますが、
このときの[[物理要素]]と[[論理要素]]の区別は [[HTML4]] まで残りました。

[444] 
[[HTML 2.0]] 本文ではこの区別が
phrase markup
のうちの
Typographic Elements
と
Idiomatic Elements
の区分となっています。

[86] 関連: [CODE[key][<key>]],
[CODE[cite]]

- [178] [CITE[EMail Msg <9301120436.AA00126@pixel.convex.com>]], [TIME[1995-08-08T03:09:23.000Z]], [TIME[2024-09-30T08:55:51.184Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/39.html>
- [177] [CITE@en[Re: HTML todo list]], 
[[Tim Berners-Lee]],
Thu, 14 Jan 93 18:02:07 +0100,
[TIME[1995-08-08T03:09:27.000Z]], [TIME[2024-09-30T08:52:00.112Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/64.html>
-[175] [CITE[EMail Msg <9301142323.AA26924@pixel.convex.com>]], [TIME[1995-08-08T03:09:27.000Z]], [TIME[2024-09-30T08:49:00.000Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/66.html>


[176] >>175 [CODE[pre]] の中で制限するしない問題



[FIG(data)[ [545] [[HTML要素概説]]

:[F[要素名]]:[CODE[bold]]
:日付:[TIME[1992-12-04]]
:説明:
[TIME[1992-12-04]]、
[[Dan Connolly]]
は [[www-talk]] に[TIME[1992-12-02]]版
[[HTML]]
仕様書の案内を投稿したが、その例文で
[CODE[bold]]
が使われた。仕様書本体は現存が確認されず、
[CODE[bold]]
が含まれていたかは不明。
[SEE[>>546]]
:出典:
[REFS[

-
[DFN[HTML19921204:Dan]]:
[CITE@en[The spec evolves...]], 
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Fri, 04 Dec 92 13:11:32 CST][1992-12-04T13:11:32-06:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T14:23:11.923Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0155.html>

]REFS]
:注釈:
- [546] 
当時 
[[[CODE[text/richtext]]]] の 
[CODE[bold]] と [CODE[italic]] の[[借用]]が検討されたことはあったが、
現存する前後の [[HTML DTD]] に含まれていない。
[SRC[SW:[[語句化内容]]]]

]FIG]

[FIG(data)[ [548] [[HTML要素概説]]

:[F[要素名]]:[CODE[hp1]]
:[F[要素名]]:[CODE[hp2]]
:[F[要素名]]:[CODE[hp3]]
:[F[要素名]]:[CODE[hp4]]
:[F[要素名]]:[CODE[hp5]]
:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[tt]]
:[F[要素名]]:[CODE[cite]]
:日付:[TIME[1992-11-19]]
:説明:
[TIME[1992-11-19]]、
[[Dan Connolly]]
は [[www-talk]] への投稿で、
[CODE[hp1]],
[CODE[hp2]],
[CODE[hp3]],
[CODE[hp4]],
[CODE[hp5]]
に代わる新[[要素]]群の案を提示した。
[SRC[>>131]]
後に
[CODE[em]],
[CODE[tt]],
[CODE[cite]]
などが追加され
[CODE[hp1]]
などは廃止された。
:出典:
[REFS[

-[131] 
[CITE@en[HTML DTD issues]], 
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Thu, 19 Nov 92 04:37:23 CST][1992-11-19T04:37:23-06:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-08-12T08:33:49.120Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0068.html>
- [261] 
[CITE@en[Re: HTML DTD issues]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[Thu, 19 Nov 92 14:32:11 +0100][1992-11-19T14:32:11+01:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-28T13:16:58.618Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0072.html>
- [141] 
[CITE@en[Future plans for HTML]], 
[DATA(.author)[[[Tim Berners-Lee]]]],
[TIME(.published)[1992-12-02T18:35:56.000Z]], [TIME[2024-08-12T09:20:27.147Z]] <https://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Future.html>

]REFS]

]FIG]

[FIG(data)[ [43] [[HTML要素概説]]

:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[cite]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[code]]
:[F[要素名]]:[CODE[file]]
:日付:[TIME[1992-12-08]]
:説明:
[TIME[1992-12-08]]の
[[Dan Connolly]]
の [[www-talk]] への投稿によると、
[[Dan Connolly]]
は
[[GNU Texinfo]]
から
[[HTML]]
に
[CODE[em]][SEE[>>547]],
[CODE[strong]],
[CODE[code]],
[CODE[file]],
[CODE[cite]]
等を追加しようとしていた。
:出典:
[REFS[

-
[DFN[UseSGMLKbd]]:
[CITE@en[HTML: use SGML keyboarding features?]], 
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Tue, 08 Dec 92 18:00:38 CST][1992-12-08T18:00:38-06:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T13:59:21.639Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0181.html>

]REFS]
:注釈:
- [547] 
[[GNU Texinfo]] では [CODE[@emph]]。

]FIG]




[FIG(data)[ [19] [[HTML要素概説]]

:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[tt]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[b]]
:[F[要素名]]:[CODE[i]]
:[F[要素名]]:[CODE[u]]
:[F[要素名]]:[CODE[code]]
:[F[要素名]]:[CODE[samp]]
:[F[要素名]]:[CODE[kbd]]
:[F[要素名]]:[CODE[key]]
:[F[要素名]]:[CODE[var]]
:[F[要素名]]:[CODE[dfn]]
:[F[要素名]]:[CODE[cite]]
:日付:[TIME[1993-01-06]]
:説明:
[TIME[1993-01-06]]、
[[HTML]] に
[CODE[code]], [CODE[samp]], [CODE[kbd]], [CODE[key]], 
[CODE[dfn]], [CODE[var]], [CODE[cite]],
[CODE[em]], [CODE[tt]], [CODE[strong]], [CODE[b]], [CODE[i]], [CODE[u]]
が追加された。
[SEE[>>549]]
[[GNU Texinfo]] に着想を得たものと説明されている。
[SEE[>>550]]
[SRC[>>552]]
[SRC[SW:語句化内容]]
:出典:
[REFS[

-
[552] 
[DFN[HTML19930106:Dan]]:
[CITE@en[new HTML spec, sample implementation]],
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Wed, 06 Jan 93 19:23:43 CST][1993-01-06T19:23:43-06:00]],
[TIME[1995-08-08T03:09:16.000Z]], [TIME[2024-09-29T15:16:58.716Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q1.messages/10.html>

]REFS]
:注釈:
- [549] 
[TIME[1993-01-06]]版 [[HTML]] 仕様書の本文は現存が確認されていない。
案内メールによって [CODE[em]], [CODE[samp]], [CODE[code]] の追加が知られる。
[SRC[>>552]]
同じ日付の [[HTML DTD]] が現存し他の[[要素]]の追加も確認できる。
[SRC[SW:語句化内容]]
- [550] 
追加[[要素]]のうち [CODE[em]], [CODE[tt]] は [[GNU Texinfo]] に同名の[[命令]]がなく、
[CODE(texinfo)[@emph]], [CODE(texinfo)[@t]] がある。
[[LaTeX]] に [CODE(tex)[\em]], [CODE(tex)[\tt]] がある。
[CODE[u]] は [[GNU Texinfo]] にも [[LaTeX]] にもなく出所が不明である。
[SRC[SW:語句化内容]]

]FIG]



*** Texinfo からの借用

[201] 
[[DanC]] が明言しているように最初に追加された[[語句化内容]][[要素]]群は基本的に
[[Texinfo]] からの[[借用]]です (>>161)。  

[232] 
[[GNU Texinfo]] は [[GNUプロジェクト]]の[[ドキュメント]]システムです。
[[GNU Emacs]] など [[GNU]] 製品の[[ドキュメント]]で使われています。
[[テキスト]]系の専用の[[マーク付け言語]]で記述しますが、
[[TeX]] の[[マクロ]]として実装されていることから [[Texinfo]]
の名があり、印刷物形態のマニュアルを生成することもできますし、
専用プログラム等で画面表示することもできます。

[233] 
書籍版は [[TeX]] の提供する高品質な組版機能に預かることができる一連なりの静的な[[頁媒体]]であるのに対して、
画面表示は章節ごとに区切られ前後・上層・下層に移動できる閲覧ソフトウェア内で、
当時の貧弱な (しかも[[プラットフォーム]]ごとに違いの大きい)
基礎的な文字表示機能だけの文章が上下スクロールしつつ表示されるという構造であります。
この2系統の性質が大きく異なる[[媒体]]で同一の文書ファイルを利用するため、
[[Texinfo]] は[[文字]]の[[書体]]や大きさを直接記述するよりは、
章節の構造や語句の性格を記述する言語として発達しました。


[234] 
この [[Texinfo]] の[[装置非依存]]の[[記述的マーク付け]]的性質こそ、 
様々な異なる[[プラットフォーム]]で利用され特定の[[書体]]や文字サイズへの対応を強制し得ない
[[HTML]] 
の開発者達が求めていたものでした。しかも[[マニュアル]]等の技術文書の表現は初期の
[[HTML]] の主要な[[応用]]分野であり、そのものまさに [[GNU Texinfo]] 
から [[HTML]] への変換ソフトウェアも開発されていましたから、
技術文書の記述に実績のある [[GNU Texinfo]] の[[語彙]]は [[HTML]]
にとって魅力的なものだったのです。




[202] 
[[DanC]] が参照した [[Texinfo]] のドキュメントからの引用がありますが [SRC[>>158]]、
改めて当時のドキュメントを確認してみます。
[[DanC]] が参照したものがどのように入手したどのドキュメントだったのかまでは不明ですが、
当時の
[[GNU Texinfo]]
のドキュメントは
[[GNU Emacs]]
に同梱されて配布されていて、現在も近い時期のものが残っています。

- [203] 
[CITE@en[emacs-history/ftp.gnu.org/old-gnu/emacs/emacs-18.59.tar.gz at sources · larsbrinkhoff/emacs-history · GitHub]], [TIME[2024-09-30T13:44:44.000Z]] <https://github.com/larsbrinkhoff/emacs-history/blob/sources/ftp.gnu.org/old-gnu/emacs/emacs-18.59.tar.gz>

[204] >>203 のファイルの中身のファイルの日付は、 [CODE[ChangeLog]]
が[TIME[1992-10-31]]となっています。他はそれより古いファイルです。

[205] [CODE[man/texinfo.texi]] という日付が[TIME[1990-09-26]]のファイルがあります。
[CITE@en[Texinfo 1.1]]
と題されており、

>
[PRE[
This file documents Texinfo, a documentation system that uses a single
source file to produce both on-line help and a printed manual.  

This is edition 1.1 of the Texinfo documentation, and is for the Texinfo
that is distributed as part of Version 18 of GNU Emacs.

Copyright (C) 1988 Free Software Foundation, Inc.
]PRE]

>
[PRE[
@center The GNU Documentation Format
@sp 2
@center by Richard M. Stallman and Robert J. Chassell
@sp 2
@center Edition 1.1
@sp 2
@center May 1988
]PRE]

と冒頭にあります。

[206] その内容を見ると、 [[DanC]] の引用とよく似た箇所があります。
引用した部分以外にも多くの説明があります。分量が多いですが、
重要なので引いておきます。

[207] いわゆる[[論理要素]]に相当するもの:

>
[PRE[
@section Specifying Definitions, Files, Commands etc.
@cindex Highlighting
@cindex Specifying commands, files and the like
@cindex Definitions, specifying them within text
@cindex Commands, specifying them within text
@cindex Files, specifying them within text

Texinfo has a variety of commands for specifying just what kind of object a
piece of text refers to.  Metasyntactic variables, for example, are marked
by one @@-command and code by another.  Texinfo uses this information to
determine how to highlight the text.  Since the pieces of text are labelled
by commands that tell what kind of object they are, it is easy to change
the way Texinfo formats and typesets such text.  For example, code is
usually illustrated in a typewriter font, but it would be easy to change
the way Texinfo highlights code to use another font.  This change would not
effect how metasyntatic variables are highlighted.  If straight typesetting
commands were used in the body of the file, you would have to check every
single occurrence to make sure that you were changing code and not
something else that should not be changed.

In addition, the commands can be used to generate useful information from
the file, such as lists of functions or file names.  It is possible, for
example, to write code in Emacs Lisp (or a keyboard macro) to insert an
index entry after every paragraph that contains the text labelled by a
specified command.  You could do this to construct an index of functions if
you had not already made the entries.

The commands serve a variety of purposes:

@table @code
@item @@code
Indicates text that is a literal example of a piece of a program.@refill

@item @@samp
Indicates text that is a literal example of a sequence of characters.@refill

@item @@file
Indicates the name of a file.@refill

@item @@kbd
Indicates the names of keys on the keyboard or characters you type.@refill

@item @@key
Used for the conventional name for a key on a keyboard.@refill

@item @@ctrl
Indicates an ASCII control character.

@item @@var
Indicates a metasyntactic variable.

@item @@dfn
Indicates the introductory or defining use of a term.

@item @@cite
Indicates the name of a book.
@end table



@menu
* Code::	A literal example of a piece of a program.
* Samp::	A literal example of a sequence of characters.
* File::	The name of a file.
* Kbd::		The names of keys or else characters you type.
* Key::		The conventional name for a key on a keyboard.
* Ctrl::	Indicates the ASCII control character.
* Var::		A variable.
* Dfn::		The introductory or defining use of a term.
* Cite::	The name of a book.
@end menu

@node     Code, Samp, , Specifying
@comment  node-name,  next,  previous,  up
@subsection @@code
@findex code

@code{@@code} is used to indicate text that is a piece of a program which
consists of entire syntactic tokens.  The text follows, enclosed in braces.

For example, @code{@@code} is used for an expression in a program, the name
of a variable or function used in a program, or a keyword.  @code{@@code}
is not used for a piece of a token, such as when speaking about the
characters used in a token; for example, when you are explaining what
letters or printable symbols can be used in the names of functions.  It is
also not used for input to programs unless the input is written in a
language that is like a programming language.  For example, it is not used
for the single character commands of GNU Emacs although it is used for the
names of Emacs Lisp functions that the keyboard commands invoke.

You should also @code{@@code} for command names in command languages that
resemble programming languages, such as Texinfo or the shell.  Note,
however, that @code{@@code} is not used for options such as @samp{-c} when
such options stand alone.  There is some argument as to whether an entire
shell command incorporating an option should be written using @code{@@code}
or @code{@@samp}.@refill

It is an error to alter the case of a word inside an @code{@@code}
command.  This is a particularly insidious error if the language being
documented is case sensitive.  If the command is @code{printf}, then
@code{Printf} is a misspelling.  If you do not like having such a command
with lower case at the beginning of a sentence, you may wish to rearrange
the sentence.

In the printed manual, @code{@@code} puts the argument in bold face.
In the Info file, it uses `@dots{}' quotation.  For example:

@example
To compare two files, showing text inserted or removed, use @@code@{diff@}.
@end example

@noindent
produces

@quotation
To compare two files, showing text inserted or removed, use @code{diff}.
@end quotation

@iftex
In the Info file, it looks like this:

@example
@dots{}, use `diff'
@end example
@end iftex

@node     Samp, File, Code, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@samp
@findex samp

@code{@@samp} is used to indicate text that is a literal example of a
sequence of characters in a file, string, pattern, etc.  The text follows,
enclosed in braces.  The argument appears within `@dots{}' quotation in
both the Info file and the printed manual; in addition, it is printed in a
fixed-width font.

@example
To match @@samp@{foo@} at the end of the line, use the regexp @@samp@{foo$@}.
@end example

@noindent
produces

@quotation
To match @samp{foo} at the end of the line, use the regexp @samp{foo$}.
@end quotation

Any time you are referring to single characters, you should use @code{@@samp}
unless @code{@@kbd} is more appropriate.  Basically, @code{@@samp} is a
catchall for whatever is not covered by @code{@@code}, @code{@@file},
@code{@@kbd}.

Punctuation marks that are part of the English text that surrounds the
strings you are specifying are @emph{never} included within the braces.  In
the following sentence, for example, the commas and period are outside of
the braces:

@example
A symbol name ends in @@samp@{a@}, @@samp@{b@}, or @@samp@{c@}.
@end example

@node     File, Kbd, Samp, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@file
@findex file

@code{@@file} is used to indicate text that is the name of a file or
directory.  Currently, it is equivalent to @code{@@samp} in its effects on
the output.  For example,@refill

@example
The @@file@{.el@} files are in 
the @@file@{/gnu/emacs/lisp@} directory.
@end example

@noindent
produces

@quotation
The @file{.el} files are in 
the @file{/gnu/emacs/lisp} directory.
@end quotation

@node     Kbd, Key, File, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@kbd
@findex kbd

@code{@@kbd} is used much like @code{@@code}.  The difference is that
@code{@@kbd} is for names of keys on the keyboard, or of characters you can
type.  For example, to refer to the command @kbd{M-a}, you would use

@example
@@kbd@{M-a@}
@end example

@noindent
and to refer to @kbd{M-x shell}, you would use

@example
@@kbd@{M-x shell@}
@end example

The @code{@@kbd} command has the same effect as @code{@@code} in Info,
but may produce a different font in a printed manual.@refill

You can embed another @@-command inside the braces of a @code{@@kbd}
command.  This is the way to describe a command that would be described
more verbosely as ``press an @samp{r} and then press the @key{RET} key'__&&'&&__:

@example
@@kbd@{r @@key@{RET@}@}  
@end example

@noindent
This produces: @kbd{r @key{RET}}

You also use the @code{@@kbd} command if you are spelling out the letters
you type; for example:

@example
To give the @@code@{logout@} command, 
type the characters @@kbd@{l o g o u t @@key@{RET@}@}.
@end example

@noindent
This produces

@quotation
To give the @code{logout} command, 
type the characters @kbd{l o g o u t @key{RET}}.
@end quotation

@node     Key, Ctrl, Kbd, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@key
@findex key

@code{@@key} is used for the conventional name for a key on a keyboard, as
in

@example
@@key@{RET@}
@end example

Often, @code{@@key} is used within the argument of a @code{@@kbd}
command, whenever the sequence of characters to be typed includes one or
more keys that are described by name.@refill

For example, to produce @kbd{C-x @key{ESC}} you would use 

@example
@@kbd@{C-x @@key@{ESC@}@}
@end example


The recommended names to use for keys are in upper case and are

@table @t
@item SPC
Space.
@item RET
Return.
@item LFD
Linefeed.
@item TAB
Tab.
@item BS
Backspace.
@item ESC
Escape.
@item DEL
Delete.
@item SFT
Shift.
@item CTL
Control.
@item META
Meta.
@end table

There are subtleties to handling words like `meta' or `ctrl' which are
names of shift keys.  When mentioning a character in which the shift key is
used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone without the
@code{@@key} command, but when you are referring to shift key in isolation,
use the @code{@@key} command.  For example, you would use
@samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and @samp{@@key@{META@}} to
produce @key{META}.

@node     Ctrl, Var, Key, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@ctrl
@findex ctrl

@code{@@ctrl} is used to describe an ASCII control character.  The pattern
of usage is @code{@@ctrl@{@var{ch}@}}, where @var{ch} is an ASCII character
whose control-equivalent is wanted.  Thus, you put in an @samp{f} when
you want to indicate a @samp{control-f}

Thus, to specify @samp{control-f}, you would enter

@example
@@ctrl@{f@}
@end example

@noindent
which produces

@quotation
@ctrl{f}
@end quotation

In the Info file, this generates the specified control character, output
literally into the file.  This is done so a user can copy the specified
control character (along with whatever else he or she wants) into another
Emacs buffer and use it.  Since the `control-h',`control-i', and
`control-j' characters are formatting characters, they should not be
indicated this way.@refill

In a printed manual, this generates text to describe or identify that
control character: an uparrow followed by the character @var{ch}.

@node     Var, Dfn, Ctrl, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@var
@findex var

@code{@@var} is used to indicate metasyntactic variables.  A metasyntactic
variable is something that stands for another piece of text.  You would use
a metasyntactic variable in the documentation of a function to describe the
arguments that are passed to that function.

@code{@@var} is not used for names of particular variables in programming
languages.  For example, the Texinfo variable @code{texinfo-tex-command} is
not a metasyntactic variable.

Its effect in the Info file is to upcase the argument; in the printed
manual, to italicize it.  Example:

@example
To delete file @@var@{filename@}, type @@code@{rm @@var@{filename@}@}.
@end example

@noindent
produces

@quotation
To delete file @var{filename}, type @code{rm @var{filename}}.
@end quotation

In some documentation styles, metasyntactic variables are shown with angle
brackets, for example: 

@example
@dots{}, type rm <filename>
@end example

@node     Dfn, Cite, Var, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@dfn
@findex dfn

@code{@@dfn} is used to identify the introductory or defining use of a
technical term.  The command should be used only in a passage whose purpose
is to introduce a term which will be used again or which the reader ought
to know.  Mere passing mention of a term for the first time doesn't deserve
@code{@@dfn}.  It generates italics in the printed manual, and double
quotation marks in the Info file.  Example:

@example
Getting rid of a file is called @@dfn@{deleting@} it.
@end example

@noindent
produces

@quotation
Getting rid of a file is called @dfn{deleting} it.
@end quotation

@node     Cite, , Dfn, Specifying
@comment  node-name,  next,  previous,  up
@subsection @@cite
@findex cite

@code{@@cite} is used for the name of a book.  It produces italics
in the printed manual, and quotation marks in the Info file.
]PRE]

[208] 
[[強調]]と[[物理要素]]に相当するもの:

>
[PRE[
@node     Emphasis, , Dots Bullets Tex, Marking Text
@comment  node-name,  next,  previous,  up
@section Emphasizing Text
@cindex  Emphasizing text

Usually, Texinfo changes the font automatically to mark words in the text
according to what category the words belong to.  The @code{@@code} command,
for example, does this.  Most often, this is the best way to mark specified
words.  However, sometimes you will want to emphasize text directly.
Texinfo has two ways to do this: commands that tell Texinfo to emphasize
the text but leave the method to the program, and commands that specify the
font to use.  The first method is generally the best and it makes it
possible to change the style of a document without have to re-edit it line
by line.

@menu
* Emph and Strong::	Emphasizing text.
* Fonts::		Selecting italic, bold or typewriter fonts.
@end menu

@node     Emph and Strong, Fonts, , Emphasis
@comment  node-name,  next,  previous,  up
@subsection @@emph and @@strong
@findex emph
@findex strong

@code{@@emph} and @code{@@strong} are two forms of emphasis.  @code{@@strong}
is stronger.

In printed output, @code{@@emph} produces @emph{italics} and @code{@@strong}
produces @strong{bold}.

In the Info file, both of these commands put asterisks around the
argument.

@node     Fonts, , Emph and Strong, Emphasis
@comment  node-name,  next,  previous,  up
@subsection @@i,  @@b and @@t
@findex i (italic font)
@findex b (bold font)
@findex t (typewriter font)

These three commands specify font changes in the printed manual and have no
effect in the Info file.  @code{@@i} requests @i{italic} font (in some
versions of @TeX{}, a slanted font is used), @code{@@b} requests @b{bold}
face, and @code{@@t} requests the @t{fixed-width} font used by
@code{@@kbd}.  All three commands apply to an argument that follows,
surrounded by braces.@refill

If possible, you should avoid using these three commands.  If you find a
need to use one, it probably indicates a lack in the Texinfo language.
]PRE]


[237] 
[[GNU Texinfo]] はこの時点で既に何年にもわたって多くのソフトウェアドキュメントの記述、
そしてソフトウェアに付属させての配布や印刷物としての出版の実績を積み重ねていて、
そのために必要な[[語彙]]がある程度整備されており、
しかもそれぞれの用法について詳しく説明されています。

;; [238] 
その利用実績が、明言はされていないとはいえ、 [[HTML]]
が完全に独自に[[要素]]を作るのではなく既存の[[言語]]からひとまとめに[[要素]]群を借用する方針を採った理由の1つではあるのでしょう。


[209] この詳細な説明が全文 [[HTML]] の要素一覧にも引かれていれば、
その後の展開もまた違ったものになっていたでしょうね。

;; [239] 
そのためにせっかく先行する [[GNU Texinfo]] で積み重ねられてきた[[要素]]の運用実績が、
[[HTML]] には十分引き継がれず、[[要素の意味]]が曖昧になってしまいました。

[240] 
[[GNU Texinfo]] のマニュアルの記述を要約すると:

- [241] [[Texinfo]] には[RUBYB[文章][text]][RUBYB[片][piece]]がどのような[RUBYB[種類のもの][kind of object]]を指すかを指定する命令がいろいろある
-- [242] 文章をどのように highlight するかの決定にこれを使う
--- [243] 符号は他のフォントにするが[[メタ構文変数]]はそのまま、のようなことが容易にできる
-- [244] 文書ファイルから有用な情報を生成するためにもこれを使える
--- [245] [[関数]]や[[ファイル名]]の一覧など
-- [324] 通常は[RUBYB[分類][category]]を示すこの方法が最善
- [325] 時々、文章を直接[RUBYB[強調][emphasize]]したいこともあるので、2つの方法がある
-- [326] [[強調]]することを知らせ、方法はプログラムに任せる命令
--- [328] 通常はこちらが良い
---- [329] いちいち再編集せずに文書の[RUBYB[様式][style]]を変更できる
-- [327] 利用する[[フォント]]を指定する命令
--- [352] 
これらの命令は避けるべき
--- [353] 
これらが必要になるとしたら、 [[Texinfo]] 言語の不足を表しているのかもしれない
- [246] [CODE[@code]]
-- [247] 概要: 
文章がプログラム[RUBYB[片][piece]]の[RUBYB[そのままの][literal]]例であると示す
-- [266] 
構文的字句全体であるようなプログラムの[RUBYB[一片][a piece]]たるような文章
(プログラミング言語に似た命令言語、例えば [[Texinfo]] や[[シェル]]の[[命令]]名を含む。)
を示す
--- [267] 適当な例: プログラム中の式、
あるいはプログラム中の変数や関数の名前、あるいはキーワード
--- [268] 不適当な例: 
字句の[RUBYB[一片][a piece]]、
あるいはプログラムへの入力 (入力がプログラム言語的な言語で書かれている場合を除く。)
---- [269] 不適当な具体例:
字句中で使われる文字について話すとき、
例えば関数名で使える[RUBYB[文字][letter]]や[RUBYB[印字可能記号][printable symbol]]の説明
---- [270] 不適当な具体例:
[[GNU Emacs]] の1文字命令
----- [271] 適当な具体例:
その鍵盤命令で呼び出される [[Emacs Lisp]] [[関数]]の名前
---- [272] 不適当な具体例:
[CODE[-c]] のような[[命令]]のオプションが単独で出現するとき
----- [273] オプションを含むシェル命令全体については、
[CODE[@code]] がよいか [CODE[@samp]] がよいか議論がある
-- [274] [[大文字と小文字]]を置き換えるのは適切ではない
--- [275] 文頭を小文字にしたくないときは文を書き換えるのがいい
-- [276] 表示: 印刷されたマニュアルでは[RUBYB[太字][bold face]]
-- [277] 表示: [[Info]] ファイルでは [CH[`]]...[CH[']] で引用
- [248] [CODE[@samp]]
-- [249] 概要:
文章が文字の[RUBYB[列][sequence]]の[RUBYB[そのままの][literal]]例であると示す
-- [278] 
ファイル、文字列、パターン等における文字の列のそのままの例である文章を示す
--- [282] 
基本的に [CODE[@samp]]
は [CODE[@code]], [CODE[@file]], [CODE[@kbd]] 
でカバーされないすべてに使える
--- [281] 
1字のとき、 [CODE[@kbd]] がより適切な場合を除き、
[CODE[@samp]] を使うのがいい
-- [283] 
英文の一部として文字列を囲む[[句読点]]類
([CODE[@samp]] の直後に来る [CH[,]] や [CH[.]] など)
は [CODE[@samp]] 内に書かない
-- [279] 表示: [[Info]] ファイルでは [CH[`]]...[CH[']] で引用、固定長フォント
-- [280] 表示: [[Info]] ファイルでは [CH[`]]...[CH[']] で引用
- [250] [CODE[@file]]
-- [251] 概要:
ファイルの名前を示す
-- [284] 
[[ファイル]]や[[ディレクトリー]]の名前である文章を示す
-- [285] 
表示: [CODE[@samp]] と同じ
- [252] [CODE[@kbd]]
-- [253] 概要:
打鍵した鍵盤上の鍵や文字の名前群を示す
-- [286] [CODE[@kbd]] は [CODE[@code]] と同じ用に使うが、
[[鍵盤]]上の鍵の名前や、打鍵できる文字の名前に使う
-- [287] 具体例: [CODE[@kbd{M-a}]]
-- [288] 具体例: [CODE[@kbd{M-x shell}]]
-- [291] 他の命令を含められる
--- [292] 具体例: [CODE[@kbd{r @key{RET}}]]
--- [293] 具体例: [CODE[@kbd{l o g o u t @key{RET}}]]
-- [289] 表示: 印刷されたマニュアルでは[RUBYB[太字][bold face]], 
違うフォントのことも
-- [290] 表示: [[Info]] ファイルでは [CH[`]]...[CH[']] で引用
- [254] [CODE[@key]]
-- [255] 概要:
鍵盤上の鍵の[RUBYB[通称][conventional name]]に使う
-- [294] 
鍵盤上の鍵の通称に使う
--- [295] 具体例: [CODE[@key{RET}]]
--- [296] 具体例: [CODE[@kbd{C-x @key{RET}}]]
-- [297] [RUBYB[推奨][recommended]]名:
[CODE[SPC]] ([[間隔]]), [CODE[RET]] ([RUBYB[[[復帰]]][return]]), [CODE[LFD]] ([[行送り]]), 
[CODE[TAB]] ([[タブ]]), [CODE[BS]] ([[後退]]), [CODE[ESC]] ([[逃避]]), [CODE[DEL]] ([[削除]]), 
[CODE[SFT]] ([[シフト]]), [CODE[CTL]] ([[制御]]), [CODE[META]] ([[メタ]])
-- [298] [[シフトキー]]名は単独のとき [CODE[@key]] を使い、
組み合わせのとき [CODE[@kbd]] だけで使う
--- [299] 具体例: [CODE[@kbd{Meta-a}]]
---- [300] ctrl でも同様
--- [301] 具体例: [CODE[@key{META}]]
- [256] [CODE[@ctrl]]
-- [257] 概要:
[[ASCII制御文字]]を示す
-- [302] 
[[ASCII制御文字]]を説明するため使う
--- [303] 対応する[[ASCII文字]]で指定する
--- [304] 具体例: [CODE[@ctrl{f}]] : control-f を表す
--- [307] 表示: 印刷されたマニュアルでは [CH[^]] + 指定された[[ASCII文字]]
--- [305] 表示: [[Info]] ファイルでは説明された[[制御文字]]
---- [308] なので読者が[[コピペ]]できる
---- [306] control-h, control-i, control-j は書式付け文字なのでこの方法で示すべきではない
- [258] [CODE[@var]]
-- [259] 概要:
[[メタ構文変数]]を示す
-- [265] 概要: [[変数]]
-- [309] 
[[メタ構文変数]]を示す。[[メタ構文変数]]というのは他の文章片を表すようなもの。
--- [310] 適当な具体例:
関数の説明で関数にわたす引数を表すため[[メタ構文変数]]を使う
--- [311] 不適当な例:
[[プログラミング言語]]の特定の[[変数]]の名前
---- [312] 不適当な具体例:
[[Texinfo]] の変数 [CODE[@code{texinfo-tex-command}]] のように 
[CODE[@var]] は不適当で [CODE[@code]] を使うのが適当
-- [314] 表示: 印刷されたマニュアルでは [[italic]] 化
-- [313] 表示: [[Info]] ファイルでは[[大文字]]化
-- [315] 表示: 文書化スタイルによってはメタ構文変数は [CH[<]]..[CH[>]] で括って表示
- [260] [CODE[@dfn]]
-- [262] 概要:
[RUBYB[用語][term]]の[RUBYB[初回][introductory]]や[RUBYB[定義としての][defining]]の利用を示す
-- [316] 
[RUBYB[技術用語][technical term]]の初回や定義としての利用を識別する
-- [317] 
再度使われる用語や読者が知っておくべき用語を導入するような場面でのみ使うべき
--- [318] 
単に用語が初めて登場したというだけで使うものではない
-- [319] 表示: 印刷されたマニュアルでは [[italic]] 化
-- [320] 表示: [[Info]] ファイルでは[[二重引用符]]で括って表示
- [263] [CODE[@cite]]
-- [264] 概要:
本の名前を示す
-- [321] 
本の名前に使う
-- [322] 表示: 印刷されたマニュアルでは [[italic]] 化
-- [323] 表示: [[Info]] ファイルでは[[引用符]]で括って表示
- [330] [CODE[@emph]]
-- [332] [RUBYB[[[強調]]][emphasis]]
-- [335] 表示: 印刷されたマニュアルでは [[italic]]
-- [337] 表示: [[Info]] ファイルでは前後に [CH[*]]
- [331] [CODE[@strong]]
-- [333] [RUBYB[[[強調]]][emphasis]]
-- [334] [CODE[@emph]] より[RUBYB[強い][stronger]]
-- [336] 表示: 印刷されたマニュアルでは[RUBYB[太字][bold]]
-- [338] 表示: [[Info]] ファイルでは前後に [CH[*]]
- [339] [CODE[@i]]
-- [342] 概要: [[italic]] フォント
-- [345] 表示: 印刷されたマニュアルでは [[italic]]
--- [351] [[TeX]] の版によっては [[slant]] 化フォント
-- [346] 表示: [[Info]] ファイルでは変化なし
- [340] [CODE[@b]]
-- [343] 概要: [RUBYB[太字][bold]]フォント
-- [347] 表示: 印刷されたマニュアルでは[RUBYB[太字][bold face]]
-- [348] 表示: [[Info]] ファイルでは変化なし
- [341] [CODE[@t]]
-- [344] 概要: [[タイプライター]]フォント
-- [349] 表示: 印刷されたマニュアルでは固定長フォント
-- [350] 表示: [[Info]] ファイルでは変化なし

[354] 
この[[語彙]]と説明の全体を眺めた感想:

- [355] ソフトウェアマニュアルの頻出の表現を、執筆者に過度な負担を求めない程度に、
しかし当時の表示環境を勘案しつつも美しく印刷できるように、
うまい塩梅の粒度だと思いました。
-- [373] 
例えばもっと細かく、
関数名、
引数名、
プログラム中の変数名、
環境変数名、
といくらでも際限なく[[語彙]]を増やしていくことは可能で、
その方が関数一覧が生成できたりと便利なことはあるのですが、
便利さと引き換えにマニュアル執筆の負担も増していきます。
-- [377] 
実のところ [[Texinfo]]
のこれより新しい版には
[CODE[@[[command]]]], [CODE[@[[option]]]],
[CODE[@[[env]]]] 
が追加されています。
- [356] [CODE[@code]] と [CODE[@samp]] は明らかに対照的、相補的に定められています。
誤解を恐れず一言でまとめてしまうなら、
[[プログラミング言語]]的なものの[[字句]](群)としてそのまま意味を成すものが [CODE[@code]]、
それ以外のすべてが [CODE[@samp]] となります。
-- [357] この対応関係が [[HTML]] に伝わらなかったのは大きな不幸でした。
-- [358] [CODE[@samp]] は名前と意味が合っていない気がします。
(でももっと適当な名は思いつかないですね。)
作られた頃はもっと違った整理だったのかもしれません。
これも不幸でした。
-- [361] [CODE[@code]] と [CODE[@samp]] は表示の違いもありますが、
索引的な処理で意味を持つのが [CODE[@code]]、持たないのが [CODE[@samp]]
という整理もできそうです。
--- [367] 索引を自動生成したときに出てきて嬉しいか、嬉しくないか、というのはきっといい判断基準のはず。
- [359] [CODE[@kbd]] はただ単に打鍵されるべき鍵・文字列を示すというよりは、
打鍵列を表す表記構文という1つの[[プログラミング言語]]的なもの用に特化した
[CODE[@code]] というべきかもしれません。
-- [360] ソフトウェアマニュアルならではの専用[[語彙]]といえます。
- [362] [CODE[@ctrl]] は [[SGML]] 的には[[文字参照]]で表すのが正統的な方法で、
[[HTML]] が採らなかったのは自然な流れといえますが、
ソフトウェアマニュアルとしてこの機能が必要だった (特にこの時代には。) のは頷けます。
- [363] [CODE[@file]] はソフトウェアマニュアルとして必要なことは確かですが、
なるほど [[HTML]] に持ち込むには具体的すぎると感じるのもわかります。
-- [364] ただ [CODE[@code]] とはちょっと違っているので、「その他全部」の [CODE[@samp]]
にするしかなくなります。
--- [365] 設定ファイルの名前やアプリケーションのディレクトリー名など、
[CODE[@file]] は二次利用が難しい「その他全部」枠よりは [CODE[@code]]
枠に近い使われ方が多そうです。 (「索引」基準なら [CODE[@code]] に入れたいですね。)
--- [366] でも [CODE[@code]] には収容できないとなると、
ファイル名の他に [[URL]] や [[ISBN]] のようなものも含めた「[[識別子]]」
カテゴリーを新設するという手もあったかもしれませんね。
もう少し広げて[[正規表現]]や [[XPath]] のようなものも含んだ「[[式言語]]」
枠もありかもしれません。
- [368] [CODE[@emph]], [CODE[@strong]] が推奨されない直接的な記述に分類されています。
これはちょっと意外ですね。
--[369] 
[[HTML]] では[[論理スタイル]]と[[物理スタイル]]に2分して、
[CODE[code]] 等と [CODE[em]], [CODE[strong]] を[[論理スタイル]]側に、
[CODE[b]] 等を[[物理スタイル]]側に分類し、
やがて[[物理スタイル]]は好ましくないという意識が生まれていくわけですが、
[CODE[em]], [CODE[strong]] は好ましい[[論理スタイル]]側に属していました。
-- [370] 
ただし [[Texinfo]] でも [CODE[@emph]], [CODE[@strong]] は次善で、
最終手段の [CODE[@b]], [CODE[@i]], [CODE[@t]] とは区分けされています。
- [371] [CODE[@emph]] より [CODE[@strong]] が強いという関係が明記されています。
- [374] 
[[下線]]を使う[[命令]]がなければ、表示にも使われていないことに気が付きます。
-- [375] 
ここに示していない [[Texinfo]] の[[命令]]で[[下線]]を使うものはありますが
([[見出し]]など)、
次の行に [CH[=]], [CH[-]] などを使って表現するとされています。
つまるところ、この時代には[[下線]]を表示するのが難しかった (少なくても[[可搬]]ではなかった)
ので有効な表現方法と考えられなかったということなのでしょう。
-- [376] 
[[太字]]や [[italic]] / [[slant]] も [[Info]] ファイルの画面表示には使っていないくらいなので、
[[下線]]が画面表示できないとしても印刷用だけは[[下線]]、
という[[命令]]は用意できたはずですが、それすらもないのは、
敢えて使うような表現方法とみなされていなかったのでしょうか。




[FIG(data)[ [553] [[HTML要素概説]]

:[F[要素名]]:[CODE[emph]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[b]]
:[F[要素名]]:[CODE[i]]
:[F[要素名]]:[CODE[code]]
:[F[要素名]]:[CODE[samp]]
:[F[要素名]]:[CODE[kbd]]
:[F[要素名]]:[CODE[key]]
:[F[要素名]]:[CODE[var]]
:[F[要素名]]:[CODE[dfn]]
:[F[要素名]]:[CODE[cite]]
:[F[要素名]]:[CODE[file]]
:日付:[TIME[1988-05]]
:説明:
[TIME[1988-05]]時点で
[[GNU Texinfo]]
に
[CODE(texinfo)[@code]], [CODE(texinfo)[@samp]], [CODE(texinfo)[@kbd]], [CODE(texinfo)[@key]],
[CODE(texinfo)[@file]],
[CODE(texinfo)[@dfn]], [CODE(texinfo)[@var]], [CODE(texinfo)[@cite]],
[CODE(texinfo)[@emph]], [CODE(texinfo)[@strong]],
[CODE(texinfo)[@b]], [CODE(texinfo)[@i]]
がある。
:出典:
[REFS[

-
[DFN[TEXINFO11]]:
[CITE@en[The GNU Documentation Format: Edition 1.1]],
[DATA(.author)[[[Richard M. Stallman]]]],
[DATA(.author)[[[Robert J. Chassell]]]],
[TIME(.published)[May 1988][1988-05]].

]REFS]

]FIG]

*** LaTeX からの借用

[181] 
[CODE[em]] と [CODE[tt]] は、その[[要素名]]を [[LaTeX]] から[[借用]]したと考えられます
(>>148 >>179)。

- [183] [CITE@en[CTAN: /tex-archive/obsolete/macros/latex209/distribs]], [TIME[2024-09-30T12:43:22.000Z]] <https://ctan.org/tex-archive/obsolete/macros/latex209/distribs>
-- [184] [TIME[2024-09-30T12:43:35.200Z]]
<https://mirrors.ctan.org/obsolete/macros/latex209/distribs/latex209.tar.gz>

[185] >>184 に [TIME[1997-01-22 01:00][1997-01-22T01:00]] 付の
[CODE[latex209.tar.gz]]
があります。
中身のファイルの日付は[TIME[1992-03-19]], [TIME[1992-03-20]], 
[TIME[1992-04-01]]のいずれかの[[正時]]に揃っています。
どうにも不自然ですが、[TIME[1997-01-22]]に過去のファイルを集めて作成した[[tar玉]]なのでしょう。

[186] [[DanC]] が参照したものが何だったのか、 [[LaTeX]] という以外に情報がありませんが、
この [[tar玉]]の中身とそう遠くはないものだろうと期待されます。

[187] 
[CODE[general/latex.tex]] という[TIME[1992-04-01]]のファイル
[CITE[LATEX VERSION 2.09 <25 March 1992>]]
には、

>
[PRE[
%     ****************************************
%     *           COMMAND LIST               *
%     ****************************************
[SNIP[]]
%  IN DOCUMENT :
%    FONT SELECTION:
%         SIZE: \normalsize \small \footnotesize \scriptsize \tiny
%               \large \Large \LARGE \huge \Huge
%         STYLE: \bf \it \rm \sl \ss \tt \mit[math mode only]
]PRE]

とあります。

[188] 
[CODE[general/sfonts.tex]] という[TIME[1992-03-19]]のファイル
[CITE[File SFONTS - Version of 25 November 1991]]
には、

>
[PRE[
% protected font names
\def\rm{\protect\prm}
\def\it{\protect\pit}
\def\bf{\protect\pbf}
\def\tt{\protect\ptt}
\def\sl{\@subfam\sl\it}
\def\sf{\@subfam\sf\rm}
\def\sc{\protect\psc}
 
\def\em{\protect\pem{}}
\def\pem{\relax\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi}
]PRE]

とあります。

[189] 
[CODE[general/lfonts.tex]] という[TIME[1992-03-19]]のファイル
[CITE[File LFONTS - Version of 25 November 1991]]
には、

>
[PRE[
% \em is defined to be \it inside an unslanted style and \rm inside a
% slanted style.  An \em command in a section title will produce a \pem
% command in the table of contents.
%

\def\em{\protect\pem{}}
\def\pem{\relax\ifdim \fontdimen\@ne\font >\z@ \rm \else \it \fi}
]PRE]

>
[PRE[
% protected font names
\def\rm{\protect\prm}
\def\it{\protect\pit}
\def\bf{\protect\pbf}
\def\sl{\protect\psl}
\def\sf{\protect\psf}
\def\sc{\protect\psc}
\def\tt{\protect\ptt}
]PRE]

とあります。

[190] 
[CODE[general/local.tex]] という[TIME[1992-03-19]]のファイル
[CITE[local.tex -- released 26 February 1992]]
には、

>
[PRE[
[SNIP[]]Table~\ref{tab:fonts}
tells, for every type size, to which class of fonts each type style
belongs.  For example, in 14pt type, \verb|\bf| uses a preloaded
font and the other five type-style commands use load-on-demand fonts.
Roman (\verb|\rm|) and math italic (\verb|\mit|) fonts are all
preloaded; the \hbox{\verb|\em|} declaration uses either italic
(\verb|\it|) or roman.
]PRE]

とあってフォントとサイズの表があります。

[191] 
以上、 [[DanC]] の引用 (>>138) と若干違うのが気になりますが、
[CODE[\tt]] を含む7種類のフォントスタイルがあり、 [CODE[\em]] 
が [CODE[\it]] または [CODE[\rm]] のどちらかとして実装されていることがわかります。

[192] 
[CODE[local.tex]] には [CODE[\tt]] や [CODE[\em]] が大量に使われているので、
いくつか用法を見ておきましょう。

[193] [CODE[\em]] で書名を強調

>
[PRE[
computers at SRC. It is not about \LaTeX\ itself, which is described by
the manual---{\em \LaTeX: A Document Preparation System}, published by
Addison-Wesley, available at fine book stores everywhere.
]PRE]

[194] [CODE[\em]] で入力する文字列を強調、 [CODE[\tt]] でファイル名

>
[PRE[
(You must type the space followed by the period at the end.  This
and all other Ultrix commands are ended by typing {\em return}.)
A copy of the file \mbox{\tt sample.tex} is now in your current
directory; you can edit it just like any other file.  If you destroy or
]PRE]

[195] [CODE[\em]] で文書名を強調

>
[PRE[
You must use a text editor to prepare an input file for \LaTeX. The
document {\em Welcome to SRC\/} describes the text editors available
at SRC.  The easiest way to start learning about \LaTeX\ is by 
]PRE]

[196] [CODE[\em]] で[[打鍵]]列を強調

>
[PRE[
because it is printing a seemingly unending string of uninformative
error messages, type {\em Control-C\/} (press $C$ while holding down
the key labeled {\em CTRL\/}).  This will make \LaTeX\ stop as if it
]PRE]

[197] [CODE[\em]] で文中の語を強調、 [CODE[\tt]] で [[LaTeX]] の機能名

>
[PRE[
Except for these differences, a \SLiTeX\ input file prepared for the
ordinary {\tt slides} style {\em should\/} work with the {\tt
ps-slides} style.  There are probably some \SLiTeX\ commands that will
]PRE]

[198] [CODE[\em]] で可変部分を強調、 [CODE[\tt]] で実行するコマンド

>
[PRE[
\begin{quote} \tt
     aptex -Pcolor {\em file-name}.dvi
\end{quote}
]PRE]

[199] 他にも用例が多数あります。 [CODE[\tt]] はおおむね現在の [[HTML]] の [CODE[code]]
の役割で使われています。 [CODE[\em]] はいろいろな意味で[[強調]]、
周りとの区別を表すために使われていて、現在の [[HTML]] 
でいえば [CODE[em]], [CODE[strong]], [CODE[var]], [CODE[kbd]]
など幅広く応用されています。

[200] 
これを現在視点から見ると [CODE[code]] があるのに [CODE[tt]] は要らなそうにも感じますが、
当時の [CODE[code]] の意味と比べると、 [CODE[\tt]] がないと困りそうです。
[CODE[@file]] が省かれて [CODE[\tt]] が採用された理由もこの辺りにあるのかもしれません。

[235] 
これらに出現するものを [[DanC]] の言及と比較すると、

,* [[LaTeX]] ,>>187 ,    ,bf ,it ,rm ,   ,sl ,   ,ss ,tt ,
,* [[LaTeX]] ,>>188 ,    ,rm ,it ,bf ,tt ,sl ,sf ,sc ,   ,em
,* [[LaTeX]] ,>>189 , em ,rm ,it ,bf ,   ,sl ,sf ,sc ,tt ,
,* [[DanC]]  ,>>134 , em ,   ,it ,bf ,   ,sf ,sl ,   ,tt ,
,* [[DanC]]  ,>>148 , em ,   ,tt ,bd ,   ,sl ,sf ,   ,   ,
,* [[HTML]]  ,      , em ,   ,   ,   ,   ,   ,   ,   ,tt ,

と実にバラバラで、 [[DanC]] が参照したのはここで引いたどれでもなかったのかもしれませんが、
それにしても >>134 と >>148 で違うのは一体どういう理由によるものなのでしょう。

[236] 
>>134 と >>148 の違いは誤記、誤写、もしかすると[[手書き]]を経由している可能性すらあるのではとも思わせられますね。


[FIG(data)[ [554] [[HTML要素概説]]

:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[tt]]
:日付:[TIME[1992-03]]
:説明:
[TIME[1992-03]]の
[[LaTeX]] 2.09
に
[CODE(tex)[\em]],
[CODE(tex)[\tt]]
がある。
:出典:
[REFS[

-
[DFN[LATEX209]]:
[CITE@en[[CODE[latex209.tar.gz]]]],
[TIME(.published)[1997-01-22 01:00][1997-01-22T01:00]],
[TIME[2024-09-30T12:43:35.200Z]]
<https://mirrors.ctan.org/obsolete/macros/latex209/distribs/latex209.tar.gz>

]REFS]

]FIG]




*** 初期要素のその後


[470] [[Texinfo]] の詳しい説明が引き継がれず [[HTML]] では短い簡潔な説明になりましたが、
それでは使い方がわからないということで、後続の仕様で少しずつ言い方が改められています。
しかしそれでも不明瞭な部分が多く、[[著者]]は解釈に悩まされ、色々な使い方をしてきました。

[471] [[HTML5]] はその反省から、あるものは利用の実態に合わせて、
あるものは新たに利用目的を再設定することにより、
詳細な[[要素の意味]]の説明を0から決め直しました。

;; [472] 
それによって意味は明確になり、利用しやすくはなりましたが、
[[GNU Texinfo]] の原義とは離れたものもあります。
また、 [[GNU Texinfo]] 側でも新機能の追加などで意味の変化が置きています。

[445] 
[[Texinfo]] は必ずしも違った表示にしていませんでしたが、
[[HTML 2.0]] は地の文と違った表示にすることを求めています:


>   User agents must render highlighted phrases distinctly from plain
>   text. Additionally, <EM> content must be rendered as distinct from
>   <STRONG> content, and <B> content must rendered as distinct from <I>
>   content.

[446] 
[[HTML 2.0]] も指定されたままの表示を必須とまではしていません。例えば [[italic]]
を表示できない環境で [CODE[i]] を [[italic]] 表示せよと無理強いはしていません。
しかし地の文や [CODE[b]] と違う表示は求めています。


**** [CODE[code]] のその後

[386] [[Texinfo]]:

> Indicates text that is a literal example of a piece of a program.

[401] >>225

>
,[B[CODE]], Example of code

[378] [[HTML 1.0]]:

>
:CODE:Example of code. typically monospaced font.
(Do not confuse with  PRE )

>
:[CODE(HTMLe)[code]]:符号の例。典型的に単一幅フォント。
([CODE(HTMLe)[[[pre]]]] と混同しないように。)

[379] [[RFC 1866]] ([[HTML 2.0]]):

> 5.7.1.2. Code: CODE
> The <CODE> element indicates an example of code, typically
rendered in a mono-spaced font. The <CODE> element is intended for
short words or phrases of code; the <PRE> block structuring
element (5.5.2, "Preformatted Text: PRE") is more appropriate
for multiple-line listings. For example:

> [CODE(HTMLe)[code]] 要素は符号の例を示し、
典型的に単一幅のフォントでレンダリングします。
[CODE(HTMLe)[code]] 要素は符号の短い語や語句を想定しています。
複数行の並びには [CODE(HTMLe)[pre]]
ブロック構造化要素がより適切です。例:

> The expression <code>x += 1</code>
is short for <code>x = x + 1</code>.

> 式 <code>x += 1</code> は
<code>x = x + 1</code> の略です。

[380] [[HTML2]] ([[RFC 1866]], [[RFC 2070]]) DTD 注釈:

> <CODE>     Source code phrase

> [CODE(HTMLe)[code]] 原始符号語句

[381] [[HTML+]] 議論文書
<http://www.w3.org/MarkUp/HTMLPlus/htmlplus_18.html>:

>
:code:code example - usually shown in fixed pitch font

>
:[CODE(HTMLe)[code]]:符号例 — 通常固定幅フォントで

[382] [[HTML 3.0]] I-D <http://www.w3.org/MarkUp/html3/logical.html>:

> The <CODE> element indicates an example of code; typically rendered in a mono-spaced font. Do not confuse with PRE.

> [CODE(HTMLe)[code]] 要素は符号の例を示します。
典型的に単一幅フォントでレンダリングされます。
[CODE(HTMLe)[pre]] と混同しないように。

[496] [[HTML 3.2]]

>CODE used for extracts from program code

[383] HTML 4 仕様書 <IW:HTML4:"struct/text.html#edef-CODE"> いわく:

> Phrase elements add structural information to text fragments. The usual meanings of phrase elements are following:
> [INS[(略)]]
>
:CODE:Designates a fragment of computer code.

> 語句要素は文素片に構造的情報を追加します。
語句要素の通常の意味は次の通りです。 [INS[(略)]]
:[CODE(HTMLe)[code]]:計算機符号の素片を示す。

[384] [[ISO-HTML利用者の指針]]
<http://purl.org/NET/ISO+IEC.15445/Users-Guide.html#UNREFINED>:

> <CODE>  [W3C 9.2.1]—Program code

> [CODE(HTMLe)[code]] プログラム符号

[385] [[XHTML 1.0]] [[DTD]] 注釈
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_code>:

> program code

> プログラム符号

[464] [[HTML5]]

>Computer code

>The [CODE[code]] element represents a fragment of computer code. This could be an XML element name, a filename, a computer program, or any other string that a computer would recognize.


[473] 「符号」という中心義を維持しながらも、そのあり方はかなりの変化を見ています。

- [474] 「例示」だったものがいつの間にかなくなっています。
-- [475] この「例示」は [[Texinfo]] の時点で既にあまり実態をよく反映していなかったように思われます。
「命令のドキュメントでその命令の名前を実際に書いた箇所」というようなニュアンスの、
プログラム中ではなくドキュメントの説明文中に示した、というくらいの意味の「例示」
であって、例文を書くため、という限定的な意味では元々なかったのではないかと、
[[GNU Texinfo]] の説明や実利用事例を見ると思われます。だとすると「例示」
という表現はあまりわかりやすくなかったので、この表現がなくなったのは良い変化といえます。
- [476] 
どんな[[符号]]かの説明がコロコロと変わっています。
-- [477] 
現在の [[HTML5]] 定義では計算機符号の素片なら割と何でも当てはまることになっています。
[[Texinfo]] では専用の[[命令]]があった[[ファイル名]]にも使えると明記されていますし、
仕様書自体では [[URL]] などにも実用されています。
-- [478] 
[[Texinfo]] では[[字句]]未満のものは [CODE[@samp]]、定数的な文字列はどちらか迷う感じですが、
[[HTML5]] ではそれらも [CODE[code]] で記述できます。
-- [479] 
初期の [[HTML]] 仕様が明確な説明をしなかったために、計算機っぽい符号っぽいものはすべてが
[CODE[code]] に収容されるようになった感があります。 [[HTML5]] はその実態を追認したものといえます。
--- [480] 割を食らったのが [CODE[samp]] です。
- [481] 
複数行の[[プログラム]]片にも [CODE[code]] が使われるようになりました。
-- [482] 
元の [[Texinfo]] では [CODE[@code]] は高々数字句程度の語句の記述に使うもので、
初期 [[HTML]] でも [CODE[pre]] との使い分けを指摘していました。
[CODE[code]] も [CODE[pre]] も固定幅フォントで表示されるので、
[[行内要素]]と[[ブロック要素]]で素朴に使い分けられていました。
--- [483] 
ところが [CODE[pre]] は[[詩]]などにも利用され、意味よりも表示方法に寄った ([[HTML]]
にそぐわない) [[要素]]だと認識され、
[[XHTML2]] は [CODE[blockcode]] を導入したりしていました。
--- [484] 
[[HTML5]] に至って [CODE[pre]] と [CODE[code]] の組み合わせが[[慣用句]]として新たに規定されました。


**** [CODE[samp]] のその後

[387] [[Texinfo]]

> Indicates text that is a literal example of a sequence of characters.


[402] >>225

>
,[B[SAMP]] ,A sequence of litteral characters

[425] [[HTML 1.0]]

>A sequence of literal characters.

[435] [[HTML 2.0]]

>      The <SAMP> element indicates a sequence of literal characters,
>      typically rendered in a mono-spaced font. For example:

> <!-- <SAMP>     Sample text or characters               -->

[436] [[HTML 1.0]] の頃は [[Texinfo]] 順でしたが、 [[HTML 2.0]]
では[[アルファベット順]]になっていて、完全に [CODE[code]] と [CODE[samp]]
のつながりが絶たれてしまいました。


[494] [[HTML 3.2]]

>SAMP used for sample output from programs, and scripts etc.

[495] [[HTML 3.2]] で旧来の順序が復活。 [[HTML4]] もそれを踏襲しました。

[448] [[HTML4]]

> Designates sample output from programs, scripts, etc.


[465] [[HTML5]]

>Computer output

>The [CODE[samp]] element represents sample or quoted output from another program or computing system.

[497] [CODE[samp]] は最も迷走した[[要素]]といえます。現在もその用途が不明瞭で不遇な扱いです。

- [498] [[Texinfo]] では [CODE[@code]] と [CODE[@samp]] が対で相補的に説明されていましたが、
[[HTML]] ではその関係性が引き継がれませんでした。
(先述)
-- [499] かろうじて前後に並んで説明されていましたが、[[HTML]]
の版によってはそれすら維持されませんでした。
- [500] そもそもの [[Texinfo]] の [CODE[@samp]] という命令の名前が説明と合っていない感があります。
(先述)
-[501] [CODE[@code]] と同じく (>>475)、
ドキュメントの文章中で実際の入出力文字列片の一部を提示したものという程度の意味だったと思われます。
- [502] [[HTML]] の説明文には「例示」という表現が消えたり復活したりしています。
前の版の説明文ではなく[[要素名]]から説明が導かれている感があります。
- [506] 初期 [[HTML]] の説明は、 [[Texinfo]] の説明を省略しすぎて、文字列、
としか説明していなくて意味不明です。
- [503] [[HTML 3.2]] で「プログラム」の「出力」「例」と意味がかなり限定的になって、
以後それが引き継がれています。
- [504] [[著者]]はそれを理解できずにわけもわからず使うか、使い所のない要素という扱いになっています。
-- [507] [[GUI]] が基本になった今でも[[プログラム]]としか説明がないのも、
ちょっと困ったポイント。なぜプログラムの出力に専用の要素が必要なのか意味が不明気味です。
- [505] [[HTML5]] もそれを処理し切れず、 [[HTML4]] の説明をより明瞭に改めるに留まっています。

[508] 
元々 [[Texinfo]] 的には、英文中に[[コマンドライン]]引数とか、
プログラムの出力テキスト例とか、
[[正規表現]]とか、
利用可能な[[文字]]のリストとか、
なにかの[[識別子]]とか、
[[地の文]]とは区別したくて、[[固定長フォント]]がしっくり来る、
ときには[[引用符]]で括っておきたいのだけれども、
[[プログラム]]の[[関数名]]や[[変数名]]やその他[[字句]]の並びとは性質が違っていて
[CODE[@code]]
は相応しくない、そんな諸々のものを [CODE[@samp]]
で表すとしていたようです。

[509] 
これを説明なしで理解しろといわれても無理な話ですし、歴代 [[HTML]]
仕様に関わっていた人達も [[HTML]] のマニュアルを書いた人々も、
[[Texinfo]] に戻って確認することなく雰囲気だけで説明を書いていたのでしょうね。


**** [CODE[kbd]] のその後

[388] [[Texinfo]]

>
Indicates the names of keys on the keyboard or characters you type.


[403] >>225

>
,[B[KBD]] ,"in an instruction manual, Text typed by a user."

[426] [[HTML 1.0]]

>in an instruction manual, Text typed by a
>                         user.

[434] [[HTML 2.0]]

>      The <KBD> element indicates text typed by a user, typically
>      rendered in a mono-spaced font. This is commonly used in
>      instruction manuals. For example:

><!-- <KBD>      Keyboard phrase, e.g. user input        -->


[493] [[HTML 3.2]]

>KBD used for text to be typed by the user



[449] [[HTML4]]

>    Indicates text to be entered by the user.

[466] [[HTML5]]

>User input

>The [CODE[kbd]] element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).


[510] 
[[Texinfo]] では [[GNU]] 形式の打鍵列を表す慣習的な表記のために使われていましたが、
[[HTML]] ではその構文的な部分は引き継がず、説明も少しずつ雑になって
「利用者が入力する文字列」
というだけになっています。 [[HTML5]] に至って[[鍵盤]]に限定されず[[音声入力]]などでもいいと拡大されています。

[511] 
[[文字]]でなく[[鍵]]も指定できることがわからなくなっていますが、
[[HTML5]] は [CODE[kbd]] の[[入れ子]]で記述できることと定めました。
[[要素名]]こそ違うものの、 [CODE[key]] が復活したことになります。

[514] 
[[HTML4]] には特に記述がないものの、実態として [CODE[kbd]]
が鍵の名前のために使われることはあったので、 [[HTML5]]
で用法が整理されたものです。[[入れ子]]で区別するという手法はおそらく [[HTML5]]
の創案です。

**** [CODE[key]] のその後

[389] [[Texinfo]]

>Used for the conventional name for a key on a keyboard.

[404] >>225 : [[DTD]] にあるが本文になし

[430] [[HTML 1.0]] : [[DTD]] にあるが本文になし

[447] [[HTML 2.0]] になし

[512] 本文から欠落して忘れ去られてしまったのか、不要だと判断されて削られて一時 [[DTD]]
に残ったままになっていたのかわかりませんが、早々に消え去ってしまいました。

[513] [[HTML5]] である意味復活 (>>511) しました。


**** [CODE[var]] のその後

[390] 
[[Texinfo]]

>Indicates a metasyntactic variable.

[405] >>225

>
,[B[VAR]] ,A variable name

[427] [[HTML 1.0]]

>A variable name.

[438] [[HTML 2.0]]

>      The <VAR> element indicates a placeholder variable, typically
>      rendered as italic. For example:

><!-- <VAR>      Variable phrase or substitutable        -->

[492] [[HTML 3.2]]

>VAR used for variables or arguments to commands



[453] [[HTML4]]

>    Indicates an instance of a variable or program argument.

[469] [[HTML5]]

>Variables

>The [CODE[var]] element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose.


[515] 
[[Texinfo]] では[[メタ構文変数]]であって[[プログラム]]の[[変数]]ではないと明言されていましたが、
初期 [[HTML]] 仕様は変数名としか説明していませんでした。

[516] 
そのため [[HTML]] では[[変数]]全般に拡大して利用されている実態がありました。
[[HTML5]] はそれを追認して[[メタ構文変数]]の他に[[数式]]や[[プログラム]]の[[変数]]にも使えると明確化しました。


**** [CODE[dfn]] のその後

[391] [[Texinfo]]

>Indicates the introductory or defining use of a term.

[406] >>225

>
,[B[DFN]] ,The defining instance of a term

[428] [[HTML 1.0]]

>The defining instance of a term. Typically
>                         bold or bold italic.


[393]  ''Highlighting in HTML'' <http://www.w3.org/MarkUp/1995-archive/Highlighting.html#DFN.index>

> The defining instance of a term. Typically bold or bold italic.

用語の定義的実現値。典型的には太字または太字斜体 (イタリック)。

[431] [[HTML 2.0]] では本文注釈にあるのみで、 [[DTD]] にはなし。

[394] ''Hypertext Markup Language - 2.0 - Footnotes'' <http://www.w3.org/MarkUp/html-spec/html-spec_foot.html#FOOT20>

> It is used to indicate the defining instance of a term, and it is typically rendered in italic or bold italic.

[395] [[HTML+]] ''Logical Emphasis'' <http://www.w3.org/MarkUp/HTMLPlus/htmlplus_18.html>

> defining instance of a term

[396] [[HTML3.0]] 原案 ''Information Type Elements'' <http://www.w3.org/MarkUp/html3/logical.html>

> The <DFN> element indicates the defining instance of a term.

[397] ''HTML 3.2 Reference Specification'' <http://www.w3.org/TR/REC-html32#phrase>

> defining instance of the enclosed term

囲まれた用語の定義的実現値

[398] ''W3C Journal - What's New in HTML 3.2'' <http://www.w3journal.com/5/s3.musciano.html#HEADING1-131>

抜粋すると:

> This tag defines the enclosed text to be the defining instance of a word or phrase. Browsers may choose to place such a term in italics or some other distinctive text. In additional, it might be useful for the browser to collect such terms and create a dynamic glossary, with hyperlinks, of all the terms defined in a document.

このタグは、囲まれた文を語または語句の定義的実現値として定義します。
ブラウザはその用語を斜体 (イタリック) その他の差別化した文にすることを選ぶかもしれません。
加えて、ブラウザがその用語を集めて、文書中で定義されたすべての用語のハイパーリンク付き動的用語集を作るのに有用かもしれません。

[399] [[HTML4]] <IW:HTML4:"struct/text.html#edef-DFN">:

> Indicates that this is the defining instance of the encoded term.

これが囲まれた用語の定義的実現値であることを示します。

[400] [[XHTML2.0]] [[WD]]
''- XHTML Inline Text Module'' <http://www.w3.org/TR/2003/WD-xhtml2-20030506/mod-inline-text.html#sec_9.4.>

> The dfn element contains the defining instance of the enclosed term.

dfn 要素は囲まれた用語の定義的実現値を含めます。

[463] [[HTML5]]

>Defining instance

>The [CODE[dfn]] element represents the defining instance of a term. The paragraph, description list group, or section that is the nearest ancestor of the [CODE[dfn]] element must also contain the definition(s) for the term given by the [CODE[dfn]] element.

[517] 
初期には [CODE[dfn]] はなぜか他の[[要素]]と違って実装から欠落し、仕様書からも削られていました。
その後復活しました。

[518] 
意味には大きな変化はありません。

**** [CODE[cite]] のその後

[392] 
[[Texinfo]]

>Indicates the name of a book.

[407] >>225

>
,[B[CITE]] ,A citation

[429] [[HTML 1.0]]

>A citation. Typically italic.

[432] [[HTML 2.0]]

>      The <CITE> element is used to indicate the title of a book or
>      other citation. It is typically rendered as italics. For example:

> <!-- <CITE>     Name or title of cited work             -->

[491] [[HTML 3.2]]

>CITE used for citations or references to other sources 



[450] [[HTML4]]

>    Contains a citation or a reference to other sources.

>
[PRE[
As <CITE>Harry S. Truman</CITE> said,
<Q lang="en-us">The buck stops here.</Q>

More information can be found in <CITE>[ISO-0000]</CITE>.
]PRE]

[462] [[HTML5]]

>Titles of works

>The [CODE[cite]] element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, a computer program, etc.). This can be a work that is being quoted or referenced in detail (i.e., a citation), or it can just be a work that is mentioned in passing.

[519] [[Texinfo]] は本の名前に限定していましたが、 [[HTML]] は初めから citation
として本という限定を外しています。 [[Texinfo]] 
の想定が論文などを除外して本だけにする意図があったのかは不明ですし、初期 [[HTML]]
がその限定を外す意図があったのかというと、正確性を意識しなかった可能性の方が高いようにも思われますが、
ともかくその結末として [[HTML5]] では様々な作品の名称に適用できると種別名を多く列挙して明確化されています。

[520] [[HTML]] は初め citation といい、やがて citations or references といい、
[[HTML4]] では a citation or a reference というように、
単なる作品名ではなく[[引用]]だと説明しています。[[要素名]]に引きずられてのことなのでしょうが、
これによって何が [CODE[cite]] [[要素]]で記述されるべきなのかも不明瞭になりました。

[521] 
[[HTML4]] の例文には、著者名が [CODE[cite]] で表されたり、
参考文献リストの参考文献名を文中から参照するときに使う[[合印]]の文献名が 
[CODE[cite]] で表されたりしたものがあります。

[522] 
この例文は[[人名]]を [CODE[cite]] で表せるという誤解を一部で招きました。
[[HTML5]] が詳細に説明しているのはそのような誤解を排除する意図もあってのことでした。

[556] 
[CITE@en[FAQ - WHATWG Wiki]], [TIME[2023-10-04T03:59:00.000Z]], [TIME[2024-10-06T07:49:34.072Z]] <https://wiki.whatwg.org/index.php?title=FAQ&oldid=9975#The_.3Ccite.3E_element_should_allow_names_of_people_to_be_marked_up>


**** [CODE[em]] のその後

[414] [[Texinfo]]  [CODE[@emph]]

>emphasis

[408] >>225

>
,[B[EM]], "Emphasis, typically italic."

[423] [[HTML 1.0]]

>Emphasis, typically italic.

[433] [[HTML 2.0]]

>   User agents must render highlighted phrases distinctly from plain
>   text. Additionally, <EM> content must be rendered as distinct from
>   <STRONG> content, and <B> content must rendered as distinct from <I>
>   content.

>      The <EM> element indicates an emphasized phrase, typically
>      rendered as italics. For example:

><!-- <EM>       Emphasized phrase                       -->

[490] [[HTML 3.2]]

>EM basic emphasis typically rendered in an italic font

[451] [[HTML4]]

>   Indicates emphasis.

>Generally, visual user agents present EM text in italics and STRONG text in bold font.

[460] [[HTML5]]

>Stress emphasis

>The [CODE[em]] element represents stress emphasis of its contents.

[523] 
[[Texinfo]] は他に該当する表現がないような強調としていましたが、
[[HTML]] は引き継がずにただの[[強調]]としました。
そのためよく使われる[[要素]]となりました。

[524] 
ソフトウェアの技術マニュアルに用途を限定しない [[HTML]]
としては悪くない判断ではあるのですが、
他の[[要素]]との関連性が失われて「強調」というものの性質の理解が難しくなったようにも思われます。

[525] 
[[HTML5]] は [CODE[strong]] との区別が求められたために、
文の意味を変えるような性質の[[強調]]が [CODE[em]] だとしました。
これも悪くはない判断ではあるのですが、
厳密に言えば過去の用法との連続性が失われています。



**** [CODE[strong]] のその後

[415] [[Texinfo]]

> emphasis

> stronger

[409] >>225

>
,[B[STRONG]], "Stronger emphasis, typically bold."

[424] [[HTML 1.0]]

>Stronger emphasis, typically bold.

[437] [[HTML 2.0]]

>   User agents must render highlighted phrases distinctly from plain
>   text. Additionally, <EM> content must be rendered as distinct from
>   <STRONG> content, and <B> content must rendered as distinct from <I>
>   content.

>      The <STRONG> element indicates strong emphasis, typically rendered
>      in bold. For example:

><!-- <STRONG>   Strong emphasis                         -->

[489] [[HTML 3.2]]

>
STRONG strong emphasis typically rendered in a bold font


[452] [[HTML4]]

>    Indicates stronger emphasis.

>Generally, visual user agents present EM text in italics and STRONG text in bold font.


[461] [[HTML5]]

>Importance

>The [CODE[strong]] element represents strong importance, seriousness, or urgency for its contents.
>[SNIP[]]

[526] 
[[Texinfo]] では [CODE[@emph]] よりも強い強調とされていました。
[[HTML]] にも引き継がれたものの、次第に比較対象が明言されなくなりました。
そのため「[CODE[em]] より [CODE[strong]] が強い」という意識は[[著者]]の間に残ったものの、
出典不明の怪情報のような扱いになっていきました。

[527] 
実態として [CODE[em]] は[[斜体]]、 [CODE[strong]] は[[太字]]で使われていましたが、
表示の違いだけで別の[[要素]]があるのはおかしいと考えられた時代にちょうど作られた
[[HTML5]]
は [CODE[em]] と [CODE[strong]] に別の意味を与える必要があり、
[CODE[strong]] を強い重大性、深刻性、緊急性を表すとしました。

;; [528] 引用は省略しましたが、それらの詳しい説明もあります。

;; [529] [CODE[em]] より [CODE[strong]] が強いなら、 [CODE[em]] を入れ子にしたら
[CODE[strong]] になるのか、それとも別なのか、など「より強い」という元の定義にも何かと問題がありました。



**** [CODE[tt]] のその後


[418] 
[[Texinfo]] [CODE[@t]]

>
typewriter font

[410] >>225

>
,[B[TT]], Fixed-width typewriter font

[420] [[HTML 1.0]]

>Fixed-width typewriter font.

[443] [[HTML 2.0]]

>   The <TT> element indicates teletype (monospaced )text. Where a
>   teletype font is unavailable, an alternative representation may be
>   used.

><!-- <TT>       Typewriter text                         -->

[485] [[HTML 3.2]]

>TT teletype or monospaced text


[454] [[HTML4]]

>   TT: Renders as teletype or monospaced text.

[530] 
表現方法は違うものの、[[固定長フォント]]を使って表示するものという定義で一致しています。


**** [CODE[b]] のその後



[416] 
[[Texinfo]]

> bold font

[411] >>225

>
,[B[B]], "Boldface, where available, otherwise alterntive mapping allowed."

[419] [[HTML 1.0]]

>Boldface, where available, otherwise
>                         alternative mapping allowed.

[441] [[HTML 2.0]]

>   User agents must render highlighted phrases distinctly from plain
>   text. Additionally, <EM> content must be rendered as distinct from
>   <STRONG> content, and <B> content must rendered as distinct from <I>
>   content.

>   The <B> element indicates bold text. Where bold typography is
>   unavailable, an alternative representation may be used.

><!-- <B>        Bold text                               -->

[486] [[HTML 3.2]]

>
B bold text style


[455] 
[[HTML4]]

>    B: Renders as bold text style.


[468] [[HTML5]]

>Keywords

>The [CODE[b]] element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede.

[458] 
[[HTML4]] まで、表現は違うものの[[太字]]で表現されるべきものという定義で一致していました。

[531] 
表示条件だけを指定する[[要素]]が不適当という考えが強まった時代の [[HTML5]]
は、新しい意味で説明し直しました。

;; [532] [CODE[strong]] と使い分けがちょっとむずかしそうなところではありますが....

[540] 
表現は変わっていますけど、

- [541] [[Texinfo]] : [[太字]]を表します。
なるべく他の方法を使ってください。
[[太字]]にできるときは[[太字]]で表示します。
- [542] [[HTML4]] まで : [[太字]]です。
できれば他の方法を使ってください。
[[太字]]で表示したらいいですが強制しません。
- [543] [[HTML5]] : なんやかんや[[太字]]で表記されがちなものを表します。
ただし他に専用の方法が使えるときは使えません。
[[太字]]が基本ですが、あくまで原則です。

ということで、「なんか[[太字]]っぽい、しらんけど」程度の位置づけってのはずっと変わってないんですよね。
[CODE[i]] も同じで。

[544] 
[CODE[b]] も [CODE[i]] も見かけの定義が随分と変わったので[[物理要素]]絶対反対勢からも[[物理要素]]別にいいじゃん勢からも反発はありましたけど、
「もっとちゃんと現実を見ましょう」が基本方針の [[HTML5]] 
が突飛なことなんてやるはずないんですよねえw


**** [CODE[i]] のその後

[417] 
[[Texinfo]]

> italic font

[412] >>225

>
,[B[I]], Italic font (or slanted if italic unavailable).

[421] [[HTML 1.0]]

>Italic font (or slanted if italic
>                         unavailable).

[442] [[HTML 2.0]]

>   User agents must render highlighted phrases distinctly from plain
>   text. Additionally, <EM> content must be rendered as distinct from
>   <STRONG> content, and <B> content must rendered as distinct from <I>
>   content.

>   The <I> element indicates italic text. Where italic typography is
>   unavailable, an alternative representation may be used.

> <!-- <I>        Italic text                             -->

[487] [[HTML 3.2]]

>I italic text style

[456] [[HTML4]]

>   I: Renders as italic text style.

[467] [[HTML5]]

>Alternative voice

>The [CODE[i]] element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts.

[533] 
[[HTML4]] まで、表現は違うものの [[italic]] で表現されるべきものという定義で一致していました。

[534] 
表示条件だけを指定する[[要素]]が不適当という考えが強まった時代の [[HTML5]]
は、新しい意味で説明し直しました。


**** [CODE[u]] のその後

[413] >>225

>
,[B[U]], Underline??

[422] [[HTML 1.0]]

>Underline.

[439] [[HTML 2.0]] では本文注釈にのみ

>      characters, and the <U> element indicates an underline.

とあります。

[488] [[HTML 3.2]]

>
U underlined text style 


[457] [[HTML4]]

>    U: Deprecated. Renders underlined text. 

[459] [[HTML5]]

>Annotations

>The [CODE[u]] element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.


[535] 
[[HTML4]] まで、表現は違うものの[[下線]]で表現されるべきものという定義で一致していました。

[536] 
表示条件だけを指定する[[要素]]が不適当という考えが強まった時代の [[HTML5]]
は、新しい意味で説明し直しました。

[537] 
この要素の出自は不明で (先述)、
[[HTML]] の初期の初期で「?」が付いていましたが、「?」を削ってそのまま残されました。

[539] 
しかしそのためもあるのかどうか、
初期の [[Webブラウザー]]にはあまり実装されなかったようで、一旦は仕様から外されました。
後に復活しましたが、 [[HTML4]] で [CODE[b]] や [CODE[i]] と違って[[非推奨]]とされたのは、
実装が遅かったこと、それだけ機能としての重要度が低かったことが影響しているのでしょう。

[538] 
[[HTML5]] でも [CODE[b]] と [CODE[i]] は他の専門の[[要素]]で表現しきれない場合のために、
多少強引な意味を新たに付与してまで残されてたものの、当初 [CODE[u]] 
は[[廃止]]されるところでした。しかしやはり [CODE[u]] が必要だという声に推されて復活しました。


**

[440] [[HTML 2.0]] 本文注釈に [CODE[strike]] があります。

[52] 
[CITE[Netscape Navigator Extensions to HTML]] 
<http://web.archive.org/web/20000415023954/http://www.netscape.com/home/services_docs/html-extensions.html>

[[HTML 2.0]] に対する拡張と称して、
[CODE(HTMLe)@en[[[b]]]] や [CODE(HTMLe)@en[[[i]]]]
を[[入れ子]]にしても [[Netscape Navigator]]
がその通りに[[レンダリング]]するようになったことを紹介しています。

[53] [SRC[>>52]]
[PRE(HTML example deprecated code)[
<i><tt><font size=6><b>Text here</b></font></tt></i>
]PRE]

[54] 
[CITE[A Beginner's Guide to HTML]] ([CODE[2003-08-15 22:48:58 +09:00]] 版) <http://ccat.sas.upenn.edu/jod/primer.html#CharFormat>

意外なことに

> For HTML-coded documents, you should use logical styles whenever possible. Future implementations of HTML may not implement physical styles at all.

なんて書いてあります。

もっとも、それでいて
[CODE(HTMLe)@en[[[em]]]] と [CODE(HTMLe)@en[[[code]]]]
の意味が説明されていないわけですが。

** HTML3




[FIG(data)[ [20] [[HTML要素概説]]

:[F[要素名]]:[CODE[i]]
:[F[要素名]]:[CODE[b]]
:[F[要素名]]:[CODE[u]]
:[F[要素名]]:[CODE[s]]
:[F[要素名]]:[CODE[sup]]
:[F[要素名]]:[CODE[sub]]
:[F[要素名]]:[CODE[tt]]
:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[q]]
:[F[要素名]]:[CODE[cite]]
:[F[要素名]]:[CODE[person]]
:[F[要素名]]:[CODE[cmd]]
:[F[要素名]]:[CODE[arg]]
:[F[要素名]]:[CODE[kbd]]
:[F[要素名]]:[CODE[var]]
:[F[要素名]]:[CODE[dfn]]
:[F[要素名]]:[CODE[code]]
:[F[要素名]]:[CODE[samp]]
:日付:[TIME[1993-10-28]]
:説明:
[TIME[1993-10-28]]版 [CITE[HTML+]] にある。
[SRC[HTML+19931028]]


]FIG]

[22] [[HTML+]] に [CODE[acronym]], [CODE[abbrev]] もありました。

[FIG(data)[ [551] [[HTML要素概説]]

:[F[要素名]]:[CODE[q]]
:[F[要素名]]:[CODE[lang]]
:[F[要素名]]:[CODE[au]]
:[F[要素名]]:[CODE[dfn]]
:[F[要素名]]:[CODE[person]]
:[F[要素名]]:[CODE[acronym]]
:[F[要素名]]:[CODE[abbrev]]
:日付:[TIME[1994-11-30]]
:説明:
[TIME[1994-11-30]]版 [CITE[HTML 3.0]] [[DTD]]
にある。
[SRC[HTML3-19941130]]

]FIG]


[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[u]]
:[F[要素名]]:[CODE[s]]
:[F[要素名]]:[CODE[tt]]
:[F[要素名]]:[CODE[b]]
:[F[要素名]]:[CODE[i]]
:[F[要素名]]:[CODE[big]]
:[F[要素名]]:[CODE[small]]
:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[code]]
:[F[要素名]]:[CODE[samp]]
:[F[要素名]]:[CODE[kbd]]
:[F[要素名]]:[CODE[var]]
:[F[要素名]]:[CODE[cite]]
:[F[要素名]]:[CODE[q]]
:[F[要素名]]:[CODE[lang]]
:[F[要素名]]:[CODE[au]]
:[F[要素名]]:[CODE[dfn]]
:[F[要素名]]:[CODE[person]]
:[F[要素名]]:[CODE[acronym]]
:[F[要素名]]:[CODE[abbrev]]
:日付:[TIME[1995-03-01]]
:説明:
[TIME[1995-03-01]]版 [CITE[HTML 3.0]] [[DTD]]
にある。
[SRC[HTML3-19950301]]

]FIG]

[74] [[HTML 3.0]] では [CODE[ins]], [CODE[del]] も追加されました。



** [CITE[Aprotool TM Editor]]



[557] 
[CITE[Aprotool TM Editor Ver. 3.10 Help]], [TIME[2026-01-14T08:58:57.000Z]], [TIME[2003-07-03T19:08:19.132Z]] <https://web.archive.org/web/20030703184407/http://www.ceres.dti.ne.jp/~maedera/TMEDIT/TMH_BAS.HTM#TMH_BAS>

[558] >>557

>
-ヘルベチカ<HV>

>
-キーボード<BD>

>
-タイムズローマン<TR> 

[559] [[テキストエディター]]の入力機能。

[560] [CODE[bd]] は、他の箇所で [CODE[kbd]] とあり、単なる誤植と思われます。

[561] >>557 には[[表]]の

>
-列<TR> 

もあります。

** HTML4


[11] [[HTML 4]] の[[要素型級]] [DFN[[CODE(SGML)[%inline]]]]:
- [CODE(SGML)[%[[fontstyle]]]]
- [CODE(SGML)[%[[formctrl]]]]
- [CODE(SGML)[%[[phrase]]]]
- [CODE(SGML)[#[[PCDATA]]]]
- [CODE(SGML)[%[[special]]]]

[[DTD]] の[[注釈]]には[Q[行内要素 ([Q[文水準]]要素)]]と書かれています。

仕様書:
- [[HTML 4]]
-- [[厳密DTD]]: <IW:HTML4:"sgml/dtd.html#inline">
-- [[移行用DTD]]: <IW:HTML4:"sgml/loosedtd.html#inline">

[12]
また、 DTD の注釈には[Q[文字水準要素および文字列]]とも書かれています。


[61] [[HTML 4]] の[[要素型級]] [DFN[[CODE(SGML)[%phrase]]]]:
- [CODE(HTMLe)[[[abbr]]]]
- [CODE(HTMLe)[[[acronym]]]]
- [CODE(HTMLe)[[[cite]]]]
- [CODE(HTMLe)[[[code]]]]
- [CODE(HTMLe)[[[dfn]]]]
- [CODE(HTMLe)[[[em]]]]
- [CODE(HTMLe)[[[kbd]]]]
- [CODE(HTMLe)[[[samp]]]]
- [CODE(HTMLe)[[[strong]]]]
- [CODE(HTMLe)[[[var]]]]

仕様書:
- [[HTML 4]]
-- [[厳密DTD]]: <IW:HTML4:"sgml/dtd.html#phrase">
-- [[移行用DTD]]: <IW:HTML4:"sgml/loosedtd.html#phrase">

-*-*-

[12]
[CITE[Matthew Thomas &#187; Blog Archive &#187; When semantic markup goes bad]] <http://mpt.net.nz/archive/2004/05/02/b-and-i>


[13] [CITE@en[XSLT 2.0 and XQuery 1.0 Serialization (Second Edition)]]
( ([TIME[2010-12-17 00:08:20 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xslt-xquery-serialization-20101214/#HTML_INDENT>

[8] [CODE[op]]

** HTML 以外

[9] 
[[HTMLもどき]]の [[DTBook]] にも同じような [CODE[%inline;]] がありました。

[10] 
[[HTML]] とは違って [CODE[%inlineinblock;]] もありました。


[FIG(data)[ [81] [[HTML要素概説]]

:[F[要素名]]:[CODE[b]]
:[F[要素名]]:[CODE[i]]
:[F[要素名]]:[CODE[u]]
:[F[要素名]]:[CODE[em]]
:[F[要素名]]:[CODE[strong]]
:[F[要素名]]:[CODE[big]]
:[F[要素名]]:[CODE[small]]
:借用先:[[WML1]]

]FIG]



** HTML5





[87] 
[CITE[Re: contenteditable, <em> and <strong>]] ([[Henri Sivonen <hsivonen@...>]] 著, [CODE[2007-01-09 17:19:43 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/8338>

> <em>, <strong>, <i> and <b> have all been in HTML for over a decade.  
I think that’s long enough to see what happens in the wild. I think  
it is time to give up and admit that there are two pairs of visually- 
oriented synonyms instead of putting more time, effort, money, blog  
posts, spec examples and discussion threads into educating people  
about subtle differences in the hope that important benefits will be  
realized once people use these elements the “right” way.

([[名無しさん]] [WEAK[2007-01-12 15:36:16 +00:00]])



- [88] 
[CITE@en[inter-element whitespace and comments should not affect algorithms; b…]], [[Hixie]], [TIME[2006-12-22 10:07:05 +09:00]], [TIME[2022-11-13T05:27:11.000Z]] <https://github.com/whatwg/html/commit/7f75de99cdef5686b5812ce14c88759aa70ab207#diff-41cf6794ba4200b839c53531555f0f3998df4cbb01a4d5cb0b94e3ca5e23947d>

[89] >>88
[CODE[i]], [CODE[b]], [CODE[div]] が同時追加




[14] [CITE@en[Web Applications 1.0 r7238 Clean up content model descriptions.]]
( ([TIME[2012-08-10 08:03:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7237&to=7238>

[1] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-07-15 07:45:21 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=5157&to=5158>

[2] [CITE['''['''whatwg''']''' Various HTML element feedback]]
([TIME[2012-06-06 09:05:01 +09:00]] 版)
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036283.html>


[62] 
[CITE['''['''whatwg''']''' contenteditable, <em> and <strong>]] ([CODE[2007-01-22 21:07:39 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-January/009060.html>

[63] 
[CITE['''['''whatwg''']''' contenteditable, <em> and <strong>]] ([CODE[2007-01-22 21:07:39 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-January/009060.html>

[64] 
[CITE['''['''whatwg''']''' contenteditable, <em> and <strong>]] ([TIME[2007-01-22 21:07:39 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-January/009060.html>

[65] [CITE[Re: Deprecating <small>, <b> ?]] ([[Lachlan Hunt <lachlan.hunt@...>]] 著, [TIME[2008-11-24 16:36:53 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16742>

[67] [CITE[''''''[''''''whatwg'''''']'''''' Various HTML element feedback]]
( ([TIME[2012-08-28 00:34:50 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-August/036998.html>

[66] [CITE[''''''[''''''whatwg'''''']'''''' Various HTML element feedback]]
( ([TIME[2012-08-28 00:34:50 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-August/037000.html>

[555] 
[CITE@en[FAQ - WHATWG Wiki]], [TIME[2023-10-04T03:59:00.000Z]], [TIME[2024-10-06T07:48:56.255Z]] <https://wiki.whatwg.org/index.php?title=FAQ&oldid=9975#Why_are_some_presentational_elements_like_.3Cb.3E.2C_.3Ci.3E_and_.3Csmall.3E_still_included.3F>


[85] 関連:
[CODE[samp]],
[CODE[var]],
[CODE[b]],
[CODE[i]]

-*-*-


[68] 
[CITE@en[HTML Italic and Bold Elements as regards Web Standards | The Elementary Standards]] ([[Sean Fraser]] 著, [CODE[2007-05-22 11:09:10 +09:00]] 版) <http://www.elementary-group-standards.com/web-standards/html-presentation-elements-web-standards.html>
([[名無しさん]] [WEAK[2007-05-25 01:05:19 +00:00]])

[69] 
[CITE[カナかな団首領の自転車置き場 - 物理要素とか]] ([CODE[2007-07-08 14:49:00 +09:00]] 版) <http://d.hatena.ne.jp/kana-kana_ceo/20070706/1183719689>
([[名無しさん]])

[70] 
[CITE@ja[HTML に装飾要素は必要]] ([CODE[2007-07-03 09:56:06 +09:00]] 版) <http://deztec.jp/design/07/07/02_html5.html>
([[名無しさん]])

[71] 
[[HTML 5]] の中の人の意図を推測したいならせめて
Design Principle くらい読んでおいて欲しいものですな。

[CITE@en-US[HTML Design Principles]] ([CODE[2007-06-27 01:27:04 +09:00]] 版) <http://dev.w3.org/cvsweb/~checkout~/html5/html-design-principles/Overview.html#separation-of-concerns>

> However, structural markup is a means to an end such as media independence. Profound and detailed semantic encoding is not necessary if the end can be reached otherwise.

いつの間にか一部の人から絶対的なものと妄信されるまでに至った[[表現と構造の分離]]はそもそも手段であって、
目的ではなかったのです。
([[名無しさん]])

[72] [CITE[HTML 5のi要素とb要素、sup要素とsub要素、small要素:メモランダム]] ([CODE[2007-07-09 20:54:42 +09:00]] 版) <http://mynotes.jp/blog/2007/07/html5_elements>
([[名無しさん]])

[73] 
[CITE[構造と見た目の分離:メモランダム]] ([CODE[2007-07-09 20:54:42 +09:00]] 版) <http://mynotes.jp/blog/2007/07/separate_structure_and_presentation>
([[名無しさん]])



**




[18] [CITE@en[XSLT and XQuery Serialization 3.0]]
( ([TIME[2014-04-07 23:19:15 +09:00]] 版))
<http://www.w3.org/TR/xslt-xquery-serialization-3/#XHTMLPHRASING>

[FIG(quote)[
[FIGCAPTION[
[7] [CITE@en[OSLC Core Version 3.0. Part 6: Resource Shape]]
([TIME[2017-04-05 01:00:00 +09:00]])
<http://docs.oasis-open.org/oslc-core/oslc-core/v3.0/cs01/part6-resource-shape/oslc-core-v3.0-cs01-part6-resource-shape.html#dcterms:title>
]FIGCAPTION]

> dcterms:title is used to provide a summary of oslc:ResourceShape and oslc:Property resources. Its value should be a literal of type rdf:XMLLiteral that is valid content for an XHTML <span> element. If the value contains no XML markup then it may be represented as a plain text literal or xsd:string.

]FIG]
