2008/07/28

忙しい

進捗表のプロジェクト欄、埋まってしまった。案件多すぎ。
てことで、さらなる効率化を計らないと、疲労感が高まってしまう。こまごました設定の疲労感を避けるには、キーボードショートカットがきく。てことで、最近のお気に入りは、ちょっとしたスクリプト+ショートカットのコンボ。
たとえば、括弧でくくった部分は、括弧の前後はベタ組み、とか、選択部分の全角カンマを半角カンマに変えて、前後ベタ組み、とか、そんなの。
ストーリー単位とかで一括変換するのは、怖いというか危険だから、結局字面をおっていかなきゃいけないときに、チマチマ文字設定→字詰めの設定とかしていたら、だるすぎるわけで。

長年(てどんだけだ)の懸案は、本文以外のオブジェクトの扱いだな。コラムとか、脚注とか。図表に関しては、ある程度共通したフォーマットがあるんだけど、そのフォーマットがプロジェクトごとに変わるのが面倒。

たとえば、今日組んでた本だと、本文、コラム、ワークショップ、キーワード、要約、問題、、、とか。まぁテキスト系の組版に比べれば、格段に楽だけど。
ここらへんを効率化する方法、を考えなければ。

もひとつは、初校出力以降の、差し替えとか、大幅なテキストの挿入に耐えうる、組み方。まぁ、アンカーオブジェクト化、てこと。時間見つけてやっておかないと、夏以降、死にそう。

まぁ、ここ3日ぐらいは、特急で仕上げなきゃいけない分がたまってるから、それをちゃっと片付けたいものだ。だが、明日は、大事なものが夕方届くはずだから、残業はしないこと。

2008/07/14

メモ

よく忘れるのでメモっておこう。
今のカーソルのあるページの取得の方法。
app.activeDocument.selection[0].parentTextFrames[0].parent.name
でOK。リファレンスでTextFrameのところを見てもPageオブジェクトが出てこないのでいつも戸惑うのだが、parentでPageオブジェクトにアクセスできる。

も一つ。
索引マーカーにも文字ツメの設定があって、デフォルトでは自動になっているため、たまに、索引マーカーのせいで、文字組みが変化することがある。これは凄く困る。そもそもマーカーは印刷されないのに、文字組に影響するってのはどうかと。なんで検索置換で前後のツメをベタにすれば問題ないか、と思っていたら、Windows環境では、索引マーカーの特殊文字がない。
これは困ったってことでspecial character enumにないかと探すが見つからない。しょうがないのでtopicsからinsertion pointを取得して~、とかやることで対応。
CS3では改善されてるのかしら。

2008/07/13

アンカーオブジェクト

なんとか3本組んだ。しかし、原稿の整理がなってないものを渡されて、「急ぎです」というのは無茶やな~。
で、こっちも忙しいので、別の人に整理してもらったんだけど、ファイルをまとめてなかったり、画像が汚かったり、そもそもの原稿データの挿入を忘れてたりとか、手落ち多過ぎ。毎回、マメに指摘してんだけど、それでも直らないとは、これ如何に。

で本題。
節のスタイルとか、見出しのスタイルに、ちょっとした図形を加えようと思って、アンカーオブジェクトを生成するスクリプトを作っていたんだけど、ライブラリ経由でないとうまくいかないんだろうか。『そのままあんかーオブジェクト』という便利なスクリプトが既にあるので、わざわざ作る必要もないのだが、勉強がてらシコシコやってるんだが、どうもうまくいかない。

Rectangleオブジェクトを作ってから、カーソル位置に挿入しようとすると、エラーが起きるんだわな。
も一個、アンカーオブジェクトのサイズを変えようと思って、visibleBoundsの値を取得すると、よくわからない数値になってる。
時間がなかったので、ちまちまサイズは手作業で修正していったんだが、来週、時間を見ても少し探ってみよう。
それからアンカーオブジェクトの参照ポイントで、仮想ボディの中央に設定する方法がわからん。まぁ行送りの先頭でもやれないことはないんで問題がないといえばないんだが。

そもそもは、Indesignの日本語版のスクリプトリファレンスがないってのが問題なんだよなぁ。

2008/07/03

表関連のスクリプト

まず、列幅の自動調整。セルにはcolumnsからアクセスして、各セルの文字列のバイト数を求めて、最大値×フォントサイズ+マージンを列幅とする(セル内で改行されてる場合もあるので、paragraphオブジェクトのcontentsで文字列を取得する必要がある)。マージンはプロンプトウィンドウを表示させて、都度入力。
バイト数を求めるには、
function countByte(str)
{
return str.replace(/[^\x20-\xFF]/g, "##").length;
}
みたいな関数作って対処。結構これは、使い勝手がいい。今組んでる本が、各章につき30ぐらいの表があるんで、いちいち手作業でやってたら腱鞘炎起こします・・・。

次にセルの結合作業支援スクリプト。セルを複数選択して、列ごとに一気にまとめたい時用に。選択状態のセルのインデックスは行方向に増える様子。

そろそろ、ライブラリ化も考えて、関数とか変数の命名法を統一しておこう。

で来週末までには3冊分ぐらい組まなきゃいけないのか・・・。スクリプト開発ばっかりやってるわけにもいかなくなってきた。

2008/07/01

やれリスト

忘れがちなので、メモ。
  • 図表オブジェクトをアンカー化。
  • 文字組の設定もいっかい見直し→本で調べる。
  • テキストを流し込む時の作業を簡略化。
  • 表の自動生成の不具合の修正(フレームからはみ出す分が表にならない)。
  • 矢印の頭を合わす。
  • 表の列の幅を自動的に調整。
  • 表のケイの調整のオプション。
  • チラシの自動作成(XML使ってみる? 書誌データ+テンプレートでラフ見本が作れるように)。
  • 人名索引作業の修正。
こんなもんですか。
気になってることとして、段落スタイルの肥大化。どうにかできないものか、と思いつつも、スタイルをどんどん登録したほうがらくなんだもんで。ツリービューとか出来たらいいんだがなぁ。スクリプトウィンドウはツリービューなのに(まぁフォルダの階層構造使ってるから当たり前だけど)

正規表現

文献の表記の統一ってのも面倒な仕事のうちの一つ。語の間が半角スペースだったり全角スペースだったり。全角カンマか半角カンマか・・・。外国人名のときは、半角の約物、日本人名のときは全角の約物、というわけでもない。ここらへんは正規表現+スクリプトで対処することで、煩わしさから解放されるはず。

もひとつ問題は、書名または雑誌名はイタリックにして、巻数はボールドとか、いう規定の問題。そもそもデータはワード形式での入稿が多く、ワード上でイタリックにしたりボールドにしたりしてるんだが、基本的には、ワードのスタイルをインデザイン上で読み込みたくないので、いちいち指定し直さないといけない。ちなみに、先頭文字スタイルを駆使することで、イタリック、ボールドの処理はいくぶん楽になる。

ワードのマクロで正規表現使って処理するのが一番真っ当な気がするんだが、VBマクロのリソースがやたら少ない(エクセルは多い)。でもって、VBの文法覚えるのもめんどくさいので、この方向性はなし。

あー、perlのwinOLE(だったっけな)で制御する、という方法もあるのか。もしくはruby。どっちにしろ勉強が必要だわな。