Pourquoi un numéro de page courante peut être faux en haut de page ?#

Voici un exemple de ce qui semble être une anomalie : la phrase en gras en fin de texte fait apparaître un numéro de page courante incorrect (en utilisant la commande \thepage{} qui restitue normalement bien le numéro de page).

\documentclass[french]{book}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \usepackage{lipsum}         % Du faux texte

\begin{document}
\chapter{Un classique incontournable}
\lipsum[1-4]
\textbf{Dès lors, serions-nous arrivés en page \thepage{} ?}
\end{document}

Cette anomalie tient à des éléments profondément ancrés dans le fonctionnement de lui-même : tout découle de l’effort de pour générer le meilleur résultat possible.

Le numéro de page est stocké dans \count0. Les utilisateurs de voient cela comme le compteur page et peuvent composer sa valeur en utilisant \thepage.

La valeur de \count0 n’est mise à jour que lorsque produit réellement une page. n’essaye même de faire cela que lorsqu’il détecte un indice que ce pourrait être une bonne chose à faire. Du point de vue de la fin d’un paragraphe constitue un bon moment pour envisager de produire une page. Il créera une page s’il dispose de plus de matière qu’il n’en faut pour en faire une, ceci pour s’assurer qu’il pourra toujours tester certaines optimisations. En conséquence, la valeur de \count0 est presque toujours fausse dans le premier paragraphe d’une page (l’exception étant le cas où le numéro de page a été « forcé », soit en changeant sa valeur directement, soit en plaçant un saut de page là où ne l’aurait pas nécessairement placé).

fournit un moyen sûr de se référer au numéro de page, en utilisant les mécaniques de références.

Il faut donc éviter d’écrire :

Nous sommes sur la page \thepage{}.

et écrire plutôt  :

Nous sommes sur la page \pageref{ici}\label{ici}.

Voici ce que cela donne pour notre exemple :

\documentclass[french]{book}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \usepackage{lipsum}         % Du faux texte

\begin{document}
\chapter{Un classique incontournable}
\lipsum[1-4]
\textbf{Dès lors, serions-nous arrivés en page 
\pageref{ici}\label{ici} ? Oui !}
\end{document}

Il ne faut pas ici d’espace entre les commandes \pageref et \label : cet espace pourrait sinon potentiellement finir comme un espace de saut de page… ce qui va plutôt à l’encontre de l’objectif recherché.