">

キッズプレート、パスタおかわり

プログラミングやデジモノについてあれこれ
--.--.-- --:--|カテゴリ:スポンサー広告| コメント(-)

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010.06.07 17:17|カテゴリ:DTPコメント(2)

[InDesign]パーレン内級数下を正規表現置換で実行する


 書籍等ではよくパーレンで囲まれた文字の級数を本文より小さくする組版がなされています。今日はこの処理をInDesignの正規表現置換でがっつりやってしまおうという小ネタ。

 InDesignの検索置換では検索した文字を別の文字に置換するだけでなく、検索した文字の体裁を変更することもできます。今回はこの体裁変更を利用してパーレン内の文字の級数を下げてみる事にします。

 まずはInDesignの編集メニューから「検索と置換」を選択して、表示されたダイアログの「正規表現」タブを選択します。

 このようなページをご覧になっている方で正規表現をご存知無いという人は少数はかもしれませんが、もしご存じない場合は是非これを機会に勉強することをお勧めします。いずれ私なりの正規表現の解釈の仕方をエントリしたいところですが、本日はそんな話までしていたらとんでもなく大変なことになってしまうので割愛させていただきます。

 さて最初はパーレンで囲まれた文字を「パーレンも含めて級数を下げる」設定です。
Kyusage1.png
 検索文字列のフィールドに、
([^()]+)
 を入力します。今回は検索箇所の体裁を変更するだけなので置換フィールドには何も入力しません。
 体裁を指定する部分はダイアログの下部分にある「置換形式」という箇所です。サンプルでは文字サイズを直接指定していますが、「級下げ」などの名前でスタイルを付けてスタイルをあてたほうがよろしいかと思います。この検索で使用している正規表現がどのような指定かというと、
「全角パーレンで囲まれた【全角パーレンを含まない】連続した文字列」
 という指定になっています。ですので全角パーレンの入れ子は考慮していませんし、パーレンの整合性が崩れていた場合は正常に処理されませんのでご注意ください。

 さて、ここまでは比較的簡単な指定。次はちょっと難しい指定です。と言っても少し正規表現の勉強をしていればすぐわかる指定です。前述の指定では全角パーレンまで級下げの対象に含まれていました。しかし中にはパーレンの級数はそのままで囲まれた文字だけを級下げするという体裁もあります。次の指定は「パーレンを含まない級下げの指定」です。
Kyusage2.png
 検索文字列のフィールドに、
(?<=()[^()]+
 を入力します。この指定は、
「全角の起こしパーレンの次にある【全角パーレンを含まない】連続した文字列」
 というものです。この指定を使用すると全角パーレンに「囲まれている文字だけ」を選択することができます。ただしこの指定も入れ子などのチェックをしていませんし、パーレンの整合性などが崩れていた場合は正常に動作しませんのでご注意ください。

 いやー、検索置換で体裁の変更ができるって便利ですねえ。なんだか正規表現の話なのかInDesignの話なのかわからなくなってしまいましたが、今回はここらへんで失礼いたします。
便利ですよねえ
正規表現での検索置換は組む前にプレーンテキストでやるもんだと思っていて、CS4 を使う前はちょっと否定的だったんですけど、使ってみるとあら便利! もうこれなしでは仕事できません。
今回の記事はとても実用的で分かりやすいですね! 参考になりました。
[ 2010/06/09 14:20 ] [ 編集 ]
使ってみるとあら便利
>monokanoさん
本当にそうですよね。使ってみるまでは私も「どこまできちんと使えるのかねえ」なんて感じで思っていたんですが、使ったとたん改めてその便利さに気が付きました。私がPerl好きというので大抵想像できるかと思いますが正規表現も大好きっ子なので、これからちょろちょろネタを提供できればと思います
[ 2010/06/10 01:59 ] [ 編集 ]
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

ひらくん Author:ひらくん
どもども、ひらんくんどす。
日々まったり過ごしております。
仕事はDTP関連のスプリクト&アプリケーション開発。
Follow happyscript on Twitter

ブログ内検索



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。