Vea el MWE a continuación. ¿Cómo puedo evitar que la numeración de páginas en el frontmatter se reinicie \titlepage
? Me gustaría que el prefacio tuviera la página número V.
\documentclass{book}
\usepackage{lipsum}
\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\hypersetup{pageanchor=false}
\usepackage{bookmark}
\title{Lipsum}
\author{lpdbw}
\begin{document}
\frontmatter
\pagenumbering{Roman}
\lipsum
\begin{titlepage}
\maketitle
\end{titlepage}
\chapter*{Preface}
\lipsum
\mainmatter
\chapter{Introduction}
\lipsum
\end{document}
PD: Pregunta editada y reformulada.
Respuesta1
No book.cls
puede evitar a nivel de usuario que la numeración de páginas se reinicie en titlepage
: \setcounter{page}{1}
está cableada. Por lo tanto, tendría que redefinir titlepage
o restablecer el contador de páginas \begin{titlepage}
manualmente.
En el scrbook de la clase KOMA, el contador de páginas no se restablece titlepage
sino mediante \maketitle
y \maketitle
tiene un argumento opcional para anular el contador de páginas. Entonces puedes hacer algo como esto:
\documentclass{scrbook}
\usepackage{lipsum}
\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\title{Lipsum Here page: \thepage}
\author{lpdbw}
\begin{document}
\frontmatter
\pagenumbering{Roman}
abc
\begin{titlepage}
\maketitle[\value{page}]
\end{titlepage}
\mainmatter
\chapter{Introduction}
\lipsum
\end{document}
Respuesta2
Una posible solución: eliminar las líneas con \setcounter{page}
en la definición de la página de título.
\documentclass{book}
\usepackage{lipsum}
\usepackage{hyperref}
\usepackage{bookmark}
\makeatletter
\if@compatibility
\renewenvironment{titlepage}
{%
\cleardoublepage
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
%\setcounter{page}\z@
}%
{\if@restonecol\twocolumn \else \newpage \fi
}
\else
\renewenvironment{titlepage}
{%
\cleardoublepage
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
%\setcounter{page}\@ne
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
% \setcounter{page}\@ne
\fi
}
\fi
\makeatother
\title{Lipsum}
\author{lpdbw}
\begin{document}
\frontmatter
\pagenumbering{Roman}
\lipsum
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\end{titlepage}
\chapter*{Preface}
\mainmatter
\chapter{Introduction}
\lipsum
\end{document}
Alternativamente, uno puede hacerlo sin titlepage
:
\documentclass[notitlepage]{book}
\usepackage{lipsum}
\usepackage{emptypage}
\usepackage{hyperref}
\usepackage{bookmark}
\title{Lipsum}
\author{lpdbw}
\begin{document}
\frontmatter
\pagenumbering{Roman}
\lipsum
\cleardoublepage
\maketitle
\thispagestyle{empty}
\cleardoublepage
\chapter*{Preface}
\mainmatter
\chapter{Introduction}
\lipsum
\end{document}
Respuesta3
El titlepage
entorno reinicia el contador de páginas en 1
. Por lo tanto, tiene dos páginas con el número de página I
, la primera página y la primera página de título.
\pagenumbering{Alph}
funcionaría, pero la página anterior aún no está terminada y por lo tanto también estaría A
. Esto se soluciona iniciando una nueva página explícitamente:
\clearpage
\pagenumbering{Alph}
También funciona el método con anclajes de página deshabilitados, los anclajes de página se pueden deshabilitar solo para algunas páginas, por ejemplo:
\hypersetup{pageanchor=false}
\frontmatter
....
\begin{titlepage}...\end{titlepage}
\hypersetup{pageanchor=true}
Respuesta4
Otra opción, sin redefinir titlepage
(basado en los comentarios):
Configure el contador de páginas manualmente. Almacenamos el contador de páginas en otro contador, por lo que funciona dinámicamente y no necesitamos codificar el número de página.
\newcounter{titlepagenumber}
\setcounter{titlepagenumber}{\value{page}}
\begin{titlepage}
\setcounter{page}{\thetitlepagenumber}
% Test if it works:
\thepage
\end{titlepage}