44201
度々すみません。  
XSL-FOでページの制御を行いたいと考えています。  
CSS組版よりXSL-FO組版が有利な点として、ページ制御があると知って興味がわきました。

  * 改ページの制御はどのように行いますか？
  * 特定のオーサリングで改ページする場合、どのような方法が想定されますか？
  * ページ数を減らすように調整するにはどのような方法がありますか？

よろしくお願いいたします。
CC BY-SA 4.0
2018-05-17T08:52:09.807
44038
2018-05-24T01:05:23.790
25399
question
xsl xsl-fo
XSL-FOでのページ制御
> ・改ページの制御はどのように行いますか？

改ページ指定は、break-after, break-before, keep-together,keep-with-next, keep-with-
previousといった属性を指定することで制御できます．  
<https://www.w3.org/TR/xsl/#d0e26492>  
これらは、CSS3-Multicolでも定義されていますが、keep-with-next, keep-with-previous
についてはサポートされていません．  
<https://www.w3.org/TR/css-multicol-1/>

> ・特定のオーサリングで改ページする場合、どのような方法が想定されますか？

"例えば表を書いた後には改ページするようにする" という指定をしたい場合、fo:table要素にbreak-
after="page"と指定すると、表を出力した後に改ページします．

> ・ページ数を減らすように調整するにはどのような方法がありますか？

XSL-
FOでは、コンテンツをページに流し込んでいきますので、データの編集により内容が増減すると、配置されるページが変わってきます．従ってあまり改ページ制御の指定を多用すると、かえってページ数が増えてしまう場合もあり得ます．

改ページによる制御ではありませんが、ページ数を減らすために、本文を二段組で出力したり、float要素により画像をフロート出力して本文を回り込ませたりすることで、ページ数を調整することがあります．
CC BY-SA 4.0
2018-05-24T01:05:23.790
44201
2018-05-24T01:05:23.790
21153
44038
answer