更改书籍类的默认标题

更改书籍类的默认标题

我正在写一篇论文,我的大学要求14pt fontsize正文使用 1.5 倍行距。他们要求章节标题和单词第 N 章将在全部大写,但运行标题应该在标题格式。这是我需要的图片:

在此处输入图片描述

到目前为止,我已经能够完成以下任务:

在此处输入图片描述

现在我需要将运行标题放在标题格式如第一张图片所示。以下是我编写的代码,用于将章节标题居中并更改书籍类的默认运行标题。但我无法获得第一张图片中的运行标题。

\documentclass[a4paper,oneside,14pt]{extbook}
\usepackage{newtxtext}
\usepackage{setspace}
\usepackage[top=25mm,bottom=25mm,right=25mm,left=30mm]{geometry}
\usepackage{lipsum}
\renewcommand{\chaptername}{CHAPTER}
\renewcommand{\contentsname}{TABLE OF CONTENTS}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\addtolength{\headheight}{0pt}
\lhead{\itshape  \chaptername ~\thechapter}
\rhead{\itshape  \leftmark}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}} % remove "Chapter N." prefix
\cfoot{\thepage}

%% Center Chapter Headings in both front and main matter.
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering\normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
         \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
     \huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    \huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother


\begin{document}
\begin{titlepage}
\centering
Some Info here.
\end{titlepage}
\frontmatter
\chapter{DEDICATION}
\chapter{ACKNOWLEDGMENTS}
\chapter{ABSTRACT}
\tableofcontents
\chapter{LIST OF ABBREVIATIONS}
\chapter{LIST OF FIGURES}
\chapter{LIST OF TABLES}

\mainmatter
\onehalfspacing
\chapter{INTRODUCTION}
\section{First Section}
\lipsum[2-16]

\chapter{RECOMMENDATIONS AND FUTURE WORK}

\singlespacing
\begin{thebibliography}{100}
\end{thebibliography}
\end{document} 

我很感激你的建议。

答案1

textcase是你的朋友。出于多种原因,我不会在标题本身中硬编码大写字母。主要原因是,将它们大写使得标题中不可能没有大写字母 - 这正是你试图实现的。不幸的是,你不能使用,titlsec因为你需要在章节标题的重新定义中使用大写字母(当你没有在标题本身中硬编码大写字母时!)。代码如下:

\documentclass[a4paper,oneside,14pt]{extbook}
\usepackage{newtxtext}
\usepackage{setspace}
\usepackage[top=25mm,bottom=25mm,right=25mm,left=30mm]{geometry}
%\usepackage{titlesec}
%  \titleformat{\chapter}[display]{\centering\normalfont\huge\bfseries}
%    {\MakeUppercase{\chaptertitlename}\ \thechapter}{20pt}{\huge}
\usepackage{fancyhdr}
  \pagestyle{fancy}
  \fancyhf{}
%  \addtolength{\headheight}{0pt}% obsolete
  \lhead{\itshape  \chaptername~\thechapter}
  \rhead{\itshape  \nouppercase{\leftmark}} %\nouppercase !
  \renewcommand{\chaptermark}[1]{\markboth{#1}{}}
  \cfoot{\thepage}

\usepackage{textcase}

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering\normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
         \huge\bfseries \MakeTextUppercase{\@chapapp}\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
     \huge \bfseries \MakeTextUppercase{#1}\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \centering
    \normalfont
    \interlinepenalty\@M
    \huge \bfseries  \MakeTextUppercase{#1}\par\nobreak
    \vskip 40\p@
  }}
\makeatother

%\renewcommand{\chaptername}{CHAPTER}
%\renewcommand{\contentsname}{TABLE OF CONTENTS}

\usepackage{lipsum}

\begin{document}
\frontmatter

\chapter{Dedication}

\tableofcontents

\chapter{List of Abbreviations}

\mainmatter
  \onehalfspacing
\chapter{Introduction}
\section{First Section}
\lipsum[2-16]

%\singlespacing
%\begin{thebibliography}{100}
%\end{thebibliography}
\end{document}

请注意,我将该titlesec尝试作为未注释的代码行包含在内。

在此处输入图片描述

相关内容