索引に含まれる全項目のノンブルをずらすbinWord/blogITや編集関連の話題を、脳から流れ出るまま、語っていきます。found]あくまで仮の話なのだが、書籍の編集作業をしていて、本文記事の編集も終わり、索引のテキストデータ(項目とノンブル(ページ番号))もきっちり作ったとする。仮に、仮にだ、そういう状況になってから、「やっぱり本文記事のノンブルを変更することにします。全部2ページ後ろにずれます」なんてことをいわれたら、ちょっとばかりブルーになるのが人情というものだ。DTPソフトによっては索引用のプラグインが提供されていることもあるのでこれを使えば一発だと思うかもしれない。作業の進行によっては索引を複数人で分担して作らなければいけないこともあるし、本文での表記をそのまま索引で使わないこともあったりするから、意外と索引用プラグインの出番は少なかったりする。そもそもDTPのプロダクションが索引用プラグインを持っていなかったらどうしようもないし。私も1桁の足し算くらいは余裕でこなすが、それを2000も3000も間違いなくこなす自信はない。今、脳トレーニングなんてやりたい気分でもない。そこで、正規表現とExcelを使うことにする。索引のテキストデータが、次のような形式になっているとする。この場合は上下巻で、項目名とノンブルの間はタブで区切られている。・まず、Excelで処理できるよう、ノンブルの区切りをすべてタブに置換する(本当は最初から索引がExcelで作ってあるとよいのだけど)。テキストエディタ上で正規表現の使える置換機能を呼び出し、「\t.+([0-9]),([0-9])」→「\1\t\2」と指定する(正規表現はエディタによって微妙に違うので注意)。これによって、(タブのあとにある)数字ではさまれたカンマがタブに置き換わった。数字」などとなるよう処理しておく。やって処理したテキストデータをExcelに読み込む。したら、新しいシートを作り、そこに項目名の行をコピーする。ノンブルについては、すべて「2」を足したい。そのため、新しいシートの対応セル(例えばA3セル)には「=IF(Sheet1!A3=””,””,Sheet1!A3+2)」と入力する。これは、Sheet1のA3セルが空なら、このシートのA3セルも空、空でないなら2を足した値を入れる」という意味だ。入力したセルの右隅をドラッグして範囲を広げれば、すべてのセルに同じ式を簡単に入力できる(参照するセルもきちんと対応したものになる)。「上」「下」と入っている部分は数値でないためエラーになるが、これについてはExcelの検索・置換機能で修正してしまえばいい。テクニックを使えばこの辺りもスマートに解決できるのだが、とりあえずはスピード優先だ。して出来上がった表をコピーして、再度テキストエディタに貼り付ける。最初に行った処理の逆、つまり数字と数字の間をカンマにするといった処理を行えばいい。例は上下巻とも2ページ足しているが、増やすページが上下で違うとちょっとややこしいことにはなる(上下巻それぞれの索引を作って、あとでマージすることになるだろう)。あとは、できた索引のテキストデータを入稿すると......。いや、以上はあくまでも仮の話だけど。勤続年数で決まる給与、果てしない残業......そんな会社にいるならどうする?青野慶久『会社というモンスターが、僕たちを不幸にしているのかもしれない。だきありがとうございます。コメントの承認遅れてすみません。いうマニアックな情報、ありがたいですね〜。和活用大辞典の変換スクリプトを作ってみました。以前は問題なかったのに、不思議ですね。Design+SEO。