DTP作業者にとっての難易度 ★★☆☆☆(2)
本文を明朝体で組むインタビュー記事で、下図のように人名をゴシック体にしたい……というケースを考えます。これが自動的に書式指定されるのであれば、編集者の方は入稿前の準備作業(マーカによる指示など)も必要なくなりますし、校正時の指定漏れチェックも楽になるはずです。

上図のように
■段落行頭の『人名:』をゴシックにする。
■『人名:』から始まる段落行頭は字下げしない。その他の段落行頭は字下げのまま。
という体裁を目指します。
※作業前に段落行頭が字下げされているのは、スペースを入力しているのではなく文字組みプリセットで『行末約物全角/半角・段落1字下げ』を選択しているためです。この設定は最後まで変更しません。

『先頭文字スタイル』機能を試してみる
InDesignでは段落スタイルに対して『先頭文字スタイル』というものを設定できます。これは「段落行頭から最初の2文字だけ文字スタイルを変える」「段落行頭から全角コロンまでは文字スタイルを変える」などを実現できる機能です。段落スタイルを試す前に、この機能を使ってみましょう。

上図のように設定してみると、無関係なところまで文字スタイルが適用されてしまいました。
※上図は『段落行頭から1つ目の全角コロンまでの文字スタイルを「ゴシ」にする』という設定です。

全角コロンが含まれない段落(3つめの段落)は全体がゴシックになっています。これでは困るので、やはり正規表現スタイルの使用を考えることにしましょう。
『正規表現スタイル』機能を使う
段落行頭から全角コロンまでをゴシックに
今度は正規表現スタイルを使用します。まずは下図のように設定してみましょう。
設定は『^.+?:』となっています。
『^』は段落行頭、『.』は任意の文字、『+』は1回以上の繰り返し、『:』は全角コロンです。なお『?』は最短一致という条件を示します。これは『段落内に全角コロンが複数存在した場合、最も早く登場した全角コロンまでを対象にする』ために必要となります。
※この『?』がないと、段落内に全角コロンが複数存在した場合、最も最後の全角コロンまでが対象になってしまいます(最長一致)。
この結果、下図の状態になりました。

全角コロンが含まれない段落は明朝のままなので問題ありません。しかし最終段落は、不要な部分がゴシックになっています。
これは最終段落では『(注:留学先)』部分で、人名とは関係なく全角コロンを使用しているためです。
記号を全角コロン以外に変更してしまえば問題は解決しますが、そうもいかない時もあるでしょう。では、解決法を考えます。
条件を絞る
たとえば人名としては『原』『山田』『安孫子』の3つしか登場しないと条件が決まっていれば、下図のように設定すれば良いでしょう。
設定は『^原:|^山田:|^安孫子:』となっています。
これまでも何度かご説明しましたが『|』は『または』という意味です。この方法なら、確実に段落行頭の『原:』『山田:』『安孫子:』をゴシックにすることができます。
文字数で絞ることも考えられます。他の人名も登場する可能性がある場合は、このほうが良いかもしれません。条件を『段落行等の3文字以内+全角コロン』とするのであれば下図のように設定します。

設定は『^.{1,3}:』となっています。
『{1,3}』は、その直前の『.』の繰り返し回数の設定です。『1回から3回まで』という条件を示しています。
※『^..?.?』という書き方もあります。1回目の『.』は必須。2回目、3回目の『.』は、あってもなくても良いという意味になります。
これらのように条件を絞り込めば、下図のように目的の文字のみがゴシックになります。

段落行頭のアキをベタにする
最後に、人名と段落行頭のアキをベタにします。まずは『文字前のアキ量』を『ベタ』と設定した文字スタイルを用意します。
正規表現スタイルには、下図の設定を追加します。

設定は『^.(?=.{0,2}:)』となっています。
『^.』は『段落行頭の1文字』が対象だという意味です。『(?=.{0,2}:)』は、その直後の文字に関する条件を示しています。『.』を『0から2回』繰り返した後に『:』(全角コロン)が続くこと……というのが今回の条件です。
※『^.(?=.?.?:)』と書くこともできます。
この結果、下図のように人名と段落行頭のアキがベタになりました。以上で完成です。

今回のようなケースでは、人名からスタートする段落用に別の段落スタイル(字下げなしの文字組みプリセットの設定を変更したもの)を用意するという考え方もあるとは思います。しかし修正の過程で複数の段落を連結させたり、分割したりする可能性も考えられるので、1つの段落スタイルで処理できるよう考えました。
サンプルデータはこちらminimum0606e.zipです(CS4以降)。