ホーム >  出版コラム >  DTPお役立ち情報 by せせらぎ出版 > InDesign上で正規表現の複数置換に成功!

InDesign上で正規表現の複数置換に成功!

 著者:山崎亮一

山崎です。

僕は、以前から、InDesign上で正規表現の複数置換を簡単な手順で実行できないものか、といろいろ試していましたが、本日、ついにこれに成功しました。

今まで、InDesign上ではなく、テキストエディタ(MacのJ-edit、WindowsのWZ-editorなど)上でなら、正規表現置換を、複 数同時に行うことができるので、この機能で「原稿整理」「表記の統一」「その他、DTPの前工程の調整」を行ってきました。
それらについては、出版ネッツのセミナーや、InDesign勉強会で何度も、公開・解説をしてきました。

DTPの前工程の調整とは、
○算用数字を1桁は全角に、2桁以上は半角にする(横組のため)
○算用数字を2桁は半角に、他は全角に(縦組のため)
○算用数字に、3桁位取りの半角カンマを入れる
○欧文のピリオド、カンマのあとのスペースの不統一をなくし、半角スペースに統一する。
○「○個月」「○箇月」「○か月」「○ヵ月」「○ヶ月」「○カ月」などの不統一は、すべて「○ヵ月」に統一(もちろん「○ヵ所」「○ヵ年」なども同時に)
等々です。

これでもかなり便利だったのですが、仕事でよくあることとして、InDesignに流し込んだあとの校正で多くの変更や原稿差し換え、追加が入ることが頻 繁にあります。その部分に関しては、上記の自動的統一作業が行えず、手動でやることになり、不注意による不統一や見落としが避けられません。
だから、なんとかInDesign上でその作業ができないものか、と前々から思っていたのです。
InDesign CS3 から、Grep機能が追加され、正規表現置換が実現しましたが、複数の置換を同時に行う機能はありません。

正規表現の複数置換を行うのに役立ちそうな本を、今年の春に見つけましたが、最初の数頁を読んで、難解なので、しばらく放置していました。

古籏一浩・著
『組版時間を半減する!InDesign自動処理実例集』
技術評論社 2009年1月刊
本体価格 3600円
です。

数日前から再びこの本に挑戦し、よく読むと、次々と目から鱗が落ちていきました。

結論から言うと、InDesignが対応しているJavaScriptのたった1つのスクリプトと自作の置換指示ファイルで見事に実現しました。

上記の本だけではわからず、著者に質問を出し、回答をもらったのですが、それでもJapaScriptのことが全く理解できず、著者の回答をヒントに試行錯誤をくりかえして、ついに本日成功したのです。

わかったことは、InDesignには、Win版にもMac版にも、ESTKという機能が同時にインストールされています。これはExtendScript Toolkit2(CS3の場合)という、JavaScriptを読み込むための機能のようです。
著者からもらったスクリプトを若干変更して成功したスクリプトに、仮に「せせらぎ置換スクリプト.jsx」と命名しました。たった44行、2KBの簡単なテキストファイルです。(JavaScriptの拡張子は.jsx)

まず該当のInDesignドキュメントを開き、この「せせらぎ置換スクリプト.jxs」をダブルクリックするとESTKが立ち上がります。そこで「対象 アプリケーション」を「InDesign CS3」と指定し、「スクリプトを実行」すると、「置換指示ファイルを指定してください」と表示されるので、用意してある自作のファイルを指定
すると、瞬時に複数の正規表現置換が行われる、というわけです。

僕がテストして成功を確認している自作の置換指示ファイルは次のようなものです。
01-せせらぎ原稿整理-新聞社型.txt
02-せせらぎ原稿整理-エッセイ型.txt
03-【 】取る.txt
04-数字1桁のみ全角.txt
05-数字2桁のみ半角.txt
06-算用数字→漢数字.txt
07-位取り漢字「十」挿入.txt
08-横組数字位取りカンマ挿入.txt

これらは、左側に「検索対象文字列」、タブの右側に「置換文字列」が並んでいるだけの至って単純なテキストファイルです。
必要に応じていくらでも作れそうです。

————————————-

これは、InDesignを使って組版をする人の必須アイテムではないか、と思っています。
例によって、InDesign勉強会や、出版ネッツのセミナーなどで公開するつもりです。

ただ、11月の勉強会では時間不足になりそうなので、簡単な実演だけ見てもらい、詳しくはこれだけ単独のセミナーを計画しようかなと思っています。

============================================
山崎亮一(せせらぎ出版・出版ネッツ関西支部)
〒530-0043 大阪市北区天満2-1-19-21
Tel.06-6357-6916 Fax.06-6357-9279
メール ryo@seseragi-s.com
URL http://www.seseragi-s.com
せせらぎ広場(ブログ)http://seseragi-s.jugem.jp/
============================================

この記事の著者:山崎亮一 »プロフィール

(有)せせらぎ出版社長。著名な著者や宣伝力で勝負する大出版社とはひと味ちがう、技術的には多少未熟でも無名の著者がコツコツ書いた、生きる勇気を与えてくれるなにかを本という形で世に出したいと考えています。

ウェブサイト:http://www.seseragi-s.com/

  • この記事の著作権は、著者が有します。
  • この記事の内容についての責任は著者にあります。出版ネッツ関西が記事の正確性やその及ぼす影響について保証するものではありません。

同じ著者の記事

カテゴリ「DTPお役立ち情報 by せせらぎ出版」のほかの記事