Newsgroup: it.comp.software.tex
Titolo: Numerazione pagine

Numero le pagine di un documento usanto il seguente codice:
**********
\makeatletter
\newcount\TotalPages
\TotalPages=\z@
% To know the number of pages (we write it in the .aux file)
\def\NumberLastPage{9999} % Initialization
\AtEndDocument{%
\immediate\write\@auxout{%
   \string\gdef\string\NumberLastPage{\the\TotalPages}}}
\fancyput(17.5cm,2.5cm){%
\psframe[linestyle=none,fillstyle=solid,fillcolor=yellow](-1,-\paperheight)
\rput(-0.5,-\pst@dimh){%
   \pscirclebox[fillstyle=solid,fillcolor=black]{%
     \textcolor{white}{\textbf{\thepage}}}}}
\let\@outputpageORIG\@outputpage
\def\@outputpage{%
\global\advance\TotalPages\@ne
\pst@cnth=\NumberLastPage
\advance\pst@cnth\@ne
\pst@dimh=\paperheight
\divide\pst@dimh\pst@cnth
\pst@dimg=\pst@dimh
\divide\pst@dimg\tw@
\pst@cntg=\thepage
\advance\pst@cntg\m@ne
\multiply\pst@dimh\pst@cntg
\advance\pst@dimh\pst@dimg
\@outputpageORIG}
\makeatother
**********
Dove posso un manuale che mi spieghi quella sintassi?
Come posso far si' che la numerazione inizi da una pagina differente 
dalla prima? (in particolare a me servirebbe dalla terza)
Grazie,
     Giacomo.

 dalla prima? (in particolare a me servirebbe dalla terza)
\setcounter{page}{1} all'inizio della terza pagina (LaTeX manual,
pag. 98)
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

Maurizio Loreti wrote:
 > E' un gran pasticcio.
Lo so, ma non e' mio :) .
 > Sembra che tu voglia sapere quante pagine in
 > totale ci sono nel testo, tipo voler stampare "pagina X di Y", ma
 > NumberLastPage non viene mai usato.  Sarebbe meglio che tu dicessi che
 > cosa vuoi ottenere...  Per cose tipo "pagina X di Y" io uso fancyhdr e
 > lastpage.
Fai prima a vederlo da solo usando questo codice (copia-incolla e doppia 
compilazione) ;) .
***
\documentclass[a4paper]{article}
% Warnings :
%  - this file must be compiled twice
%  - the coordinates of the \fancyput macro are set for the A4 format
\usepackage{pstcol}
\usepackage{fancybox}
\makeatletter
\newcount\TotalPages
\TotalPages=\z@
% To know the number of pages (we write it in the .aux file)
\def\NumberLastPage{9999} % Initialization
\AtEndDocument{%
\immediate\write\@auxout{%
   \string\gdef\string\NumberLastPage{\the\TotalPages}}}
\fancyput(17.5cm,2.5cm){%
\psframe[linestyle=none,fillstyle=solid,fillcolor=yellow](1,-\paperheight)
\rput(0.5,-\pst@dimh){%
   \pscirclebox[fillstyle=solid,fillcolor=black]{%
     \textcolor{white}{\textbf{\thepage}}}}}
\let\@outputpageORIG\@outputpage
\def\@outputpage{%
\global\advance\TotalPages\@ne
\pst@cnth=\NumberLastPage
\advance\pst@cnth\@ne
\pst@dimh=\paperheight
\divide\pst@dimh\pst@cnth
\pst@dimg=\pst@dimh
\divide\pst@dimg\tw@
\pst@cntg=\thepage
\advance\pst@cntg\m@ne
\multiply\pst@dimh\pst@cntg
\advance\pst@dimh\pst@dimg
\@outputpageORIG}
\makeatother
\begin{document}
1111
\clearpage
2222
\clearpage
3333
\clearpage
4444
\clearpage
5555
\clearpage
6666
\end{document}
***
 >> Come posso far si' che la numerazione inizi da una pagina differente
 >> dalla prima? (in particolare a me servirebbe dalla terza)
 >
 >
 >
 > \setcounter{page}{1} all'inizio della terza pagina (LaTeX manual,
 > pag. 98)
 >
Quando vedrai l'esempio capirai che quello che intendo e' non mostrare 
la numerazione (cioe' la striscia gialla e il pallino rosso) sulle prime 
due pagine.
Grazie, ciao.
Giacomo.

due pagine.
Per questo si usa di solito \thispagestyle{empty}, o le suddivisioni in
parti.
Certo, aver modificato la routine di output non aiuta ad ottenere risultati
standard.
Ciao.

 Ciao.
Ciao,
	Giacomo.

restare negli standard.
Il problema è il \fancyput: il numero di pagina si elimina con il suddetto
\thispagestyle{empty}, ma resta il bordino giallo con il pallino; i quali
teoricamente si potrebbero eliminare con \thisfancyput(0cm,0cm){}, ma poi
così (e non sono in grado di capire perché) saltano i conteggi per il
piazzamento del pallino.
Non so come, e se, se ne possa venir fuori.
Ciao.

Giovanni Zezza wrote:
 > Non so come, e se, se ne possa venir fuori.
Ne sono gia' venuto fuori e funziona, ma rimane sempre il problema etico 
di non so quali standard:
***
\makeatletter
     \newcount\TotalPages
     \TotalPages=\z@
     % To know the number of pages (we write it in the .aux file)
     \def\NumberLastPage{9999} % Initialization
     \AtEndDocument{
     \immediate\write\@auxout{
       \string\gdef\string\NumberLastPage{\the\TotalPages}}}
     \fancyput(17.5cm,2.5cm){
         \ifnum \thepage>0 
\psframe[linestyle=none,fillstyle=solid,fillcolor=yellow](-1,-\paperheight)
             \rput(-0.5,-\pst@dimh){
           \pscirclebox[fillstyle=solid,fillcolor=black]{
         \textcolor{white}{\textbf{\thepage}}}}
          \fi
     }
     \let\@outputpageORIG\@outputpage
     \def\@outputpage{
     \global\advance\TotalPages\@ne     %TotalPages = TotalPages+1
     \pst@cnth = \NumberLastPage
     \advance \pst@cnth \@ne                 %cnth = cnth+1
     \pst@dimh=\paperheight                    %dimh = altezza foglio
     \divide \pst@dimh \pst@cnth         %dimh = altezza pagina/numero
     \pst@dimg=\pst@dimh                            %dimg = dimh
     %\divide \pst@dimg \tw@                    %dimg = dimg/2
     \pst@cntg=\thepage                            %cntg=thepage 
(variabile in disegno)
     \advance \pst@cntg \m@ne                %cntg = cntg-1 (minus @ne)
     \multiply \pst@dimh \pst@cntg        %dimh = dimh*cntg
     \advance \pst@dimh \pst@dimg        %dimh = dimg
     \@outputpageORIG}
     %%%%%%%%%%  </NUMERAZIONE PAGINE>
***
poi setto
     \setcounter{page}{-1}
all'inizio del documento in modo tale che quando raggiunge la terza 
pagina (cioe' la prima che voglio numerare) abbia valore 1 e verifichi 
la condizione di ifnum che stampa la numerazione.
 > Ciao.
Ciao,
     Giacomo.