InDesignの正規表現スタイルを使うと、段落スタイルを充てるだけで文字スタイルも同時に適用することができるので、とても便利です。
正規表現スタイルなら、わざわざ一つ一つ文字を選んで文字スタイルをあてなくてよいので、手間も省けるし、手作業による文字の選択違いや見逃しもなくなるので、この正規表現スタイルは是非とも使いたい機能です。
この正規表現スタイルでは、段落中の同一文字に複数の文字スタイルを重ねて適用することもできます。
単独に文字スタイルを適用する方法では、同一文字に対して、複数の文字スタイルを適用することはできません。後から適用した文字スタイルが有効になってしまいます。
ここでは、複数の文字スタイルを重ねて適用した事例を紹介します。
Adobe公式サイト Adobe InDesignの機能を詳しく見てみる
正規表現スタイルでHTMLタグを隠す
下のマゼンタの上付き文字を見てください。
親文字の肩に数字「1」を乗せていますが、実はこの「1」の前後にはHTML形式の上付きタグが入っています。
このドキュメントをストーリーエディタで表示したのが下の図です。
数字の「1」がHTML形式のタグで囲まれているのがわかります。
実はこれ、2つの文字スタイルを組み込んだ正規表現スタイルで実現しています。
どうなっているのか、正規表現スタイルの作成手順を追いながら説明します。
文字スタイルの作成
まずは、以下の設定でマゼンタの上付き文字の文字スタイルを作ります。
- 位置:上付き文字
- 文字カラー:M100
次にもうひとつ、HTMLコード用を作ります。
- 文字サイズ:0.141Q(設定可能な最小サイズ)
- 水平比率:1%(設定可能な最小値)
- 文字カラー:紙色
HTMLコードは、テキストフレーム内には表示されていないように見えて、実は、極小の紙色文字が存在しています。
正規表現スタイルの作成:文字スタイル「上付き」
文字スタイルが2つ作成できたので、これを段落スタイル内の項目「正規表現スタイル」に組み込みます。
段落スタイルパネルで、スタイル「本文」を編集していきます。
左側の項目の中から正規表現スタイルを選び、「新規正規表現スタイル」のボタンをクリックします。
すると大きな枠内に、入力できるスペースが現れます。
「スタイルを適用:」で先に作っておいた「上付き」を選びます。
(ここで、「新規文字スタイル…」を選ぶと、文字スタイルパレットが表示されて、新規に文字スタイルを作ることもできます。)
すぐ下の「テキスト:」欄には、「<sup>.+</sup>」という正規表現を入力します。
これで、「<sup>と</sup>に囲まれた、1文字以上の文字列」に文字スタイル「上付き」を適用するという設定になります。
プレビューで見ると、「<sup>1</sup>」が上付きのM100になっているのがわかります。
「テキスト:」の初期値は「\d+」になっています。この記号は「1つ以上の数字」に当てはまる(「数字」にマッチする)正規表現です。
正規表現スタイルの作成:文字スタイル「HTMLコード」
次に、「HTMLコード」という文字スタイルを追加します。
再度「新規正規表現スタイル」をポチって、適用する文字スタイルに「HTMLコード」を選びます。
「テキスト:」に入れる正規表現は、「</?sup>」です。
この正規表現の「?」は、「?」の直前の文字「/」が「0または1個あるとき」という意味です。
これで、HTMLの開始タグと閉じタグの両方(「/」がある場合と、「/」がない場合)にマッチするように設定できました。
文字スタイルの適用状況は文字スタイルパレットの下部で確認する
さて、ここで「1」の文字だけ選択した状態で、文字スタイルパレットを見てみます。
スタイルの一覧では「上付き」は選択されておらず、パレットの下部に「¶上付き」と表示されています。
このように、文字パレットを見れば、以下のような文字スタイルの適用状態がわかります。
- 文字にスタイルがあたっているのかどうか
- それは直接適用した文字スタイルなのか
- それは正規表現スタイルの設定なのか
では、<sup>と</?sup>の文字ではどうでしょうか。
この場合は「上付き」と「HTMLタグ」の両方が適用されているので、「¶(スタイル混在)」という表示になります。
Adobe公式サイト Adobe InDesignの機能を詳しく見てみる
正規表現スタイルで適用する文字スタイルの順番
正規表現スタイルに設定された文字スタイルは、段落スタイルパネルで登録された表示順通りに上から適用されていきます。
適用する順番は、文字スタイルを登録した後に変更することもできます。
その場合は、2つ以上設定した文字スタイルのうちどれかを選択すると、パレット内右側のちょっと下あたりにある三角マーク(▲ ▼)が有効になるので、これをクリックして文字スタイルの表示位置を移動させます。
実は、「上付き」「HTMLコード」の順に設定したのにはちゃんと理由があります。
試しに、この順番を入れ替えて「HTMLコード」「上付き」の順にしてみます。
<sup>と</sup>の文字カラーを見ると、マゼンタになっています。
ここで改めて、正規表現スタイルの文字スタイルの順番と、その内容を確認してみましょう。
- 「上付き」:「上付き文字」「文字カラーをM100」
- 「HTMLコード」:「サイズを最小」「水平比率を最小」「文字カラーを白」
最初に作った正規表現スタイルでは、まず「上付き」で全体をマゼンタの上付き文字にしてから、<sup>と</sup>のサイズ変更と文字カラー白を設定していました。
でもこの順番をひっくり返したら、「HTMLコード」で文字カラーを白にしたのが、「上付き」でマゼンタに上書きされた、と言うわけです。
というわけで、正規表現スタイルを考える際に、同一文字に文字スタイルが適用されるならば、その順番も考慮しなければいけません。
このサンプルの文字は親文字16Qに対して、文字サイズ0.141Q・水平比率1%にしています。その上付き文字の文字色が実際の仕上がりに影響するのか、といえば、まぁ計算すれば影響ないんでしょうが、やっぱりマゼンタじゃ気持ち悪いので…
下の画像は、文字色の違う2つのドキュメントをPDF書き出しして、Acrobatで比較したものです。
「変更はありませんでした」とのことでした…。
「文字カラー白の極小サイズ」の文字をドキュメント上に置いておくのは、賛否両論あるところですが、「案件の事情に応じて」ということで、ここではその是非を問わないでくださいね。