ОБНОВЛЯТЬ:

ОБНОВЛЯТЬ:

Мне сложно настроить нумерацию страниц в титульном листе моей диссертации. Я скачал шаблон диссертации, данныйздесь, который использует класс книги в качестве основы для нового определенного класса Thesis.cls. Для того, чтобы скомпилировать MWE ниже, вам также понадобятся vector.styи lstpatch.styфайлы из предоставленной мной ссылки (если только мне не нужно будет скопировать и вставить их в основной текст моего вопроса). Если вдаваться в подробности, мой документ класса выглядит примерно так:

\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesClass{Thesis}
              [2007/22/02 v1.0
   LaTeX document class]
\def\baseclass{book}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\baseclass}}
\def\@checkoptions#1#2{
  \edef\@curroptions{\@ptionlist{\@currname.\@currext}}
  \@tempswafalse
  \@tfor\@this:=#2\do{
    \@expandtwoargs\in@{,\@this,}{,\@curroptions,}
    \ifin@ \@tempswatrue \@break@tfor \fi}
  \let\@this\@empty
  \if@tempswa \else \PassOptionsToClass{#1}{\baseclass}\fi
}
\@checkoptions{11pt}{{10pt}{11pt}{12pt}}
\PassOptionsToClass{a4paper}{\baseclass}
\ProcessOptions\relax
\LoadClass{\baseclass}
\newcommand\bhrule{\typeout{------------------------------------------------------------------------------}}

\newcommand\Declaration[1]{
\btypeout{Approval of the Dissertation Committee}
\addtotoc{Approval of the Dissertation Committee}
\thispagestyle{plain}
\null\vfil
%\vskip 60\p@
\begin{center}{\huge\bf Approval of the Dissertation Committee\par}\end{center}
%\vskip 60\p@
{\normalsize #1}
\vfil\vfil\null
%\cleardoublepage
}

\newcommand\btypeout[1]{\bhrule\typeout{\space #1}\bhrule}
\def\today{\ifcase\month\or
  January\or February\or March\or April\or May\or June\or
  July\or August\or September\or October\or November\or December\fi
  \space \number\year}
\usepackage{setspace}
\onehalfspacing
\setlength{\parindent}{0pt}
\setlength{\parskip}{2.0ex plus0.5ex minus0.2ex}
\usepackage{vmargin}
\setmarginsrb           { 1.5in}  % left margin
                        { 0.6in}  % top margin
                        { 1.0in}  % right margin
                        { 0.8in}  % bottom margin
                        {  20pt}  % head height
                        {0.25in}  % head sep
                        {   9pt}  % foot height
                        { 0.3in}  % foot sep
\raggedbottom
\setlength{\topskip}{1\topskip \@plus 5\p@}
\doublehyphendemerits=10000       % No consecutive line hyphens.
\brokenpenalty=10000              % No broken words across columns/pages.
\widowpenalty=9999                % Almost no widows at bottom of page.
\clubpenalty=9999                 % Almost no orphans at top of page.
\interfootnotelinepenalty=9999    % Almost never break footnotes.
\usepackage{fancyhdr}
\lhead[\rm\thepage]{\fancyplain{}{\sl{\rightmark}}}
\rhead[\fancyplain{}{\sl{\leftmark}}]{\rm\thepage}
\chead{}\lfoot{}\rfoot{}\cfoot{}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\btypeout{\thechapter\space #1}\markboth{\@chapapp\ \thechapter\ #1}{\@chapapp\ \thechapter\ #1}}
\renewcommand{\sectionmark}[1]{}
\renewcommand{\subsectionmark}[1]{}
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}
\thispagestyle{empty}
\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\usepackage{amsmath,amsfonts,amssymb,amscd,amsthm,xspace}
\theoremstyle{plain}
\newtheorem{example}{Example}[chapter]
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{axiom}[theorem]{Axiom}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
\usepackage[centerlast,small,sc]{caption}
\setlength{\captionmargin}{20pt}
\newcommand{\fref}[1]{Figure~\ref{#1}}
\newcommand{\tref}[1]{Table~\ref{#1}}
\newcommand{\eref}[1]{Equation~\ref{#1}}
\newcommand{\cref}[1]{Chapter~\ref{#1}}
\newcommand{\sref}[1]{Section~\ref{#1}}
\newcommand{\aref}[1]{Appendix~\ref{#1}}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{.85}
\renewcommand{\textfraction}{0.1}
\renewcommand{\dbltopfraction}{.85}
\renewcommand{\floatpagefraction}{0.75}
\renewcommand{\dblfloatpagefraction}{.75}
\setcounter{topnumber}{9}
\setcounter{bottomnumber}{9}
\setcounter{totalnumber}{20}
\setcounter{dbltopnumber}{9}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[scriptsize]{subfigure}
\usepackage{booktabs}
\usepackage{rotating}
\usepackage{listings}
\usepackage{lstpatch}
\lstset{captionpos=b,
        frame=tb,
        basicstyle=\scriptsize\ttfamily,
        showstringspaces=false,
        keepspaces=true}
\lstdefinestyle{matlab} {
        language=Matlab,
        keywordstyle=\color{blue},
        commentstyle=\color[rgb]{0.13,0.55,0.13}\em,
        stringstyle=\color[rgb]{0.7,0,0} }
\usepackage[pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true,
   bookmarksopenlevel=0,bookmarksnumbered=true,hypertexnames=false,
   colorlinks,linkcolor={blue},citecolor={blue},urlcolor={red},
   pdfstartview={FitV},unicode,breaklinks=true]{hyperref}
\pdfstringdefDisableCommands{
   \let\\\space
}
\newcommand*{\supervisor}[1]{\def\supname{#1}}
\newcommand*{\examiner}[1]{\def\examname{#1}}
\newcommand*{\degree}[1]{\def\degreename{#1}}
\newcommand*{\authors}[1]{\def\authornames{#1}}
\newcommand*{\addresses}[1]{\def\addressnames{#1}}
\newcommand*{\university}[1]{\def\univname{#1}}
\newcommand*{\UNIVERSITY}[1]{\def\UNIVNAME{#1}}
\newcommand*{\department}[1]{\def\deptname{#1}}
\newcommand*{\DEPARTMENT}[1]{\def\DEPTNAME{#1}}
\newcommand*{\group}[1]{\def\groupname{#1}}
\newcommand*{\GROUP}[1]{\def\GROUPNAME{#1}}
\newcommand*{\faculty}[1]{\def\facname{#1}}
\newcommand*{\FACULTY}[1]{\def\FACNAME{#1}}
\newcommand*{\subject}[1]{\def\subjectname{#1}}
\newcommand*{\keywords}[1]{\def\keywordnames{#1}}
\supervisor  {Dr. Such and Such}
\examiner    {}
\degree      {}
\authors     {MEEE!!}
\university  {\texorpdfstring{\href{}
                {Real Good University}}
                {Real Good University}}
\UNIVERSITY  {\texorpdfstring{\href{}
                {REAL GOOD UNIVERSITY}}
                {REAL GOOD UNIVERSITY}}
\department  {\texorpdfstring{\href{}
                {Department of Fizzx}}
                {Department of Fizzx}}
\DEPARTMENT  {\texorpdfstring{\href{}
                {DEPARTMENT OF FIZZX}}
                {DEPARTMENT OF FIZZX}}
\group       {\texorpdfstring{\href{Research Group Web Site URL Here (include http://)}
                {Research Group Name}}
                {Research Group Name}}
\GROUP       {\texorpdfstring{\href{Research Group Web Site URL Here (include http://)}
                {RESEARCH GROUP NAME (IN BLOCK CAPITALS)}}
                {RESEARCH GROUP NAME (IN BLOCK CAPITALS)}}
\faculty     {\texorpdfstring{\href{Faculty Web Site URL Here (include http://)}
                {Faculty Name}}
                {Faculty Name}}
\FACULTY     {\texorpdfstring{\href{Faculty Web Site URL Here (include http://)}
                {FACULTY NAME (IN BLOCK CAPITALS)}}
                {FACULTY NAME (IN BLOCK CAPITALS)}}
\addresses   {}
\subject     {}
\keywords    {}
\renewcommand\maketitle{
  \btypeout{Title Page}
  \hypersetup{pdftitle={\@title}}
  \hypersetup{pdfsubject=\subjectname}
  \hypersetup{pdfauthor=\authornames}
  \hypersetup{pdfkeywords=\keywordnames}
  \thispagestyle{empty}
  \begin{titlepage}
    \let\footnotesize\small
    \let\footnoterule\relax
    \let \footnote \thanks
    \setcounter{footnote}{1}
    \null\vfil
    \vskip 60\p@
    \begin{center}
      \setlength{\parskip}{0pt}
      %{\large\textbf{Claremont Graduate University}\par}
      \vfill
      {\huge \bf \@title \par}
      \vfill
      {\LARGE by \par}
      \smallskip
      {\LARGE \authornames \par}
      \vfill
      {\large A thesis submitted in partial fulfillment for the \par}
      {\large degree of Doctor of Philosophy in Mathematics \par}
      \bigskip
      \bigskip
      {\large in the \par}
      %{\large \facname \par}
      {\large \deptname \par}
      {\large \univname \par}
      \bigskip
      \bigskip
      \bigskip
      {\Large \@date \par}
      \bigskip
    \end{center}
    \par
    \@thanks
    \vfil\null
  \end{titlepage}
  \setcounter{footnote}{0}%
  \global\let\thanks\relax
  \global\let\maketitle\relax
  \global\let\@thanks\@empty
  \global\let\@author\@empty
  \global\let\@date\@empty
  \global\let\@title\@empty
  \global\let\title\relax
  \global\let\author\relax
  \global\let\date\relax
  \global\let\and\relax
  \cleardoublepage
}
\newenvironment{abstract}
{
  \btypeout{Abstract Page}
  \thispagestyle{empty}
  \null\vfil
  \begin{center}
    \setlength{\parskip}{0pt}
{\huge{\textit{Abstract}} \par}
    \bigskip
    {\normalsize\bf A Pretty Decent(?) Thesis \par}
    \medskip
{\normalsize by \par}
    {\normalsize \authornames \par}
\bigskip
    {\normalsize \UNIVNAME : 2019 \par}
    \bigskip
   % {\normalsize \facname \par}
   % {\normalsize \deptname \par}
  %  \bigskip
 %   {\normalsize Doctor of Philosophy\par}
    %\bigskip
  \end{center}
}
{
  \vfil\vfil\vfil\null
  \cleardoublepage
}
\addtocounter{secnumdepth}{1}
\setcounter{tocdepth}{6}
\newcounter{dummy}
\newcommand\addtotoc[1]{
\refstepcounter{dummy}
\addcontentsline{toc}{chapter}{#1}}
\renewcommand\tableofcontents{
\btypeout{Table of Contents}
\begin{spacing}{1}{
    \setlength{\parskip}{1pt}
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\contentsname
        \@mkboth{
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
    \@starttoc{toc}
    \if@restonecol\twocolumn\fi
   \cleardoublepage
}\end{spacing}
}
\renewcommand\listoffigures{
\btypeout{List of Figures}
\addtotoc{List of Figures}
\begin{spacing}{1}{
    \setlength{\parskip}{1pt}
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename
      \@mkboth{\MakeUppercase\listfigurename}
              {\MakeUppercase\listfigurename}}
    \@starttoc{lof}
    \if@restonecol\twocolumn\fi
    \cleardoublepage
}\end{spacing}
}
\renewcommand\listoftables{
\btypeout{List of Tables}
\addtotoc{List of Tables}
\begin{spacing}{1}{
    \setlength{\parskip}{1pt}
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename
      \@mkboth{
          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}
    \@starttoc{lot}
    \if@restonecol\twocolumn\fi
    \cleardoublepage
}\end{spacing}
}
\newcommand\listsymbolname{Abbreviations}
\usepackage{longtable}
\newcommand\listofsymbols[2]{
\btypeout{\listsymbolname}
\addtotoc{\listsymbolname}
    \chapter*{\listsymbolname
      \@mkboth{
          \MakeUppercase\listsymbolname}{\MakeUppercase\listsymbolname}}
\begin{longtable}[c]{#1}#2\end{longtable}\par
    \cleardoublepage
}
\newcommand\listconstants{Physical Constants}
\usepackage{longtable}
\newcommand\listofconstants[2]{
\btypeout{\listconstants}
\addtotoc{\listconstants}
    \chapter*{\listconstants
      \@mkboth{
          \MakeUppercase\listconstants}{\MakeUppercase\listconstants}}
\begin{longtable}[c]{#1}#2\end{longtable}\par
    \cleardoublepage
}
\newcommand\listnomenclature{Symbols}
\usepackage{longtable}
\newcommand\listofnomenclature[2]{
\btypeout{\listnomenclature}
\addtotoc{\listnomenclature}
    \chapter*{\listnomenclature
      \@mkboth{
          \MakeUppercase\listnomenclature}{\MakeUppercase\listnomenclature}}
\begin{longtable}[c]{#1}#2\end{longtable}\par
    \cleardoublepage
}
\newcommand\acknowledgements[1]{
\btypeout{Acknowledgements}
\addtotoc{Acknowledgements}
\thispagestyle{plain}
\begin{center}{\huge{\textit{Acknowledgements}} \par}\end{center}
{\normalsize #1}
\vfil\vfil\null

}
\newcommand\dedicatory[1]{
\btypeout{Dedicatory}
\thispagestyle{plain}
\null\vfil
\vskip 60\p@
\begin{center}{\Large \sl #1}\end{center}
\vfil\null
\cleardoublepage
}
\renewcommand\backmatter{
  \if@openright
    \cleardoublepage
  \else
    \clearpage
  \fi
  \addtotoc{\bibname}
  \btypeout{\bibname}
  \@mainmatterfalse}
\endinput

Я также включил MWE для компиляции:

\documentclass[a4paper, 11pt, oneside]{Thesis}  
\begin{document}
\setstretch{1.3}  
\fancyhead{}  
\rhead{} %\thepage}  
\lhead{} 
\pagestyle{empty} 

\frontmatter     
\title  {A Pretty Decent(?) Thesis}
\authors  {Me}

\maketitle


%% ----------------------------------------------------------------
% The "Funny Quote Page"
\pagestyle{empty}  % No headers or footers for the following pages

\null\vfill

\begin{flushright}
Ha! A limerick\\
The bane of my existence\\
Thank goodness I'm done
\end{flushright}

\vfill\vfill\vfill\vfill\vfill\vfill\null
\clearpage  % Funny Quote page ended, start a new page

\addtotoc{Abstract}  % Add the "Abstract" page entry to the Contents
\abstract{
\addtocontents{toc}{\vspace{1em}}  
It's a pretty good thesis, I promise.
}
\clearpage

\setstretch{1.3}  

\pagestyle{fancy}
\acknowledgements{
\addtocontents{toc}{\vspace{1em}}

Thank you, I love you, Babye.
} 

\pagestyle{fancy}  
\lhead{\emph{Contents}}  
\tableofcontents  
\lhead{\emph{List of Figures}}  
\listoffigures  

\end{document}

Основная проблема, которую я вижу, может быть проиллюстрирована на 4-й скомпилированной странице (подтверждения), где мы видим, что это 4-я страница в документе, но она указана как страница iii:

Четвертая страница документа обозначена как страница iii.

Я хочу две вещи:

  1. Я хочу, чтобы нумерация римскими цифрами начиналась с титульного листа (т.е. первая страница PDF-файла должна быть страницей i).
  2. Я не хочу, чтобы нумерация вступительной части была видна до раздела с благодарностями.

Мой MWE не идеален, так как первый номер страницы, указанный в MWE, находится на странице благодарностей, тогда как в моей настоящей диссертации номер страницы в аннотации iнапечатан внизу. Я не уверен, как сделать мой MWE более полным, но надеюсь, что смогу решить эти проблемы по одной, если не одновременно.

решение1

Хорошо, давайте начнем с компилируемого кода, чтобы объяснить вашу проблему с fancyhdr.

С помощью следующего кода, имитирующего структуру вашего тезиса

\documentclass[a4paper, 11pt, oneside]{book} 

\usepackage{fancyhdr}
\usepackage{blindtext}

\title{A Pretty Decent Thesis}
\author{username}


\begin{document}

\frontmatter 
%\pagestyle{empty} % <===================================================

\maketitle

\section*{Abstract}
\Blindtext

\tableofcontents

\listoffigures

\pagestyle{fancy} % <===================================================
\mainmatter
\chapter{Introduction}
\Blinddocument
\end{document}

вы можете видеть, что две строки с \pagestyleважны. Если вы скомпилируете код выше, вы получите

полученный pdf

Там вы можете увидеть две вещи: отображается нумерация страниц (потому что первая \pagestyle{empty}прокомментирована!), и она использует римские цифры, как вы можете видеть в красном круге внизу. В зависимости от вашего просмотрщика PDF, просмотрщик PDF нумерует страницы полностью арабскими цифрами (это происходит в вашем и в моем случае). Это означает, что первые страницы (в печати пронумерованные римскими цифрами до iv) подсчитываются арабскими цифрами. Вы можете увидеть это на последней странице после компиляции моего кода. Последняя страница получает напечатанный номер страницы 20, но подсчитывается в просмотрщике как страница 25. Такое поведение зависит от используемого просмотрщика. Насколько я помню, Acrobat показывает римские и арабские цифры, например.

Теперь, пожалуйста, раскомментируйте первый \pagestyle{empty}. Теперь fancyhdrон знает, что не должен показывать верхние и нижние колонтитулы на всех последующих страницах (пока \pagestyle{fancy}другая команда, например \tableofcontentsuses style, plainне активирует стандартные верхние и нижние колонтитулы, которые fancyhdrя использовал в этом примере кода).

После компиляции вы получаете некоторые страницы без нумерации страниц, но оглавление все еще показывает римскую нумерацию страниц. Чтобы избавиться от этого, вам нужно вызвать \thispagestyle{empty}, потому что команда \tableofcontentsсоздана для использования стиля, plainкоторый нам не нужен. То же самое может произойти и с listoffigures!

Итак, следующий код

\documentclass[a4paper, 11pt, oneside]{book} 

\usepackage{fancyhdr}
\usepackage{blindtext}

\title{A Pretty Decent Thesis}
\author{username}

\pagestyle{plain}{%
  \fancyhead{}
  \fancyfoot[c]{}
}


\begin{document}

\frontmatter 
\pagestyle{empty} % <===================================================

\maketitle
\pagestyle{empty}

\section*{Abstract}
\Blindtext

\tableofcontents
\thispagestyle{empty} % <==============================================

\listoffigures
\thispagestyle{empty} % <==============================================

\pagestyle{fancy} % <===================================================
\mainmatter
\chapter{Introduction}
\Blinddocument
\end{document}

не содержит номеров страниц в вводной части, но показывает номера страниц, начиная с главы 1:

введите описание изображения здесь

Теперь вы можете использовать описанные здесь команды и использовать их в своей диссертации, чтобы избавиться от нежелательных номеров страниц.

Если вы загрузите hyperrefсвой кодэто зависит от используемого просмотрщика PDFкак нумеруются показанные страницы. В моем случае -- я использую SumatraPDF -- я получаю следующий экран:

введите описание изображения здесь

Теперь SumatraPDF может показать, что мы находимся на странице iii(или 4 в арабских цифрах). Причина в том, что с hyperrefзакладками активируются несущие эту информацию.

ОБНОВЛЯТЬ:

В используемом вами классе есть несколько ошибок, и одна из них приводит к неправильной нумерации страницы, следующей за титульным листом, на который вы добавили лимерик.

Чтобы избавиться от этой ошибки, добавьте следующий код в преамбулу (перед \begin{document}), чтобы определить новую среду, где я явно установил в качестве обходного пути номер страницы 2 (см. выделенную строку <==========):

\newenvironment{funyquote}
{
  \btypeout{Funyquote Page}
  \thispagestyle{empty}
  \setcounter{page}{2}% <===============================================
  \null\vspace{3cm}
}
{
% \vfill\vfill\vfill\vfill\vfill\vfill\null
  \cleardoublepage
} 

Вы можете добавить \maketitleследующий код, чтобы добавить на свою страницу лимерик (конечно, удалите старый код с лимериком!):

\clearpage
\funyquote{% <==========================================================
\begin{flushright}
Ha! A limerick\\
The bane of my existence\\
Thank goodness I'm done
\end{flushright}
} % <===================================================================
\clearpage  % Funny Quote page ended, start a new page

И тогда вы получите результат:

исправленная страница лимерик

Без этого исправления вы получите неправильный номер страницы, что приведет к проблеме, которую вы наблюдали:

неправильная нумерация страниц

Я не исследовал, откуда эта проблема взялась (где-то зарыта в коде этого класса), но предлагаю использовать стандартный класс. Кто знает, какие еще ошибки возникнут...

Связанный контент