Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2011-05-11

[][][][][]強制改行している段落をテキスト変数で正しく拾う

テキスト変数はCS3から実装されていて、とても便利な機能です。しかし、強制改行(Shift-Return)を含んでいると強制改行部分にスペースが入ってしまいます。

f:id:seuzo:20110511182508p:image

おそらく、欧文組版の仕様で、単語間スペースを表していると思われます。けれど、ぼくらが使ってInDesignは日本語版ですよね。これ、お困りの方も多いと思います。

これをよりスマートに解決する方法を紹介します。


1)何もしない文字スタイルを2つ作ります。ここでは「見出し1行目」「見出し2行目」としました。

f:id:seuzo:20110511182510p:image

f:id:seuzo:20110511182509p:image


2)変数を2種類(1行目と2行目)定義します。「ランニングヘッド・柱(文字スタイル)」でそれぞれ手順1で作った文字スタイルを指定します。

f:id:seuzo:20110511182512p:image

f:id:seuzo:20110511182511p:image

f:id:seuzo:20110511182513p:image


3)見出しの段落スタイルの「先頭文字スタイル」で下記のように設定してください。
文字スタイル文字数文字区切る/含む
見出し1行目1強制改行で区切る
なし1強制改行を含む
見出し2行目1文章を含む

f:id:seuzo:20110511184808p:image


4)柱のテキストフレーム内で、手順2で作成したテキスト変数「見出し1行目」「見出し2行目」をそれぞれ挿入します。

f:id:seuzo:20110511190131p:image

見出しの段落スタイルを適用するだけで、強制改行を含んでいようといまいと、自動的に柱が生成されます。


今回、「先頭文字スタイル」を使いました。では「正規表現スタイル」も有効でしょうか? いいえ、残念ですが「正規表現スタイル」は使えません。想像ですけれど、テキスト変数がCS3からで正規表現スタイルがCS4から継ぎ足されたので、計算順序も変数を見てから正規表現スタイルを後に見てるんじゃないかと推測しています。ま、邪推でしょうけど^^


注意

(追記:2011-05-13T14:15:13+0900)上記の「先頭文字スタイル」で自動的に柱を生成する場合、注意することがひとつあります。

ひとつ前の段落で、強制改行によって2行分の文字スタイルが適用されている時、ターゲット段落が1行しかないと、前の段落の「見出し2行目」がそのまま生きてしまいます。

これを回避するには、1行しかないターゲット段落の行末に半角スペースなどを入れて、そのスペースに対して文字スタイル「見出し2行目」を手動で適用します。