我正在对论文的最终稿进行格式化,并注意到标题中的章节和部分标题存在问题。
目前,我正在使用 fancyhdr 获取页眉中隔页上的章节和节标题。出于不同的原因,我不希望我的介绍章节和结论章节被编号,也不希望每章的结束部分被编号。为了实现这一点,我使用了 \chapter* 和 \section* 命令。然而,这导致了关于出现在某些页眉中的章节/节标题的三个不良结果:
- “目录”作为章节标题出现在简介的页眉中:
但我希望它说的是‘介绍’。
- 上一节的名称作为章节结论节的标题出现在章节标题中:
但我希望它说的是‘结论’。
- 前一章节的标题作为结论章节的页眉中的章节标题出现:
再次,我想说的是‘结论’。
以下是 MWE:
\documentclass[12pt, twoside]{report}
\usepackage[explicit]{titlesec} %adjust titles
\usepackage{lipsum} %random text
%%%%%%%%Chapter and section titles in headers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{} %clears header
\fancyhead[CE]{\nouppercase{\textit{\leftmark}}} %puts chapter title on even page in lower-case italics
\fancyhead[CO]{\nouppercase{\textit{\rightmark}}} %puts section title on odd page in lower-case italics
\renewcommand{\headrulewidth}{0pt} %gets rid of line
\renewcommand{\chaptermark}[1]{\markboth{#1}{}} %gets rid of chapter number
\renewcommand{\sectionmark}[1]{\markright{#1}} %gets rid of section number
%%%%%%%%%
\titleformat{\chapter}[display]{\LARGE\bfseries\centering}{\thechapter}{10pt}{#1}
\titleformat{\section}{\normalfont\fontsize{20}{20}\centering}{\thesection}{1em}{\MakeUppercase{#1}}
\titleformat{\subsection}{\normalfont\centering}{\thesubsection}{1em}{\textit{{#1}}}
\usepackage{subfiles} %allows multi-file projects
\setcounter{tocdepth}{1} %removes subsubsections from toc
%%%%%%%%%removes dots from toc
\makeatletter
\renewcommand{\@dotsep}{10000}
\makeatother
%%%%%%%%%
\begin{document}
\tableofcontents
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\renewcommand{\thesection}{\arabic{section}}
\section{An Introductory Section}
\lipsum
\lipsum[1]
\section{Another Introductory Section}
\lipsum
\chapter{A Chapter}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\lipsum[2-3]
\section{A Section}
\lipsum[4-8]
\section*{Conclusion}
\lipsum[8-9]
\chapter{Another Chapter}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\lipsum[1-2]
\chapter*{Conclusion}
\addcontentsline{toc}{chapter}{Conclusion}
\lipsum
\end{document}
我知道有人问过类似的问题(例如目录和标题中未编号的章节),但它们似乎是关于 KOMA-Script 的。鉴于这是最终稿,如果可以使用 fancyhdr 来做到这一点,而不必更改大量内容,那就太理想了。谢谢!
答案1
我建议使用这个更简单的代码,使用pagestyles
选项titlesec
来定义\chaptermark
命令,对于未编号的部分, (在和\pretitlemark
中使用)\titleformat
前 \section*
):
\documentclass[12pt, twoside]{report}
\usepackage[explicit, pagestyles]{titlesec} %adjust titles
\usepackage{lipsum} %random text
\titleformat{\chapter}[display]{\LARGE\bfseries\filcenter}{\thechapter}{10pt}{#1}
\titleformat{name=\chapter, numberless}[display]{\LARGE\bfseries\filcenter}{}{10pt}{\chaptermark{#1}\addcontentsline{toc}{chapter}{#1}#1}
\titleformat{\section}{\normalfont\fontsize{20}{20}\filcenter}{\thesection}{1em}{\MakeUppercase{#1}}
\titleformat{name=\section, numberless}{\normalfont\fontsize{20}{20}\filcenter}{}{0em}{\pretitlemark{section}{#1}\MakeUppercase{#1}}
\renewcommand{\thesection}{\ifthechapter{\thechapter.}{}\arabic{section}}
\titleformat{\subsection}{\normalfont\filcenter}{\thesubsection}{1em}{\textit{{#1}}}
\newpagestyle{myps}{%
\sethead[][\itshape\chaptertitle][]{}{\itshape\sectiontitle}{}
\setfoot{}{\thepage}{}
}
%%%%%%%%%Chapter and section titles in headers
\pagestyle{myps}
\usepackage{subfiles} %allows multi-file projects
\setcounter{tocdepth}{1} %removes subsubsections from toc
%%%%%%%%%removes dots from toc
\makeatletter
\renewcommand{\@dotsep}{10000}
\makeatother
%%%%%%%%%
\begin{document}
\tableofcontents
\chapter*{Introduction}
\section{An Introductory Section}
\lipsum
\lipsum[1]
\section{Another Introductory Section}
\lipsum
\chapter{A Chapter}
\lipsum[2-5]
\section{A Section}
\lipsum[6-8]
\pretitlemark{section}{Conclusion}
\section*{Conclusion}
\lipsum[9-15]
\chapter{Another Chapter}
\lipsum[13-16]
\chapter*{Conclusion}
\lipsum[17-20]
\end{document}