タイトルページによってページ番号が再開されるのを回避するにはどうすればよいでしょうか?

タイトルページによってページ番号が再開されるのを回避するにはどうすればよいでしょうか?

下記の MWE を参照してください。前書きのページ番号が で再開されるのを回避するにはどうすればよいでしょうか\titlepage。序文にページ番号 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}

追記: 質問を編集し、書き直しました。

答え1

:でbook.clsページ番号が再開されることをユーザー レベルで回避することはできません。これは固定です。そのため、後でページ カウンターを手動で再定義またはリセットする必要があります。titlepage\setcounter{page}{1}titlepage\begin{titlepage}

KOMA クラス scrbook では、ページ カウンターは ではtitlepageなく によってリセットされ\maketitle\maketitleページ カウンターをオーバーライドするオプションの引数があります。したがって、次のようにすることができます。

\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}

答え2

\setcounter{page}考えられる解決策の 1 つは、タイトル ページ定義内の行を削除することです。

\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}

あるいは、以下なしで実行することもできます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}

答え3

環境titlepageはページ カウンターを で再開します。したがって、ページ番号 のページが 2 つ(最初のページと最初のタイトル ページ)1あります。I

\pagenumbering{Alph}は動作しますが、前のページはまだ終了していないため、前のページも になりますA。これは、新しいページを明示的に開始することで修正されます。

\clearpage
\pagenumbering{Alph}

ページ アンカーを無効にする方法も機能します。ページ アンカーは一部のページに対してのみ無効にできます。例:

\hypersetup{pageanchor=false}
\frontmatter
 ....
\begin{titlepage}...\end{titlepage}
\hypersetup{pageanchor=true}

答え4

再定義しない別のオプションtitlepage(コメントに基づく):

ページ カウンターを手動で設定します。ページ カウンターは別のカウンターに保存されるため、動的に動作し、ページ番号をハードコードする必要はありません。

\newcounter{titlepagenumber}
\setcounter{titlepagenumber}{\value{page}}
\begin{titlepage}
    \setcounter{page}{\thetitlepagenumber}
    
    % Test if it works:
    \thepage
\end{titlepage}

関連情報