Re: Printing Support (and workshop) [was: html feature request ]

> Marcus E. Hennecke writes:

> On Thu, 21 Mar 1996 15:53:17 -0500, "Daniel W. Connolly" 
> <connolly@beach.w3.org> wrote:

> > In message <m0tykTv-000alNC@delta.teraflop.com>, Ross Harvey writes:
> > >	2.	<keep> </keep>, or something, to specify that a section
> > >		of the input not be broken over page boundaries.
> > I'd spell it:
> > 
> > 	<div class="keep">...</div>
> > 
> > or perhaps:
> > 
> > 	<div style="keep: true">...</div>

> I'd much rather see
>  	<div style="pagebreak: 3">...</div>
> where the number reflects the degree to which a pagebreak is allowed.

My feeling is that the div idea is good for grouping a small number of
elements which, exceptionally, one wishes to keep together when

For example, in the absence of FIG one might have:

  <div class="figure">
    <img src="url" class="figure.content">
    <p class="figure.caption">Figure 1: stuff</p>
    <p class="figure.credit">&copy; Chris Lilley</p>
The associated stylesheet for printing would then specify a keep together 
property for .figure (plus of course any other details such as italic for 
the caption, centering, flow properties, dithering method for greyscale 
printing, and so forth).

I say "a small number" because a request to keep together 5000 lines of 
text cannot be honoured on most printers. The best that could be done, 
when a large amount of text is requested to be kept together, would be to 
start a new page and then let page breaks fall as they will.

I say "exceptionally" because I feel that a better way to handle page
breaks in general is to specify the behaviour of elements or classes in
the printing stylesheet.

Taking a cue from Framemaker, I envisage three CSS1 properties:

  break-before: always | permit | neutral | discourage | never
  break-within: always | permit | neutral | discourage | never
  break-after:  always | permit | neutral | discourage | never
For example:

H1, H2 { break-before: permit; break-within: discourage; break-after: never }
P      { break-before: permit; break-within: neutral; break-after: permit }

Div, with appropriate semantic classes, would then be used to override 
these general rules in particular instances - for example to connect a quote 
and it's attribution.

Chris Lilley, Technical Author and JISC representative to W3C 
|  Manchester and North Training & Education Centre   ( MAN T&EC )  |
| Computer Graphics Unit,             Email: Chris.Lilley@mcc.ac.uk |
| Manchester Computing Centre,        Voice: +44 161 275 6045       |
| Oxford Road, Manchester, UK.          Fax: +44 161 275 6040       |
| M13 9PL                            BioMOO: ChrisL                 |
| Timezone: UTC        URI: http://info.mcc.ac.uk/CGU/staff/lilley/ |