논문 머리말의 페이지 번호를 조정하는 데 어려움을 겪고 있습니다. 주어진 논문 템플릿을 다운로드했습니다.여기, 새로 정의된 클래스의 기초로 book 클래스를 사용합니다 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페이지로 나열되어 있습니다.
나는 두 가지를 원합니다:
- 제목 페이지에서 로마 숫자 번호 매기기를 시작하고 싶습니다(즉, PDF의 첫 번째 페이지는 i 페이지여야 합니다).
- 감사 인사 섹션까지 머리말 번호 매기기가 표시되는 것을 원하지 않습니다.
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
중요하다는 것을 알 수 있습니다. 위의 코드를 컴파일하면
여기에서 두 가지를 볼 수 있습니다. 페이지 번호 매기기가 표시되고(첫 번째 페이지에 \pagestyle{empty}
주석이 달렸기 때문입니다!) 하단의 빨간색 원에서 볼 수 있듯이 로마 숫자를 사용합니다. PDF 뷰어에 따라 PDF 뷰어는 페이지 번호를 완전히 아라비아 숫자로 지정합니다(귀하와 제 경우에는 이런 일이 발생합니다). 즉, 첫 번째 페이지(인쇄물에서 까지 로마 숫자로 번호가 매겨짐 iv
)는 아라비아 숫자로 계산됩니다. 내 코드를 컴파일한 후 마지막 페이지에서 이를 확인할 수 있습니다. 마지막 페이지에는 인쇄된 페이지 번호 20이 표시되지만 뷰어에서는 25페이지로 계산됩니다. 이 동작은 사용된 뷰어에 따라 다릅니다. 내가 기억하는 한 Acrobat에는 예를 들어 로마 숫자와 아라비아 숫자가 표시됩니다.
이제 첫 번째 \pagestyle{empty}
. 이제 fancyhdr
다음 모든 페이지에 머리글과 바닥글을 표시하면 안 된다는 것을 알고 있습니다( uses style \pagestyle{fancy}
과 같은 다른 명령이 이 예제 코드에서 사용한 표준 머리글과 바닥글을 활성화할 때까지).\tableofcontents
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
Limerick이 포함된 페이지를 추가할 수 있습니다(물론 Limerick이 포함된 이전 코드는 삭제하세요!).
\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
그러면 다음과 같은 결과를 얻습니다.
수정하지 않으면 잘못된 페이지 번호가 표시되어 관찰한 문제가 발생합니다.
이 문제가 어디에서 발생하는지(해당 클래스의 코드 어딘가에 묻혀 있는지) 조사하지는 않았지만 표준 클래스를 사용하는 것이 좋습니다. 또 어떤 오류가 나타날지 누가 알겠어요...