我在用硕士博士论文用于撰写我的论文。其默认设置为:
- 在偶数页上:外页眉有页码,内页眉有章节号
- 在奇数页上:外页眉有页码,内页眉有节码
我的大学要求是:
- 在偶数页上:外页眉应包含章节编号,内页眉应包含论文标题
- 在奇数页上:外页眉应包含大学名称,内页眉应包含章节编号
我成功地将大学名称放在了页面标题上。但是,我无法做出所需的布局。我对 的 277-295 行做了一些工作MastersDoctoralThesis.cls
。我注释了一些原始代码。
\RequirePackage[markcase=used]{scrlayer-scrpage}
\providepairofpagestyles{thesisSimple}{%
\clearpairofpagestyles%
% \automark[chapter]{chapter}
% \ihead{\headmark}% Inner header
% \ohead[\pagemark]{\pagemark}% Outer header
\automark[chapter]{chapter}
\ohead{Jiangsu University Master's Degree Thesis}
\ihead{\headmark}% Inner header
}
\ifoot{}% Inner footer
\ofoot{}% Outer footer
\pagestyle{thesisSimple}
%\pagestyle{scrheadings}
\providepairofpagestyles[thesisSimple]{thesis}{%
\automark*[section]{}
\ofoot[\pagemark]{\pagemark}
}
笔记: 不知何故fancyhdr
不受(第 302 行)支持MastersDoctoralThesis.cls
。也许我们需要调整scrlayer-scrpage。
答案1
不建议编辑类文件。更改文档前言中的设置:
\pagestyle{thesis}% defined by the class using package scrlayer-scrpage
\clearpairofpagestyles
\lehead{\ttitle}
\rehead{\rightmark}
\lohead{\leftmark}
\rohead{\univname}
\ofoot*{\pagemark}% or should there be no page number at all?
例子:
\documentclass[english,headsepline]{MastersDoctoralThesis}[2017/08/27]% v1.6 LaTeXTemplates.com
\usepackage{fontspec}
\usepackage{blindtext}% only for dummy text
\pagestyle{thesis}% defined by the class using package scrlayer-scrpage
\clearpairofpagestyles
\lehead{\ttitle}
\rehead{\rightmark}
\lohead{\leftmark}
\rohead{\univname}
\ofoot*{\pagemark}% or should there be no page number at all?
\thesistitle{Thesis Title}
\university{\href{http://www.university.com}{University Name}}
\begin{document}
\frontmatter
\pagestyle{plain}
\tableofcontents
\mainmatter
\pagestyle{thesis}
\Blinddocument\Blinddocument
\Blinddocument\Blinddocument
\appendix
\Blinddocument\Blinddocument
\end{document}
更新
如果内页眉中只应有“章节<章节号>”和“节<节号>”,则可以在选择页面样式之前在序言中添加以下代码thesis
:
\providecaptionname{english}{\Sectionname}{Section}
\makeatletter
\AddToLayerPageStyleOptions{thesis}{onselect={%
\renewcommand*{\chaptermark}[1]{\markboth{\chaptermarkformat}{}}%
\renewcommand*{\sectionmark}[1]{\markright{\sectionmarkformat}}%
\renewcommand*\chaptermarkformat{\@chapapp~\thechapter}%
\renewcommand*\sectionmarkformat{\Sectionname~\thesection}%
}}
\makeatother
例子:
\documentclass[english,headsepline]{MastersDoctoralThesis}[2017/08/27]% v1.6 LaTeXTemplates.com
\usepackage{fontspec}
\usepackage{blindtext}% only for dummy text
\providecaptionname{english}{\Sectionname}{Section}
\makeatletter
\AddToLayerPageStyleOptions{thesis}{onselect={%
\renewcommand*{\chaptermark}[1]{\markboth{\chaptermarkformat}{}}%
\renewcommand*{\sectionmark}[1]{\markright{\sectionmarkformat}}%
\renewcommand*\chaptermarkformat{\@chapapp~\thechapter}%
\renewcommand*\sectionmarkformat{\Sectionname~\thesection}%
}}
\makeatother
\pagestyle{thesis}
\clearpairofpagestyles
\lehead{\ttitle}
\rehead{\rightmark}
\lohead{\leftmark}
\rohead{\univname}
\ofoot*{\pagemark}
\thesistitle{Thesis Title}
\university{\href{http://www.university.com}{University Name}}
\begin{document}
\frontmatter
\pagestyle{plain}
\tableofcontents
\mainmatter
\pagestyle{thesis}
\Blinddocument\Blinddocument
\Blinddocument\Blinddocument
\appendix
\Blinddocument\Blinddocument
\end{document}
答案2
以下是如何创建页面样式 (myheadings) 的示例。我使用了 scrbook 而不是您的论文,但它应该仍然有效。
我添加了单词章节和部分和\arabic{section}
代替\thesection
。应该注意的是\chaptermark
被 调用\chapter
并传递章节标题,而\sectionmark
被 调用\section
并传递节标题(我忽略了)。这样,如果一页中有多个节,则使用第一节而不是最后一节。
\documentclass{scrbook}
\makeatletter
\def\ps@myheadings{% create myheadings pagestyle
\def\@oddfoot{\hfil\thepage\hfil}%
\def\@evenfoot{\hfil\thepage\hfil}%
\def\@evenhead{\slshape\rightmark\hfil\@title}%
\def\@oddhead{\slshape Universe City University\hfil\leftmark}%
\let\@mkboth\@gobbletwo% disable
\renewcommand*{\chaptermark}[1]{\markboth{\@chapapp\ \thechapter. \ }{}}%
\renewcommand*{\sectionmark}[1]{\markright{Section \arabic{section}. \ }}% no \sectionname defined
}
\makeatother
\pagestyle{myheadings}
\renewcommand*{\chapterpagestyle}{myheadings}
\title{My Thesis}
\author{Me}
\usepackage{lipsum}% not part of solution
\begin{document}
\frontmatter
\maketitle
\mainmatter
\chapter{First}
\section{Test}
\lipsum[1-12]
\end{document}