InDesign:文字数でインデントするやつ作り(直し)ました

吐露から

ゆるい視点からの話ですけど、段落のインデント設定が、たまにすごくだるいんですよ。
「11Q 2行目以降 1Wサゲ」とか書かれてたら、やじゃないですか。
あ、これ、五-七-五だ…
左インデントに「2.75」とか「11Q」とか入力して、
そのあと1行目左インデントに「-2.75」とか「-11Q」とか入力して。
手がすべってこの順番をまちがえるたんびに、アプリにアラート出されて叱られて。
もう、いやっいやっ。

…って前々から思ってて。

過去に書いたスクリプトが、あるにはある

で、ものすごく昔に一度スクリプトを書いたんだけど、操作面でいまいちかわいくなくて、
作った本人まったく使わないまま埋もれてしまってましたです。

今回、いまの自分が持ちうる知識を結集して、がっつりめに書き直しました。
リファクタリングってんですかこれ。合ってますか。違う気がする。


ダウンロード

今回も、AIとタッグを組んですごいスクリプトを書く方たちに向け、
少しでもお役に立てればという願いをこめてgistに置きました。どんどん参考にされたい。
リンクに飛んだら右上の「Download ZIP」おしてね。

mojindent.jsx

名前、うちのChatGPTと一緒に考えたんですが…大丈夫ですかこれで。
※リリース後に機能追加したためUI下部に若干の変更があります。


何するものか

インデントの設定を「文字数」で行えるやつです。
また、いきなり1行目左インデントにマイナス値を入れたりしても、自動で整合してくれるようにしました。
もうアプリに叱られなくて済むわあ。


あそびかた

てきとうなテキストを選択してスクリプトを起動すると、UIが出ます。
(v1.1.0)選択テキストフレーム群、または選択テキストの先頭挿入点の文字サイズが処理基準となります。
上記対象内の設定が一意であれば、UIに現在の値が反映されます。
なにも選択していない場合、ドキュメントデフォルトの段落スタイルが設定・変更の対象となります。
UIが出たあとから対象を変更した場合は、そのつど「とりこみ」ボタンを押してください。
あまり複雑な状況でチャレンジしないようにしてください。やさしくして。

各フィールドには、文字数に換算したインデント値が表示されます。
13Qの場合、実際のインデント値が 6.25mm だったら 2 と出るかんじです。
選択範囲内に複数の段落群があって、設定がばらついている時は段落パネル同様、空欄になります。


さわりかた

で操作なんですが、

  • フィールドに直接入力
  • フィールド上に値が入った状態でキーボードの ↑ ↓ で増減 ※
  • 増減ボタンで増減 ※

が可能です。

※:shiftキー併用で増減値は 5 ずつとなります。

各フィールド間はtabキーでジャンプします。
shiftキー併用でバックもできるでー。

それと、項目名のところをクリックすると入力欄にフォーカスします。
アプリの標準パネルでもおなじみですね。


補足

(v1.1.0より)
「とりこみ」の文字サイズは、選択範囲の先頭挿入点を基準とします。
UIの下部にとりこんだ文字サイズを表示するようにしたので参考にどうぞ。


できないこと

まあ、いいことばかりではない、ということです。

  • フィールド上での計算式には(まだ)対応していません。
    それをやるなら標準の段落パネルを使えばいいじゃんすかよ、って話です。
  • 縦組みには(まだ)対応していないというか、組み方向の振り分けを実装していません。
    ので、縦組みテキストで何が起こるかは責任とれません。
    世評によってはのちのち対応するかもしれません。

というわけです

今回、とことんまで気持ちよく使えるScriptUIを目指してみました。
これ以上のことを望むならCEPのほうがよいかも。
というか、ほんとにそろそろUXPも始めないとね…

いくらかほめてくださるとけっこううれしいです。

InDesign:ページ/スプレッド内だけ正規表現検索置換したいならスクリプトですぐだよ

街の静寂を破る美女の悲鳴
(だるい仕事の最中にTL覗いたら見つけた:美女でも悲鳴でもない)

https://x.com/luktar/status/1967540433145475405

これ、ふつうに基本的な検索置換でできると思ってた、というか自分が思い込んでしまってたんだけど、できないじゃんすか。
あらあらこれはこれは。

検索置換のターゲットを限定するところまでなら比較的かんたんにスクリプトで解決できるだわ、と
頼まれもしないのに気分転換を込めてちょっと書いてみました。
そのあと3〜4回修正しなければならなかったのがいつもの自分品質。


id_changeGrepOnPageOrSpread.jsx

CS3以降で動く気がします。


あそびかた

まず実行すると、怒られます(おい)。
これは正規表現検索の設定ができていない場合に出ます。

なので、検索置換ウィンドウを開いて、正規表現のほうで
検索文字列、置換文字列、検索形式、置換形式 をととのえておきます。

で、実行すると、入力を求めてきます。
アクティブページなら 1 を、アクティブスプレッドなら 2 を半角で入力してOK。

検索置換終了。やったわー。

過去に似たような処理を書いた気がして、掘り出してみようとも思ったけど
結局そんなに行数いかなかったのでこれでいっか。
拡張の可能性があるとすればページ範囲の指定ぐらいかなあ。

