インデント単語

インデント

3.0千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

インデントとは、テキストの一部で行頭の位置をずらすことである。

本項ではほぼ同じ意味の「字下げ」についても解説する。

概要

日本語英語横書きにするとき、特に定がなければ文章は一番左から書き始める。そしてその文章が長くなって改行が発生したら、当然次の行も一番左から始まる。

それに対して、行頭を一定量右にずらすことをインデント(indent)と言う。アラビア文字のように右から左に書く文字体系なら左にずらし縦書きなら下にずらす。たとえばこの段落は右に2文字分インデントされている。インデントを加えることによって、その部分が立つ。そこに様々な意味を込めたり、テキストを見やすくするために使われる。

状況によっては、インデントされた範囲の中にさらにインデントが加わることがある。この段落はさらに2文字インデントされている。これには文章の階層構造を分かりやすくする意味がある。

ただし、意味もなくインデントしまくってもかえって分かりにくいだけなので使いどころには工夫が必要だ。

ところで同じ「インデント」でも、最初の行だけをずらして残りはそのままにする形式をす場合もある。この段落は先頭の行だけ一文字インデントされている。「インデント」という言葉が出てきたら、段落全体のインデントか行頭のみのインデントなのかに注意しなければならない。

例を挙げよう。ニコニコ大百科の編集画面にはインデントを増やすインデントを増やす、インデントを減らすボタンインデントを減らすボタンがある。これを押すとどうなるかというと、選択した範囲で文章全体が右に3文字くらいインデントされる仕様となっている(csspadding-leftプロパティが30px前後になる)。これに対して、htmlを直接いじって編集するとcsstext-indent というプロパティ定できるようになっている。こちらは定した幅の分、最初の行だけを右にずらす仕様である(こちらを参照されたし)。

また、日本語では字下げという言葉もあるが、こちらも両方の意味で使われることがあるので注意したい。文字が下にずれるのは縦書きの場合だけだが、横書きでも普通に字下げという用を用いる。なお国語事典などの用例では、「字下げ」は活字や原稿用の場合に使い、「インデント」はワープロソフトの機だとしているものが多いが、巷には逆の用例もいくらでもある。

最初の行だけをずらすという意味での「インデント」には、逆に最初の行だけはそのままで二行以降を右にずらすというパターンがある。これを「ぶら下がり」または「ぶら下がりインデント」と呼んだりする。この段落は二行以降が右に一文字ずれたぶら下がりインデントとなっている。

行頭のみの字下げやぶら下がりインデントは段落の開始を立たせるために使われる。これに対して段落全体を下げるインデントは、引用に使うことが多い。

印伝(いんでん、印)とは、印伝革の略であり、鹿の皮をなめしたものをいう。 細かいしぼが多くあり、肌合いがよい。なめした革に染色を施し漆で模様を描いたもので、袋物などに用いられる。(Wikipedia - 印伝exit より 引用

もっともニコニコ大百科では編集画面で文章の引用をすると自動的に

印伝(いんでん、印)とは、印伝革の略であり、鹿の皮をなめしたものをいう。 細かいしぼが多くあり、肌合いがよい。なめした革に染色を施し漆で模様を描いたもので、袋物などに用いられる。(Wikipedia - 印伝exit より 引用

といった感じでインデントに加えてで囲んだりしてくれる。

  • 箇条書きもインデントと関わりが深い。
  • の先頭は字下げされ、その部分に丸などの記号が置かれることが多い。そしてその項が複数行にわたった場合にはインデントが続く。
  • そして重要なのは、箇条書きの中にさらにインデントを加えられることだ。
    • こんなに。
    • こうすれば箇条書きの階層構造が分かりやすい。
    • 活用されている例としては以下が挙げられる。
      1. ニコニコ大百科
        1. インデントを増やすインデントを増やす」で階層を一つ下げられる。
        2. tabキーでも可。
      2. Chakuwikiでは箇条書きインデントを使いまくっている。
        • それで見やすくなっているかと言えば話は別だが。
      3. PowerPointでもよく使われる。
    • 上で分かるように、番号付きの箇条書きでもインデントできる。
 
`

プログラミングにおけるインデント

プログラムはしばしば複雑な階層構造になる。そのためインデントを入れないとものすごく読みづらいソースコードができてしまう。以下はC言語FizzBuzz問題を解くプログラムだが、インデントがないとちょっと構造が分かりにくい。

#include <stdio.h>
int main(void) {
int i;
for (i = 1; i <= 100; i++) {
if (i % 15 == 0)
printf("FizzBuzz\n");
else if (i % 3 == 0)
printf("Fizz\n"); else if (i % 5 == 0) printf("Buzz\n"); else printf("%d\n", i); } return 0; }

ここでブロックごとに4文字分のインデントを加えてあげると以下のように見やすくなる。

#include <stdio.h>
int main(void) {
    int i;
    for (i = 1; i <= 100; i++) {
        if (i % 15 == 0)
            printf("FizzBuzz\n");
        else if (i % 3 == 0)
            printf("Fizz\n");
else if (i % 5 == 0) printf("Buzz\n"); else printf("%d\n", i); } return 0; }

なおインデントは何文字にするかとか、スペースを使うかタブを使うかといった議論宗教戦争に繋がりかねないのでうかつに始めてはならない。

ニコニコ大百科の記述に使われるHTMLも階層構造を多用する言だが、編集時になぜかインデントが強制的に削除されてしまうのでソースが非常に見づらくなる。そのため複雑なリストテーブルhtmlで直接編集するときは何らかの工夫か根性が必要となる。

大抵のプログラミング言語では括弧によってブロックの階層構造を決定するため、インデントは人間ソースコード読みやすくするために入れるものでしかない。しかし、中には括弧してインデントによってブロックを決定する言も存在する。典的なのがPythonで、同じFizzBuzz問題は次のようになる。

for i in range(1, 101):
    if i % 15 == 0:
        print 'FizzBuzz'
    elif i % 3 == 0:
        print 'Fizz'
    elif i % 5 == 0:
        print 'Buzz'
    else:
        print i

こちらはインデントを取ってしまうとコードとして成立せず、コンパイルできない。他にはF#Haskellなどがインデントで階層を決定する言である。

関連動画

関連商品

関連項目(インデント入り)

この記事を編集する

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2024/03/28(木) 19:00

ほめられた記事

最終更新:2024/03/28(木) 19:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP