InDesignで長文全体に段落スタイルを適用し、その中の特定の文字列だけ別の書式に変更したい場合、正規表現スタイルが便利です。しかし、段落全体に設定した文字スタイルが強く影響してしまい、正規表現スタイルが反映されないことがあります。この記事では、InDesignの段落スタイル・文字スタイル・正規表現スタイルの関係を理解し、指定した範囲だけ別フォントに変更する方法を解説します。
InDesignの正規表現スタイルが反映されない原因
InDesignの正規表現スタイルは、段落スタイルの中に設定できる機能で、特定の文字パターンに対して自動的に文字スタイルを適用できます。
例えば「◆から△までの文字だけゴシック体にする」といった処理は、正規表現スタイルを利用する代表的な使い方です。
しかし、段落スタイル側で「明朝体12pt30H」のような文字スタイルを直接指定している場合、その設定が優先されるため、正規表現スタイルで指定したゴシック体が期待通りに表示されないことがあります。
段落スタイルと文字スタイルの優先順位を理解する
InDesignでは、書式設定には優先順位があります。基本的には、段落スタイルよりも文字スタイルのほうが部分的な指定として優先されます。
ただし、段落スタイル内の「基本文字形式」でフォントやサイズを指定している場合、それは段落全体に適用される初期設定になります。
その上から正規表現スタイルで文字スタイルを適用するためには、正しく文字スタイル側で必要な項目だけを指定することが重要です。
解決方法1:段落スタイルではフォント指定をしすぎない
最も基本的な解決方法は、段落スタイル側で直接フォントを固定しすぎないことです。
例えば、段落スタイルの基本文字形式で「明朝体」を設定している場合、正規表現スタイルで適用するゴシック体の文字スタイルには、フォントだけを指定します。
段落スタイルは全体の行送りやサイズ、段落設定を担当し、文字スタイルは部分的な装飾を担当するように役割を分けると管理しやすくなります。
解決方法2:正規表現スタイル用の文字スタイルを作成する
正規表現スタイルで使用する文字スタイルは、専用に作成することをおすすめします。
作成手順は以下の通りです。
- 「文字スタイル」パネルを開く
- 新規文字スタイルを作成する
- 基本文字形式でゴシック体を指定する
- 段落スタイルの「正規表現スタイル」に設定する
例えば「強調ゴシック」という文字スタイルを作成し、その中でフォントのみをゴシック体に設定すると、他の設定を壊さず部分変更できます。
正規表現「(?<=◆).*?(?=△)」を使う場合の注意点
「◆と△で囲まれた文字列だけ変更する」という目的の場合、正規表現の考え方自体は適切です。
(?<=◆).*?(?=△)
この記述では、◆の直後から△の直前までの文字列を対象にします。
ただし、複数の◆△が文章内に存在する場合や、改行をまたぐ文字列を扱う場合は、正規表現の条件を調整する必要があります。
例えば、途中に改行が入る可能性がある文章では「.」だけでは改行文字を取得できないため、別の記述が必要になる場合があります。
文字スタイルの「設定を解除」する方法も確認する
文字スタイルを作成するときに、不要な項目まで指定していると、他の設定と競合することがあります。
例えば、ゴシック体だけ変更したいのに、サイズや字送り、カラーなどまで指定している場合、意図しない結果になる可能性があります。
部分的な変更では、変更したい項目だけ設定し、それ以外は「基本設定のまま」にしておくとトラブルが少なくなります。
長文制作でInDesignのスタイルを管理するコツ
書籍や冊子などの長文では、段落スタイルと文字スタイルを明確に分けて管理すると効率が上がります。
例えば本文全体は「本文用段落スタイル」、強調部分は「強調文字スタイル」、特定記号で囲まれた部分は「正規表現スタイル」というように役割を分けます。
この方法なら、後から本文フォントを変更した場合でも、部分的な強調設定を維持できます。
まとめ
InDesignで文章全体を明朝体にしながら、◆と△で囲まれた部分だけゴシック体に変更したい場合は、段落スタイルと文字スタイルの役割を分けることが重要です。
段落スタイル側でフォントを強く固定しすぎると正規表現スタイルが期待通り動かないことがあるため、部分変更は文字スタイル側で設定します。
正規表現スタイルを使った自動処理では、専用の文字スタイルを作成し、必要な項目だけ指定することで、長文でも安定した書式管理が可能になります。

コメント