インライン(草稿)

JEPAの「いまさら聞けない電子書籍のABC ~ebookpedia~」の下書きです。最終版は、JEPAのページをご参照ください。

ラインは線であり、インラインとは線を構成することあるいは線を構成する部品のことである。デジタルドキュメントの領域では、インラインという言葉は、様々な使われ方をする多義語であり、言葉の定義は曖昧でなんとなく使われているようだ。そこで、ここではいくつかの分類に分けて例を挙げて説明してみる。

1. 記述方式としてのインライン
次に挙げるいくつかの例のように、ある文脈で表したコンテンツの中に、別の文脈のコンテンツを記述することをインラインと表現する傾向がみられる。厳密な定義によるものではなく、なんとなく使う、自然発生的な用語のようだ。

(1) CSS(Cascading Style Sheets)のインライン・スタイル
HTML文書にレイアウトをCSSで指定するには3通りの方法がある。
① HTML文書に外部のCSSファイルをリンクする。
② HTML文書のhead要素の子供としてstyle要素を置き、そのstyle要素の内容としてCSSを記述する。そのときCSSはHTML文書全体に有効となる。
③ HTMLの要素にstyle属性を置き、その値としてCSSを記述する。例えば次のように記述する。
<h1 style=”color:blue;margin-left:2em;”>見出し</h1>

③のように要素にスタイル属性を持たせることをインライン・スタイルと言う。しかし、HTML5の仕様書には単に、「HTML5ではすべての要素にstyle属性の値を指定できる。これはCSSスタイル属性である。」と書かれているだけである。

(2) インラインSVG(Scalable Vector Graphics)とMathML(Mathematical Markup Language)
HTML4まではsvg要素やmath要素はHTML4で規定される要素ではなかった。このため、SVGやMathMLで記述したコンテンツは、画像ファイルとして作成して、ラスター画像のように参照するか、embed、object、iframe要素から参照した。これに対して、HTML5ではHTMLの要素のひとつとしてsvg要素、math要素を記述できるようになった。これを「HTML5ではインラインSVGやインラインMathが使えるようになった。」という言い方で説明されることが多い。但し、HTML5仕様書の中ではインライン(inline)という言葉は使われていない。

(3) インラインコメント
電子メールでは相手のメールに返信するとき、「インラインで失礼します」という言い方をすることがある。IT用語辞典やメールソフトの説明書などでは、相手のメールを引用して、そこに自分のコメントを挟むことをインラインコメントと表現している。メールの文章全体をひとつのラインとみて、相手の文脈の中に、別の文脈として自分のコメントを挟むことから由来しているようだ。失礼かどうかは別として、インラインという表現が当てはまるかどうかは曖昧である。

2. レイアウトにおけるインライン
テキストをレイアウトするときに、インラインという言葉を使う。この場合のラインは行であり、インラインは行としてレイアウトされることを示す。

(1) インライン数式
数式を段落の1行中に書く方法をインライン数式またはインライン・モードという。数式は、通常、上下・左右の領域に平面的に書くが、段落内に数式を書くときは、一行に広げて書くと段落内の行間が均一になり見やすい。例えば分数は、分子を上に書き、横線で区切って、分母を下に書くのが普通である。インライン・モードでは、最初に分子を書き、区切りの「/」を置いて次に分母を書く。TeXやMathLのような数式記述言語ではインライン数式を使い分けできる。

(2) CSSのインラインボックス
CSSはボックスモデルというレイアウトモデルを使ってコンテンツを配置する。領域全体を包含するボックスの中に、インラインレベルのボックスを水平に並べることをインライン・フォーマッティングという。CSS2.1の仕様書には次の例が出ている。
<P>Several <EM>emphasized words</EM> appear
<STRONG>in this</STRONG> sentence, dear.</P>
P要素は段落領域を作る。そこに次の5つのインラインボックスを作る。EM要素、STRONG要素はインラインボックスを作る。また、前後の文字も匿名のインラインボックスを作る。
Anonymous: “Several”
EM: “emphasized words”
Anonymous: “appear”
STRONG: “in this”
Anonymous: “sentence, dear.”
これらのインラインボックスを段落内に並べて行を作る。

CSSでは各ボックスに対して、文字の大きさ、ウエィト、色などのプロパティでレイアウトを指定する。また、HTMLの要素に対して、displayプロパティでどのようなブロックを作るかを指定できる。

3. HTMLのインライン要素

HTMLでは長いことインライン要素、ブロック要素という区別が使われてきた。しかし、HTML5ではこの区別がなくなった。インライン要素、ブロック要素の分類は暗黙のうちにレイアウトで分類しているのであるが、コンテキストをセマンティックスとレイアウトに分離する流れの一貫である。

(1) インライン要素とブロック要素
HTML4までは文書を構成する主な要素の種類としてブロック要素とインライン要素という区別があった。ブロック要素の代表は段落要素Pや区切り要素DIVである。ブロック要素の中には、他のブロック要素やインライン要素を含むとされており、インライン要素の代表例は、強調(EM、STRONG)やインラインの範囲指定(SPAN)などである。
このブロック要素やインライン要素という分類方法には、ブロック要素は大きめの構造を表し、インライン要素は小さ目の構造を表すという曖昧なコンセプトが与えられていた。しかし、むしろ暗黙のうちにレイアウト方法も指定していた。つまり、Pは段落という領域にレイアウトし、EM、STRONG、SPANなどは行としてレイアウトするという暗黙の了解である。

(2) HTML5
HTML5では、要素はコンテンツのセマンティックスの観点から分類されており、インライン要素とブロック要素という分類はなくなった。HTML5でもp要素は段落を表すものとして定義されている。ブラウザは、CSSのdisplay:blockレイアウトをデフォルト値としてもち、p要素は段落領域を作るようにレイアウトするが、p要素で段落を区切らないで、インラインのパラグラフマーク(U+00B6 ¶)で区切って、行内に連続してレイアウトしても構わないとされている。