字下げの問題

文章作成のとき、段落の行頭を一文字分だけ字下げして書き出すようにと教えられた。Webでの文章で字下げするべきかどうかや、字下げする場合にスペースを挿入するのか、CSSで実現するのか悩ましい場合がある。MS-WordOpenOffice.org Writerではどうするのか。
しばしば論議になるこの問題への僕のスタンスはだいたい決まっている。

字下げすべきかどうか

まずWebにおいての話から。字下げはしない。理由は見栄えの問題。Webにおいてはプロポーショナルフォントが用いられることが多い。プロポーショナルフォントというのは、文字の幅が文字種によって異なるフォントのこと。フォントの幅が異なることがあるから文章が折り返されたときに揃って見えることは少ない。折り返し位置がガタガタなのは言わずもがな。
字下げする目的が段落が変わったことを明示的に分かるようにするものであれば、行頭の字下げより段落の間に適度なスペースを入れるほうが読みやすい。と思っている。
Webではなく、Wordなどで印刷する前提がある文書作成の場合について。こっちもできれば字下げはしない。理由はWebと同じです。ただ、一般的にビジネス文書と呼ばれる資料を作成するときに段落間のスペースで可読性を上げて対応して、レビュー段階で文句が出そうだと思ったら字下げにする。

字下げの方法について

Webの場合はスタイルシートCSSで次のように設定しておけば、一文字分の字下げができる。

p { text-indent: 1.0em; }

あるいは、行頭に全角スペース(あるいは半角スペース*2)を入れてもいい。
どっちで実現するのがベストなのかという僕の個人的な考え。そのデータが他のどこかでまた再利用する予定があるならCSSでやりたい。そうでないならスペースのほうがいい。
ただ、CSSで設定してしまうと、段落の行頭をカギカッコで書き始めるときにも字下げされてしまう。ロード時にJavaScriptでpタグ内の行頭文字をチェックして、カギカッコならインデントしないクラスに差し替えることはできるだろう。ただそこまでやるかと、労多くして得るものが少ない気がする。その点ではスペース文字の挿入のほうが柔軟だ。
あと、MS-WordOpenOffice.org Writerの場合だが、こっちは十中八九スペース文字で対応する。これは自分が作ったWord文書を他の人が編集することを考慮しているつもり。たいていの人はWordで装飾する場合にスタイル設定を使わない。そのため、スタイル設定でインデントを実現してしまうと、後の人が困ったことになるかもしれないから。

最後に

段落の行頭をインデントするためには、スペースを挿入するのかスタイル設定で対応するのか選択肢がある。スペース挿入ではデータの再利用性がやや損なわれ、スタイル設定で対応すると本来なら入れたくない段落がインデントされる可能性がある。字下げしないと決めてしまえば、そういう問題に苛まれることはなくなる。
ところで、ニュースサイトではこんな設定になっているのを見かける。

等幅フォントが見づらいという意見があり、確かにそう感じることはある。でも、ニュースサイトで提供している等幅フォントの文章は特に読みづらいとも感じない。個人的には好みではないんだけど、業種・職種・世代間によって何が受け入れられやすいかは異なるのかもしれない*1
Webで文書を記述する場合には、その場のルールのほうが重要だってこともある。2chなんかで改行入れずに長文書き込むと嫌われるように(長文そのものも嫌われるが)。

*1:完全な偏見だけど、年配者は印刷物のフォーマットを踏襲しているほうが受け入れやすそうだ