4D Write Pro を使うと、複雑なドキュメントも簡単に作成することができます。表示やレイアウトの属性は、テキスト・画像・表組みなど、ドキュメントのさまざまな部分に適用することができます。表組みについては、レイアウトをより良く定義するための新しいプロパティが追加されました。4D v19 R4 で何ができるようになったのか見てみましょう。
HDI: Write Pro: 表組みの行内部の自動改ページ
小さい表組みと大きい表組み
表組みの行数が多い場合など、ドキュメントの中で表組みが占めるスペースは、かなりのものになります。
ページ上の残りスペースが足りない場合、表組みを自動的に 2つに分割するか、先に改ページを挿入して次ページに全体を表示するかを定義するための属性は、すでに存在します。
4D v19 R3 までは、表組みが 2つに分割される場合、常に 2つの行の間で切り離されます。表の行に表示されているのは数字やラベルであることが多いため、通常はこれで十分です。一方、セルに長いテキスト (あるいは複数の段落) が表示されている場合、スペースを有効活用するために、セル自体を 2つに分割する (したがって、表の行も分割する) 機能も便利かもしれません。
新しい属性
wk page break inside row は、表組みの行内部での分割を可能にします。このオプションが前のオプションに依存していることに注意が必要です。もし表組みが分割できないなら、行内でも分割できません。
この属性は、行レンジ、行要素、または任意のターゲットに適用することができます。任意のターゲットに適用する場合、最終的に実際に影響されるのはあくまでも行の属性であることに留意してください。
wk page break inside paragraph は、段落だけでなく、ドキュメント自体、特定のセクション、テキスト範囲など、任意のターゲットに適用できます。いずれの場合においても、属性は実際にはターゲット内の段落を対象とします。これは単に “利便性” のための機能です。
注記: 段落と表の両方に適用される既存の属性 wk page break inside は、現在では廃止予定となっています (互換性のため、引き続き動作します)。この属性は、より明示的な上記の新属性によって置き換えられました。
何がどう変わるのか?
新しいドキュメントでは、この新しいオプションはデフォルトで有効になっています。実際のところ、表組みの行が 1行のテキストの場合には、何も変わりません。一方、セルに 1つ以上の段落が含まれている場合、これらの行は自動的に分割されます。
以前のバージョンで作成されたドキュメントでは、レイアウトを維持するため、ドキュメントを開くと、すべての表のすべての行でこのオプションが無効化されます。
コードの例
サンプル1: 表組みの任意の行内で改ページを許可します
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
サンプル2: 表組みの最初と最後の行を除くすべての行内で改ページを許可します
このプログラムには、2つの方法があります。
#1 行レンジを使用する
// すべての行が分割可能です
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// 先頭行は例外です
WP SET ATTRIBUTES(WP Table get rows($table; 1; 1); wk page break inside row; wk avoid)
// 最後の行も例外です
WP SET ATTRIBUTES(WP Table get rows($table; $table.rowCount; 1); wk page break inside row; wk avoid)
#2 行要素を使用する
// すべての行が分割可能です
WP SET ATTRIBUTES($table; wk page break inside row; wk auto)
// 行要素を取得します
$colRows:=WP Get elements($table; wk type table row)
// 先頭行は例外です
WP SET ATTRIBUTES($colRows[0]; wk page break inside row; wk avoid)
// 最後の行も例外です
WP SET ATTRIBUTES($colRows[$colRows.length-1]; wk page break inside row; wk avoid)
インターフェース
もちろん、インターフェースの表や行のメニューは、これらの新しい属性を考慮したものに変更されています。
まとめ
新しい属性はより分かりやすくするために作成され、より柔軟な表現ができるように 1つが追加されました。美しいレイアウトやドキュメントの作成にお役立てください!