页眉中的章节名称

页眉中的章节名称

我想在文档的标题中获取章节名称。我正在使用类article,下面的代码是每个章节/部分如何开始的示例。

\noindent {\huge \textbf {Chapter 1}}
\section{Introduction}

我想要实现的是在右侧包含以下内容的标题:

CHAPTER 1: INTRODUCTION

第二章的页眉应为:

CHAPTER 2: THEORY

等等。

有人能帮我吗?我对这个包了解一点fancyhdr,但据我了解,它在类中使用章节名称book,而我希望插入文本,并在article类中使用节名称。

答案1

在以下最小示例中,我将其重新格式化\section为类似于,\chapter方法是将其设为 adisplayChapter~在编号前插入(全部由titlesec

在此处输入图片描述

\documentclass[twoside]{article}
\usepackage[a5paper]{geometry}% Just for this example
\usepackage{fancyhdr,titlesec,lipsum}
\pagestyle{fancy}
\fancyhead[L]{}% No header on Left pages

\titleformat{\section}[display]
  {\normalfont\Large\bfseries}{Chapter~\thesection}{1em}{}
\titlespacing*{\section}
  {0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{Chapter~\thesection: #1}}{}}

\begin{document}
\section{Introduction}
\lipsum[1-10]
\section{A new section}
\lipsum[1-10]
\end{document}

\section现在看起来效果很好\chapter(没有采取任何措施来影响\section*处理方式)。

答案2

titlesec包允许创建新的节级别。因此,我在和chapter之间创建了一个级别,由于它位于文章中,因此不会开始新页面。当然,我必须定义它的格式以及它在和中的显示方式。所有这些都是titleps titletoc`。因此,这是一个尝试:partsectionheaders/footerstable of contentscan be done by titlesec and its companion packagesand

\documentclass[english, twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage{microtype}
\usepackage{babel}
\usepackage{lipsum}
\usepackage{chngcntr}

\usepackage[pagestyles, newparttoc, explicit,outermarks]{titlesec}%
\titleformat{\section}[hang]{\large\bfseries\boldmath}{§~\thesection}{0.6em}{\itshape#1}%

\titleclass{\chapter}{straight}[\part]
\newcounter{chapter}
\counterwithin*{section}{chapter}
\renewcommand{\chaptertitlename}{\chaptername}
 \titleformat{\chapter}[block]{\Large\bfseries\boldmath\filleft\lsstyle}{\MakeUppercase{\chaptertitlename}\enspace\thechapter: } {1em} {\MakeUppercase{#1}}%
 \titlespacing{\chapter}{0pt}{2.5\baselineskip}{2\baselineskip}

\makeatletter
 \renewcommand\tableofcontents{%
\chapter*{\contentsname}%
\@starttoc{toc}%
}
\makeatother

\usepackage{titletoc}
\titlecontents{chapter}[1.5em]{\medskip\bfseries}%{1.5em}
{\contentslabel[\MakeUppercase{\romannumeral\thecontentslabel}.]{1.5em}}{}{\hfill\contentspage}[\smallskip]
\titlecontents{section}[2.5em]{}%{1.5em}
{\contentslabel[\thecontentslabel.]{1.2em}}{}{\titlerule*[1pc]{.} \contentspage}

 \newpagestyle{mine}{%
\settitlemarks{chapter, section}%\ifthesection{}
\sethead[][{§\,\thesection.\enspace\itshape\sectiontitle}][]{}{\MakeUppercase{\chaptertitlename~\thechapter.\enspace\chaptertitle}}{}
\setfoot{}{\thepage}{}}%

\pagestyle{mine}

\begin{document}

\tableofcontents
%
\chapter{Introduction}

\lipsum[1-2]
\section{A First Section. }
\lipsum[1-2]%
\section{A Second Section}
\lipsum[1-2]

\chapter{Theory}

\lipsum[1]
\section{Section A}
\lipsum[1]
\section{Section B}
\lipsum[1-8]

\end{document} 

在此处输入图片描述

答案3

如果你只是在每章开头用一行重新定义标题,那么你应该能够使用 fancyhdr 实现这一点。你可以阅读有关使用 fancyhdr 包的更多信息这里

以下代码应该能给你你想要的东西。

\documentclass{article}

\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhead[LE,LO]{}

\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{#1}}{}}

\begin{document}
\noindent {\huge \textbf {Chapter 1}}
\fancyhead[RE,RO]{CHAPTER 1: \rightmark}
\section{Introduction}
\newpage
\noindent {\huge \textbf {Chapter 2}}
\fancyhead[RE,RO]{CHAPTER 2: \rightmark}
\section{A new section}
\end{document}

相关内容