タイトル付き囲み枠(TitleBox)

InDesignで「タイトル付き囲み枠(TitleBox)」を作成します。「タイトル付き囲み枠」とは次の図のようなものです。

InDesignでこれを作ろうとすると、次のようにテキストフレームを2つ重ねてグループ化するのが一般的だと思います。

しかし、この方法には次の問題があります。

  • タイトルと本文を分けるため、エディタ等からテキストのペーストするとき2回操作が必要
  • テキスト書き出しの際はタイトルと本文を別々に実行しなければならない
  • タイトルの文字数が変わった場合にテキストフレームの大きさを調整しなければならない

そこで次のように、タイトル部分をパス上文字にして、本文のテキストフレームと連結する方法を考えました。

この方法は、グループ化を使用せずタイトルと本文が1つのストーリーになるため、グループ化した場合のデメリットをいくつか解消することができますが、手作業でやろうとするとかなり面倒です。

しかし、このスクリプトを使うことで、面倒な手順を簡略化し、また、修正時の再設定も楽になります。

さらに、複数のテキストフレームをまとめて設定したり、あるテキストフレームの設定を他のテキストフレームに複製する機能も付けました。

設定する項目を多く用意しているので、次のようなバリエーションも可能です。

作成の経緯や技術的な背景についてはブログに書いてありますので、興味のある方は読んでください(全7回)。

動作環境と仕様・注意事項

  • InDesign日本語CS6以降で動作します。(他言語版では検証していません)
  • 横組み専用です。
  • 回転、シアー、反転、変形のかかったテキストフレームには対応しません。
  • 連結されたテキストフレームには対応できません。
  • タイトルに使用できる書体はベースライン位置880/120の書体です。日本語書体はほぼ問題なく使用できますが、欧文書体の場合にタイトル背景で使用している下線が上下にずれる可能性があります。
  • カラーグループ内のスウォッチには対応していません。
  • スプレッドの回転には対応しません。
  • フレームグリッドには対応しません。強制的にテキストフレームに変更します。
  • タイトルにタブ文字、右インデントタブ文字を含むことはできません。含まれていた場合は強制的に削除します。その際、テキスト検索置換の設定を書き換えます。
  • タイトル行が指定の範囲を超える場合は強制的に長体を掛けます。

インストール方法

  1. 最下部のリンクから「titlebox000.zip」ファイル(000の部分はバージョン番号が入ります。更新履歴を参照。以下同)をダウンロードします。
  2. zipファイルを解凍すると次の2つのファイルが作成されます。
    • タイトル付き囲み000.jsx
    • 両端丸.lnst
  3. このうち「タイトル付き囲み000.jsx」を「Scripts Panel」フォルダ内に移動します。「Scripts Panel」フォルダは次のようにして開きます。
    1. InDesignを起動しスクリプトパネルを開きます。
    2. ユーザー」をクリックして選択します。
    3. パネルメニュー(右クリックメニュー、コンテキストメニュー)から「Finderで表示」(Macの場合)または「エクスプローラーで表示」をクリックします。
  4. 両端丸.lnst」はおまけです。使い方はこのページ下の「作成例」を見てください。

新規作成手順

準備

スクリプト実行の前に、テキストフレーム内にテキストを入力しておきます。このとき次のように設定してください。

  • 1段落目:タイトルにしたい文字を入力します。書体・文字サイズをタイトル用に設定しておきます。
  • 2段落目以降:テキストフレーム内に入れたい文字を入力しておきます。必須ではありませんが、先に書体・文字サイズを設定しておいた方がよいです。

設定が終わったらそのテキストフレームを選択します。

※  ※  ※ 

複数のテキストフレームをまとめて加工したい場合は、1段落目(タイトル)は1つのテキストフレームだけ設定しておけばよいです。そして、加工したいテキストフレームをまとめて選択しますが、設定を有効にしたいテキストフレームをキーオブジェクトに設定します(キーオブジェクトについてはNo.10 キーオブジェクトに揃える | InDesign CS6 | 勉強部屋 | study-roomを参照してください)。

このように複数のテキストフレームをまとめて選択できます。キーオブジェクトの1段落目の書式をタイトルの書式として使用します。このスクリプトは2段落未満のテキストフレーム(「校訓」とあるもの)や図形(この場合は楕円)を無視しますので、同時に選択していても構いません。

スクリプトの実行

スクリプトパネルの「タイトル付き囲み000.jsx」をダブルクリックします。次のようなダイアログが出ます。

このダイアログで設定を行い、[OK]ボタンをクリックします。設定内容については、このページ下の「設定画面の詳細」を見てください。

修正・再設定手順

テキストフレームの大きさを変更したり、タイトルの文字数が変わると、「タイトル付き囲み枠」の体裁が崩れることがあります。また、一度設定した「タイトル付き囲み枠」の設定を変更したい場合もあります。

既にある「タイトル付き囲み枠」を利用して、他のテキストフレームを加工する

に1つのテキストフレームを「タイトル付き囲み枠」に加工しています。別のテキストフレームも同じ設定を行いたいという場合の使用方法です。

設定済のテキストフレームおよび加工したいテキストフレームを選択します。次に設定済のテキストフレームをキーオブジェクトにします。その状態でスクリプトを実行します。

タイトル付き囲み枠」の設定を再適用する

テキストフレームの大きさが変わったり、タイトルの文字数が変わると「タイトル付き囲み枠」の設定が崩れてしまいます。その場合は、テキストフレームを選択してスクリプトを実行します。次のダイアログが出ますので「現在の設定を再適用」を選んだ状態(初期状態です)で[OK]をクリックすると「タイトル付き囲み枠」の設定が再適用されます。

既にあるタイトル付き囲み枠の設定を変更する

上の図で[設定ダイアログを表示]を選んで[OK]をクリックすると設定ダイアログが表示されますので、適宜設定を変更します。

既にある複数の「タイトル付き囲み枠」の設定を統一する

設定を変更したいテキストフレームと統一の基準にするテキストフレームを選択し、統一の基準にするテキストフレームをキーオブジェクトにしてスクリプトを実行します。

解除手順

実行直後に取り消したい場合は[編集]メニューの[タイトル付き囲み枠を取り消し](いわゆるアンドゥ。⌘-z、Ctrl-z)を実行します。

その他のタイミングで解除したい場合は次の手順になります。スクリプトでは実行前の状態を記憶していないので、元に戻すためのスクリプトはありません。

  1. 書式]→[パス上文字]→[パス上文字を削除]
  2. 1行目(右インデントタブと改行)を削除(タイトルの先頭にカーソルを置き、BackSpaceキーを2回押す)
  3. オブジェクト]→[テキストフレームの設定]ダイアログで[ベースラインオプション]―[先頭ベースライン位置]―[最小]を0にする
  4. テキストフレームの線の設定、フレーム内マージンを実行前の状態に
  5. 1段落目の書式設定を実行前の状態に

設定画面の詳細

囲み枠と内側のアキ

囲み枠はテキストフレームの線です。線パネルで指定する内容ですが、1か所特別なところがあります。それは「線の位置:線を内側に揃える」設定になっています。線を内側に揃えることにより、テキストフレームの内側余白を計算しやすくしています。

⑤内側余白は「テキストフレーム設定」の「フレーム内マージン」で設定しています。初期値は本文(テキストフレーム内の文字)の文字サイズを取得していますので、1文字分ということになります。0.5字または1字が多い気がします。

⑥内側上余白は「テキストフレーム設定」の「ベースラインオプション」→「先頭ベースライン位置:最小」で設定しています。これは角丸のテキストフレームにも対応するためです。初期値は本文の文字サイズ1.5倍です。タイトルを罫線の中心にした場合、タイトルの文字サイズの半分が上余白にかかりますので、他の余白より大きくした方がよいです。しかし、「本文1字分+タイトルの文字サイズの半分」にすると空き気味になるので、一旦この値にしています。タイトルの幅にもよりますので、適宜変更してください。

タイトルの書式と背景

タイトルの書式は1段落目に段落スタイルが適用されていればその段落スタイル、適用されていない([段落スタイルなし]または[基本段落])場合は適用している書体と文字サイズを使用します。そのため、次の図のように「1段落目に段落スタイルを適用したうえで書体とサイズを変更している」ケースの場合は、見た目と異なり段落スタイルの書式に変更されますので注意してください。

タイトルの背景は下線機能を使用しています。

⑦タイトル前後のアキのデフォルト0.5字です。

⑧タイトルの文字色をスウォッチリストから選択します。使用したい色をあらかじめスウォッチに登録しておきます。

⑨⑩⑪⑫タイトルの背景を下線の設定で指定します。自作の線種を使いたい場合はあらかじめ線種に登録しておきます。また、使用したい色はあらかじめスウォッチに登録しておきます。なお濃淡には対応していません。

どのような設定をすればよいのかは「作成例」を見てください。

タイトル領域の大きさ(「左端」と「右端」)

左端」「右端」の値は、「フレーム端」「本文領域」「なりゆき」の3つから選択します。

フレーム端

角オプションが「なし」の場合:フレームの境界から開始します。

角オプションが「なし」以外で、角の半径が内側余白より小さい場合:角の半径を除いた、直線部分の端から開始します。

角オプションが「なし」以外で、角の半径が内側余白より大きい場合:角の半径を除いた、直線部分の端から開始します。

本文領域

内側余白を除く、文字が入る領域から開始します。

角オプション「なし」

角オプションが「なし」以外で、角の半径が内側余白より小さい場合

角オプションが「なし」以外で、角の半径が内側余白より大きい場合

「本文領域」の指定は無効となり、「フレーム端」に変更されます。これは「本文領域」で設定することが不可能なためです。

なりゆき

左右どちらかが「フレーム端」または「本文領域」で固定されている場合、「文字長+タイトル前後のアキ」から計算されます。

例:左「フレーム端」右「なりゆき」

例:左「なりゆき」右「本文領域」

左右とも「なりゆき」の場合は、テキストフレームの中央から配置されます。

タイトル領域内の文字揃え(「揃え」)

左右とも固定(「フレーム枠」もしくは「本文領域」)の場合にのみ有効です。左右のどちらかが「なりゆき」の場合は無効です。

左揃え

中央揃え

右揃え

タイトル領域の位置(「内外位置」)

罫線中心

罫線外側

作成例

[紙色]が見た目で判別できないため、以下の例では下線で[紙色]としたいところを「紙色(仮)」(Y60)というスウォッチを使用しています。

1

2

3

4

5

6

7 この例はスクリプト同梱の「両端丸.lnst」を使用しています。線種を読み込んで使用してください。

 

8 次のものは上左、上右はコーナーオプション「なし」、下左、下右はコーナーオプション「角丸(外側)」です。

9 文字の色を「なし」にして下線だけを表示すると色々遊べます。

注意

次の図のように線種で対応できないものはこのスクリプトでは実現できません。

この図の場合は次のように作成しています。

タイトル行の段落の背景色で、「幅:段」「フレームの形に合わせるのチェックを入れる」「オフセット:適宜(左右はテキストフレームの内側余白以上)」

テキストフレーム設定のベースラインオプションで、「オフセット:固定」「最小:適宜(タイトルの文字サイズより小さい値にする)」

ダウンロード

更新履歴

2023年1月12日 バージョ1.0.0 公開