正規表現スタイルにマッチする文字は条件テキストで非表示にしてはダメ

InDesign正規表現スタイルと条件テキストの組み合わせには注意が必要です スタイル

InDesignの正規表現スタイルはとても便利な機能で、最近は認知度も上がってきました。

一方で、条件テキスト機能は、いまいちマイナー感があるけど、実は意外と便利な機能です。

だけど、この条件テキストが正規表現スタイルでマッチングする文字に関わると、条件テキストを非表示にしたときに、正規表現スタイルが適用されなくなるので注意が必要です。

以下で、手順を追いながら事例を紹介します。

スポンサーリンク

正規表現スタイルを作成

まず、正規表現スタイルを作成します。

本文中、次のように<sup>と</sup>で囲まれた文字があります。

<sup>1</sup>が本文中にあるInDesignドキュメント(スタイル作成前)

この<sup>と</sup>で囲まれた文字を、正規表現スタイルを使って上付きにします。

手順を説明します。

  1. 上付き文字を設定した、文字スタイル「上付き」を作成
  2. 段落スタイル「本文」で、<sup>と</sup>で囲まれた文字に、文字スタイル「上付き」が適用されるように設定
InDesignの文字スタイルパネルで「上付き」を作成
上付き文字の文字スタイルを作成
InDesignに正規表現スタイルを作成する。(<sup>.+</sup>の文字に文字スタイル「上付き」を充てる)
段落スタイル中に文字スタイルを埋め込んで正規表現スタイルにする

上のように「<sup>.+</sup>」という正規表現で、「<sup>と</sup>に囲まれた1文字以上の文字」という指定になります。

作成した正規表現スタイルが適用され、<sup>1</sup>が上付きになった
作成した正規表現スタイルを段落に適用

作成した正規表現スタイルを段落に適用したら、上付きの文字スタイルも自動で適用されていることが確認できました。

スポンサーリンク

コードを非表示にするための条件テキストを作成

でも、このまま<sup>と</sup>が表示されていては、印刷するときには都合が悪いので、<sup>と</sup>に条件テキストを充てて、表示/非表示を切り替えられるようにしておきたいと思います。

次の手順で、条件テキストパネルを開いて「HTMLコード」という条件を作成します。

InDesignの条件テキストパネルで「HTMLコード」という名前の条件を作成する
「HTMLコード」という名前の条件を作成

これを、<sup>と</sup>それぞれの文字を選択して「HTMLコード」をポチって適用します。
青い波線が表示されて、条件が適用されたことがわかります。

<sup>と</sup>に条件「HTMLコード」を適用する
条件テキストを適用して青い波線がつきました

「HTMLコード」を非表示にすると上付きにならない

これで、正規表現スタイルと条件テキストが適用され、設定が整いました。

設定が出来上がったので、条件「HTMLコード」を非表示にしてみます。
条件テキストパネルで、目玉マークを消します。

正規表現スタイルで正常に文字スタイル「上付き」が適用されているが、条件で「HTMLコード」を非表示にすると上付き文字にならない

残念ながら、「1」は普通の親文字になってしまいました。

正規表現にマッチしないというのは、条件テキストの観点からいえば、当然の結果なのかもしれないけど、これちょっと焦ります。

こういうパターンが、もしも大量の文字の中に数カ所あるだけだったら、なかなか気づけないかもしれませんよね。

あ〜びっくり…

検索置換して、不要な文字は削除しつつ文字スタイルを充てることも、もちろんできますが、「そのまま読み込んで、そのままソコに置いておきたい」という場合もあるので、事例として紹介しました。

この事例の、苦し紛れの回避策はこちら…

コメント

タイトルとURLをコピーしました