W3C home > Mailing lists > Public > www-style@w3.org > September 2008

Re: [page][gcpm] should a named page start on a new page?

From: Håkon Wium Lie <howcome@opera.com>
Date: Thu, 11 Sep 2008 20:41:18 +0200
Message-ID: <18633.26190.573640.900747@opera.com>
To: marbux <marbux@gmail.com>
Cc: www-style@w3.org

Also sprach marbux:


Thanks! Use cases are useful and I liked you bunch. I'd like to add
some of them as examples in the GCPM draft.

 > 5. User wants chapters to always begin on a right-hand page in a
 > volume. 

  div { page-break-before: right }

 > Where the normal page break would throw the chapter beginning
 > onto a left-hand page, the user wants an intentionally blank page to
 > appear and not to be counted in the page numbering.

This is not possible in any current proposal. I can understand you
don't want the blank to to have headers/footers, but do you really
want the page not to be counted?

 > (Use case points to the need for two types of markup: [a] omit header
 > and page numbering; and [b] "don't increment the page number counter
 > for this page.")

 > 6. User wants to create a book where full-page photos are inserted
 > sporadically. Photo pages must not include headers, page numbers, etc.

@page photo {
   @top-center { content: none }

img { page: photo }

 > 6(a). Photo pages are to be counted nonetheless for the page number
 > count and corresponding entries will appear in the table of contents
 > for each photo.

That would work in the current GCPM proposal, e.g. with this style sheet:

  #toc a::after { content: leader(dotted) target-counter(page) }

 > 6(b). Same as 6(a) except photo pages are not to be counted for page
 > numbering purposes.

If pages are not numbered, what you toc entries (like the one above)
resolve to? Would the page number be the same as the preceding page?
0? undefined?

If we want a way to suppress incrementing the page counter, the syntax
is already there:

  @page photo {
     counter-increment: page 0;

 > 7. A book contains front matter pages, some without headers/ page
 > numbering, some without headers but with page numbering in italic
 > lower case Roman numerals. E.g., flyleaf sheet, title page,
 > copyright/ISBN registration page, dedication page, table of contents
 > pages, introductory preface by another author. On page 1 of chapter 1,
 > the page number counter is reset to 1 and the header/page numbering
 > first displays on page 2 of the first chapter.

You can see a "real" example very close to what you describe here:


You ask for page numbers and headers not to be shown on the first page
of the chapter. In the current proposal, this can be achieved with:

  div.chapter { page: chapter }

  @page chapter { 
     /* set headers/footers here */

  @page chapter:first { 
     @bottom-right { content: none }
     @bottom-left { content: none }
     @top-right { content: none }
     @top-left { content: none }

Or, you could say:

  div.chapter { page: chapter-initial-page chapter }
  @page chapter-initial-page {
     @bottom-right { content: none }
     @bottom-left { content: none }
     @top-right { content: none }
     @top-left { content: none }
  @page chapter {
     /* set headers/footers here */

 > 8. A book contains endmatter pages, e.g.:
 > 8(a). Appendices that require continuation of the book's page
 > numbering but different page headers that include the appendix number
 > and title.

This is a good use case. This style sheet should work:

  @page chapter {
     @bottom-center { content: counter(page) }
  @page appendix {
     @top-center { content: "Appendix " counter(appendix) ": " string(title) }
     @bottom-center { content: counter(page) }

  div.appendix { counter-increment: appendix }
  div.chapter { counter-increment: chapter }
  h1 { string-set: title content() }

 > 8(b). As in 8(a) but each appendix has its own page numbering.

  div.appendix { counter-reset: page }

 > 8(c). A colophon page and an intentionally blank flyleaf sheet, both
 > without headers or page numbering.

  @page blank {
    /* blank out all headers/footers */

  div.colophon, div.flyleaf { page: blank }

Issue: do we want to have a predefined "blank" page?

 > FWIW, WordPerfect handles such issues primarily using what is called
 > Delay Codes, summarily described in the version X3 Help file thusly:
 > "You can insert and edit delay codes. Delay codes allow you to
 > suppress open codes by specifying that the open codes take effect
 > after a specified number of pages. ... For example, if on page 3 you
 > delay a code by two pages, the code takes effect on page 5."
 > [WordPerfect allows delaying of any open code.]
 > (For clarity, in WordPerfect "open codes," e.g., font selection, that
 > remain in effect without a closing tag in the same document, are as
 > opposed to "paired codes," e.g., font attributes or tables, that
 > require both an opening and closing tag. "Open" codes remain open
 > automatically. WordPerfect does not enable delaying of paired codes.)
 > So e.g., delay for 1 page a header , then if necessary -- e.g., to
 > handle an intentionally blank page -- drop in a "restart page number
 > counter at number Y here" on the desired page.
 > But a "do not increment the page number counter for this page" tag
 > would be a valuable adjunct, particularly in the context of
 > reformatting books in a manner that would change page breaks and page
 > number counts, e.g., for use with intentionally blank pages. "Restart
 > page number counter at number X here" requires manual change of the
 > restart numbers when books are reformatted in a way that changes the
 > number of pages.
 > Best regards,
 > Paul E. Merrell, J.D. (Marbux)

              Håkon Wium Lie                          CTO °þe®ª
howcome@opera.com                  http://people.opera.com/howcome
Received on Thursday, 11 September 2008 18:42:02 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:12 GMT