InDesignでセルの内容に応じて、行揃え(左・中央・右)を変更したい
セルの内容に応じて、行揃え(左・中央・右)を変更したいことがあります。
テキスト:左揃え
「○」や「×」:中央揃え
数字や金額、%:右揃え
たいてい隣接していますのでチカラ技でやってきたのですが、ミス・やり残しの元ですので、ベストプラクティスを考えてみました。
正規表現スタイル?
InDesignの正規表現スタイルとは、(正規表現による)条件付けによって文字スタイルを自動適用することといえます。
ところが、文字スタイルは行揃えをカバーしませんので、正規表現スタイルでは、今回の目的は果たせません。
正規表現による検索置換(○か×の場合)
次のように検索と置換の条件を設定することで「セルが○の場合のみ」「セルが×の場合のみ」… 特定の段落スタイルを与えることができます。
検索文字列
次のように指定します。
^[○×◎△-]$
[○×◎△-] は「○か×か◎か△か-のいずれか」の意味
^と$で囲むことでセル内に「○か×か◎か△か-」だけが入っている場合に限定されます。
「○*」のように*をつけて備考を書くことがある場合には、次のようにすればよいでしょう。
^[○×◎△-]\*?$
置換文字列
空白にします。
検索形式(検索対象にしたい段落スタイル)
セルに適用している段落スタイルを指定します。これによって、検索対象をセルのみに限定します。
「td」は段落スタイル名です。私(鷹野)は段落スタイル名に、HTMLの要素名を使っています。
置換形式(適用したい段落スタイル)
適用したい段落スタイルを指定します。「td.center」は、「td」を基準スタイルとして参照しつつ、行揃えのみを変更したスタイルです。
正規表現による検索置換(金額の場合)
「100,000」、「¥10,000」、「10,000円」を対象にしたい場合には、次のように記述します。
^[¥¥]?\d{1,3}(,\d{3})*円?$
正規表現による検索置換(%の場合)
「30%」「-30%」「30.1%」「100%」を対象にしたい場合には、次のように記述します。
^-?\d+(.\d+)?[%%]$
まとめ
正規表現の記述の精度を高めていき、(適用モレを回避するため)ある程度の段階で適用し直すのがよさそう。
また、クエリとして保存して、再利用します。
タレコミ(1)スクリプトを使う
お〜まちさんがツイートくださいました!すごい!!!
該当ブログはこちら。やってみます!
さらに新しい記事にまとめていただきました。ありがとうございます!
タレコミ(2)「右揃えだけど一番長い行が中央揃えになるように右インデント調整するやつ」スクリプトを使う
༺まぁ༻さんからツイートいただきました。
こちらですね。発想がすごい!
ありがとうございます!!
サンプルファイル
ここから先は
DTP Transit 定期購読マガジン
マガジン限定記事やサンプルファイルをダウンロードできます。
定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5