我想在文档的标题中获取章节名称。我正在使用类article
,下面的代码是每个章节/部分如何开始的示例。
\noindent {\huge \textbf {Chapter 1}}
\section{Introduction}
我想要实现的是在右侧包含以下内容的标题:
CHAPTER 1: INTRODUCTION
第二章的页眉应为:
CHAPTER 2: THEORY
等等。
有人能帮我吗?我对这个包了解一点fancyhdr
,但据我了解,它在类中使用章节名称book
,而我希望插入文本,并在article
类中使用节名称。
答案1
在以下最小示例中,我将其重新格式化\section
为类似于,\chapter
方法是将其设为 adisplay
并Chapter~
在编号前插入(全部由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`。因此,这是一个尝试:part
section
headers/footers
table of contents
can be done by titlesec and its companion packages
and
\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}