名前: 北見 けん 日時: 2010-04-19 11:41:46 IPアドレス: 211.128.71.*
>>54876 > Illustrator や InDesign において使われるような「複数のテキストボックスの連結」 > が TeX で実現できないかと試行錯誤しています。 > 具体的には,「parbox その1」と「parbox その2」を連結して,> 「parbox その1」 > に流し込んだテキストが box に入りきらなくなれば続きを自動的に「parbox その2」 > に流し込むという仕組みを実現したいと考えています。 (引用に当たって改行位置を変更しました) TeX 以外のアプリケーションでよく使われる上記のような“テキストボックス”というのは、 空っぽのボックスが 大きさなども決まった実体として 紙面のある位置に存在していて、 そのボックスにあとから中身の文章を流し込むようなものですね。 それで、「ボックス1」と「ボックス2」が紙面に存在していて、それらが“連結している” という認識をアプリケーションに与えてやると、ボックス1に流し込んだ文章が長くなれば 続きはボックス2のほうに現れるというわけですね。 TeX の組版は逆の組み立て方で、まずは中身の文章ありき、となります。 ひと段落分の文章を受け取ると、それを行分割して複数の行からなる段落を作り、 それを紙面に成り行き任せに配置していきます。 TeX で“ボックスの連結”と似たことをやるなら、まずボックス1と2に入るべき文章すべてを 一括して受け取り、それを行分割しながら段落を作り、その全体を紙面に配置せずにひとつの ボックスレジスタに保存します。そのあとで、そのボックスレジスタを二つに分けて、紙面の 二箇所に配置する というようなことになるわけです。 具体的には、 \setbox0=\vbox{...text....} \setbox2=\vsplit0 to 100pt のようにすると、前半100pt分までが \box2 に、そこからあとの残りが \box0 に収められて いますから、あとは都合のよいところで \box2 なり \box0 なりやって紙面に配置すればよいわけです。 紙面の特定の場所に配置するのはまた別の問題になると思います。
この書き込みへの返事: