6.4.2. column-subset の定義

 column-subset は、段集合領域に含まれる段組の部分集合の指定を行うための構文で、先に見たように column-set-model 定義の一部になります。図6.4で見たように、columnsubset は column を束ねる位置にあります。段組における各段に特有の指定(原点やサイズなど)は column で行い、それらに共通の指定を取りまとめるのが column-subsetであるといえます。
 それでは、column-subset 指定の構文を以下に示します。なお、column-subset は define-column-set-model の構文の一部に過ぎませんので、column-set-model のような述語手続きは持ちません。

(column-subset column column-subset-flow-map
               top-float-space-below bottom-float-space-above
               balance justify justify-limit justify-last-limit
               length-deviation length-decrease-order
               align-lines)
column

column は段のサイズや原点などの指定で、少くとも 1 つ以上指定する必要があります。構文は次の通りです。

(column width height x-origin y-origin
        footnote-separator header footer)

 footnote-separator を除く引数の意味、構文は、page-model における region 指定(p.133参照)の同名のものと同様です。ただし、何点か注意すべきことがあります。
 まず、column は column-subset 内に複数指定することができますが、このときに各column が重なり合わないように配置する必要があります。次に、原点およびサイズの指定が親の column-set-model における filling-direction 指定に影響される点です。columnの領域は、filling-direction の方向には伸長し、filling-direction の垂直方向には固定されたサイズを持ちます。ですから、filling-direction が top-to-bottom の場合は width および x-origin を、filling-direction が left-to-right または right-to-left の場合は height および y-origin を指定する必要があります。
 残る footnote-separator ですが、これは footnote ゾーンの直前に生成・配置する領域の指定になります。footnote-separator の指定構文は以下の通りで、引数 generated-area-clausesheader および footer に同じです。

(footnote-separator generated-area-clauses)

 generated-area-clauses には表示領域を生成する任意の sosofo を指定します。

column-subset-flow-map

 column-subset-flow-map は、あるポートがどのゾーンに結び付けられるかを指定するものです。この指定は省略できません。構文は以下の通りです。

(flow (port-specifier zone-name)+)

 上の構文は、ポートとゾーンの組み合わせのリストを 1 つ以上記述することを意味します。ゾーンは先に説明したように、top-float、body-text、bottom-float、footnote のいずれかです。

top-float-space-below

 top-float-space-below は、top-float の下に追加する空間の指定です。構文は以下の通りで、expression には display-space 型のオブジェクトに評価される式(一般には length-spec)を指定します。

(top-float-space-below expression)
bottom-float-space-above

 bottom-float-space-above は、bottom-float の上に追加する空間の指定です。構文は以下の通りで、expression には display-space 型のオブジェクトに評価される式(一般には length-spec)を指定します。

(bottom-float-space-above expression)
balance

 balance は、column-subset の釣りあいを取るかどうかの指定で、引数は論理値に評価される式です。指定値が #t の場合に釣りあいを取ります。


図 6.6 段部分集合のバランス化

justify

 justify は、column-subset を両端揃えとするかどうかの指定です。引数は論理値に評価される式で、指定値が #t の場合に両端揃えとなります。ただし、justify が適用されるのは fill-out 指定が #t の場合に限ります。

(justify? boolean)
justify-limit

 両端揃えを行う場合に、段内の空きスペースが全体のサイズと比較して一定量を超過した場合に、両端揃え処理を制限するための指定です。許容する最大空きスペースの量は、全体のサイズに対する割合(パーセンテージ)を示す数値です。

(justify-limit expression)
justify-last-limit

 justify-limit に同じですが、最後の column-subset に対する指定である点が異なります。

(justify-last-limit expression)
length-deviation

 balance、または justify を指定する場合、どの程度まで各段の長さのズレを許容するかを指定します。

(length-deviation length-spec)
length-decrease-order

 段の長さに対する制約を指定します。

(length-decrease-order #f または’forward または’backward)

 #f の場合、追加の制約はありません。forward の場合、順方向に進む段の長さが増加しないものとして、backward の場合は逆方向に進む段の長さが増加しないものとして扱われます。

align-lines

 空きスペースを分配する際に、異なる段の間で行を揃えるよう試みるかどうかを指定します。引数は論理値に評価される式です。

(align-lines? boolean)

<<prev      next>>