InDesign:段落の囲み罫と背景色が崩れたときの直しかた3選(そのうち2つはいまいち)

最近のInDesignには、「段落の囲み罫と背景色」という一見便利な機能(言い方!)があるんですが
これ、同じ設定の段落なら一括りにしてくれる設定にしていても、ちょっとのはずみで分断されてしまうことがしばしばあって、プリントやPDF書き出しのあと厳重にチェックしておかないとどこかで切れが発生してて得意先にこっぴどく怒られちゃうのです。
おおこわい。ああいやだ。

で、
その崩れちゃったときの直し方を現時点でまとめておきます。


の、前に

こんなもん、いま覚えても、いつか現象に直面したとき都合よく思い出せるわけがないだろう(と思う…)。
ので、ダメな状態をいつでも作れる手段も用意しました。やさしいなあ。

段落の「囲み罫」および「背景色」を設定した段落を連続で複数用意

グラフィックフレームをアンカー付きオブジェクトで挿入

グラフィックフレームのリンクを寸法違いの画像に置換。ほら壊れた。

これだけで百発百中。やったね。


というわけで、直し方ー。

1.外して付け直す

おすすめ度 ★☆☆☆☆

これは直感的操作で辿り着く解決法かも。たまに直らなくて焦る。
ただ、チェックを外す→チェックを入れる ということは、ストーリー全体で一括でやるわけにはいかないわけです。
チェックの入っていない段落にまでチェックを入れてしまうことになるので。
ストーリー内を目で追いながら、問題の出た箇所をピンポイントでやらないといけない。
チェックが入っている段落だけをループ処理するスクリプトをものかのさんが用意してくれましたが。

2.全ストーリーを再計算

おすすめ度 ★★☆☆☆

これは公式ヘルプで紹介されています。
https://helpx.adobe.com/jp/indesign/kb/235066.html
(追加情報の項を参照)
このコマンド、メニューにはなくて、ショートカットだけが存在しています。わかるかそんなもんっ
Ctrl + Alt + / キー(Windows)/Command + Option + / キー(macOS)
クイックアクセスからも実行可能。

イナズマボタンの隣にあるプルダウンメニュー(▼)から「メニューコマンドを含む」にチェックが入っていれば出ます。
メニューにないコマンドなのにね…

ただこれ、あまりにも長大なストーリーだと、直りません。上記ショートカット実行の瞬間だけは直るんだけど、すべてのキーから指を離したとたん、またおかしくなり直します。ちくしょうちくしょう。

3.すべてのストーリの構成を直ちにやり直す

おすすめ度 ★★★☆☆

※「ストーリ」は原文ママ
いま時点、これが一番信頼できます。うちのおすすめ。
「全ストーリーを再計算」同様、メニューにないコマンドです。
しかも初期設定ではショートカットが割り当てられていないので、
編集メニュー>キーボードショトカットを開いて1,000項目以上のコマンドを仕事中にボケーッと眺めていないと見つけられない(すみませんねえほんとに)。
「全ストーリーを再計算」同様、クイックアクセスからクイックにアクセスできます。

これ、ほんとに直ります。やったー。
ひんぱんに使う人はショートカットを設定しておくといいかも。

でこれ、うちの実務データ(66p、1ストーリー、アンカー付きオブジェクト50ヶ超)が知り得る限り最上位の厄介データで、これで大丈夫だったので他でも大丈夫じゃろう、とタカククリしてたんですが、ものかのさんご提供のテストデータでは全然ダメでした…記事のコメント欄を参照してください。
この3の方法だと、表示中のページだけ直って表示外ページがほぼ壊滅してしまう。なんでなんだ。

4.1をスクリプトで

おすすめ度 ★★★★☆

おや、「3選」じゃなかったのかい? という話なんですけど。
というわけで1こ追加なのです。
ものかのさんが自分使い(ご本人使い?)しているスクリプトに改良を加えてご提供してご下さったので、ありがたく使わせてもらうことに。やっぱスクリプトだよなー(手のひら)。

段落背景色や段落囲み罫の表示不良を直す.jsx

ものかのさん、ありがたすぎる。えらすぎる。すごすぎる。尊い。
いつか新築で豪邸を建てたらエントランスの床にはものかのさんの手形をあしらいたい。

さいごに

いくつか紹介したんですが、どの手法を用いたとしても、最後は目視確認を必ず行うべきです。
これは実体験でも数回ひどい目に遭ったことから、切実に呼びかけたいところ。
いつの日か破綻のないバージョンが出ますようにお祈り。


おまけ

で、「全ストーリーを再計算」と「すべてのストーリの構成を直ちにやり直す」で何がちがうのさ、と。
わからんですね。
英語版のコマンド名を調べてみました。

全ストーリーを再計算
Recompose all stories
(すべてのストーリーを再構成)

すべてのストーリの構成を直ちにやり直す
Recompose all stories immediately
(すべてのストーリーをすぐに再構成)


…わからんですね。
すぐに「じゃない方」は一体、いつ再構成してくれるというのだろう… だれかおしえて。