インデント (字下げ)

テキストの行頭に空白を挿入して、段落の開始や階層構造を視覚的に示す書式設定。日本語では全角 1 文字分の字下げが標準。

インデント (indent、字下げ) は、行の先頭に空白を挿入してテキストの構造を視覚的に表現する手法です。日本語の文章では段落の冒頭を全角スペース 1 文字分下げるのが標準的な書式で、小学校の作文指導から教えられます。英語では段落の先頭を半角スペース 4 文字分 (またはタブ 1 つ) 下げるか、段落間に空行を入れるかのいずれかが一般的です。

プログラミングにおけるインデントは、コードの階層構造を示す重要な要素です。Python ではインデントが構文の一部であり、インデントの深さがブロックの範囲を決定します。他の言語 (JavaScript、Java、C など) では波括弧 {} でブロックを示すためインデントは必須ではありませんが、可読性のために統一的なインデントが強く推奨されます。

インデントに使う文字は「タブ」と「スペース」の 2 派に分かれ、プログラマーの間で長年の論争があります。タブ (U+0009) は 1 文字で表示幅を設定で変えられる利点がありますが、環境によって見え方が変わります。スペースは表示が一定ですが、インデント 1 段に 2〜4 文字を消費します。文字数カウントの観点では、タブ 1 文字とスペース 4 文字は見た目が同じでも文字数が異なります。

ウェブの文脈では、HTML は連続するスペースを 1 つに圧縮するため、インデントを表現するには CSS の text-indent プロパティを使います。text-indent: 1em で全角 1 文字分の字下げが実現できます。<pre> 要素内ではスペースやタブがそのまま表示されるため、コードブロックのインデントを保持できます。

日本語の原稿用紙では、段落の字下げは 1 マス (1 文字分) です。400 字詰め原稿用紙で段落が 10 個あれば、字下げだけで 10 文字を消費します。文字数制限のある課題 (例: 800 字以内の小論文) では、段落数を減らすことで字下げによる文字数消費を抑えられますが、段落が少なすぎると読みにくくなるトレードオフがあります。

メールやチャットでは、引用を示すインデントとして「>」記号が使われます。メールの返信で元のメッセージに「>」を付けて引用する慣習は、UNIX のメールクライアントに由来します。Markdown でも「>」はブロック引用を示します。この「>」も 1 文字としてカウントされるため、引用が深くなるほど (>>>) 文字数が増えます。

この記事を共有