fancyhdr 标题在第 1.1 段之前留空,而不是显示章节标题

fancyhdr 标题在第 1.1 段之前留空,而不是显示章节标题

正如标题所示,当章节以长文本开头,并且第一段(第 1.1 段)之前,fancyhdr 会将标题留空。我想设置 latex 在这些情况下显示章节标题。我该怎么办?我是 latex 的新用户,所以我现在的代码很乱,但我认为重要的部分是

%% Package Import 

\newenvironment{abstract}{}{}
\usepackage{abstract}

% Typesetting
\usepackage{titlesec}
\usepackage{indentfirst}


\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}


\usepackage{tocbibind}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhead{}

\fancyhead[LE,RO]{\slshape \rightmark}

用于初始化文件,然后将其包含在 main.tex 文件中

\documentclass[a4paper,12pt,openright,twoside]{book}

\input{tex_parameters/init}

\leftmark将章节标题放在每一页上,但\chaptername不起作用,可能是因为我习惯\include{chapterXX}在 main.tex 文件中导入它们

答案1

我希望我正确理解了您的问题。如果是这样,那么这里有一个可能的解决方案。在标题中,我检查是否\rightmark为空。在这种情况下,我使用\leftmark,这应该是章节标题。

\documentclass[a4paper,12pt,openright,twoside]{book}

\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\usepackage{lipsum}

\usepackage{ifthen}
\newcommand{\ifempty}[2]{% If #1 is empty, use #2 instead, otherwise use #1
  \ifthenelse{\equal{#1}{}} {#2} {#1}%
}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[LE,RO]{\slshape \ifempty {\rightmark} {\leftmark}}

\begin{document}
\chapter{Introduction}

\lipsum[1-12] % long text before first section

\section{First section}

\lipsum

\end{document}

相关内容