# Determine page count programmatically [duplicate]

Possible Duplicate:

By selecting File > Printing Settings > Headers and Footers from the menu, I am able to enter << Total Pages >> to print the total number of pages in the notebook. How would I retrieve this value programmatically?

-

## marked as duplicate by Sjoerd C. de Vries, Guess who it is.♦Sep 28 '12 at 12:16

This is discussed here: mathematica.stackexchange.com/questions/1704/… –  intermath Sep 28 '12 at 0:50
Included in the more comprehensive question here: mathematica.stackexchange.com/q/476/57. –  Sjoerd C. de Vries Sep 28 '12 at 5:34

If you evaluate:

Options[EvaluationNotebook[], PageHeaders]


You will see the underlying code that generates the total pages is:

CounterBox["LastPage", CounterFunction :> Identity]


Counters can be added into a notebook via the menu:

However I was unable to get the counter to return the page count. When trying other counters such as input cells or sections everything worked fine but both "Page" and "LastPage" failed to return a count (although they worked as advertised in the page header when the page is printed). e.g.

CellPrint[Cell[TextData[CounterBox["Input"]]]]


works whereas

CellPrint[Cell[TextData[CounterBox["LastPage"]]]]


didn't work.

However when you print the page the counters for "page" and "LastPage" evaluate:

So it appears that page counts are not evaluated until you actually print. So if you require the page count to appear within your notebook working environment it doesn't appear to be possible.

Edit

@user1420372 has found that showing the page breaks makes the counters work. I guess the pages remain "uncounted" until required, e.g. either by printing or evaluating and displaying page breaks.

-
Thanks :) That is excellent. I got CellPrint[Cell[TextData[ CounterBox["LastPage"]]]] to work when I showed the page breaks (without showing page breaks it returns 0). –  MLD Sep 28 '12 at 1:00
Note that in the end I used CurrentValue[{"MaxCounterValue", "LastPage"}] based on comments in: (mathematica.stackexchange.com/questions/6073/…) –  MLD Sep 28 '12 at 5:01
I believe you have to set page break view before this works. –  Sjoerd C. de Vries Sep 28 '12 at 5:28