标题问题中的“内容”

标题问题中的“内容”

我目前正在我的文档上使用一个标题,它应该执行几项操作之一。

如果当前页面位于定义任何章节或部分之前,则页眉应该仅包含数字。

如果在当前页面之前定义了任何节或章,则最后定义的节/章的名称应该在页眉中。

此规则有两个例外。如果有新章节,则页面或目录中不应有页眉。

如果有标题页,则不应有页脚/页眉。

这很好用。但是,添加目录后,所有标题都会以 为前缀CONTENTS。如何才能防止标题以 为前缀CONTENTS,而不影响上述任何标题功能。

还有一种情况是,页眉中没有章节或标题,但有目录,页眉由组成CONTENTSCONTENTS

如果有什么不同,我正在使用最新版本的 TexLive(今天下载)上的 LuaTex 进行构建

\documentclass[a4paper,oneside]{book}
\usepackage{lipsum}
\usepackage{fancyhdr}

%Header / Footer info
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markright{#1}}
\renewcommand{\sectionmark}[1]{\markright{#1}}

%Define the header / footer
\fancyhf{}
\fancyhead[L]{\topmark}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}

\begin{document}
\begin{titlepage}
hello
\end{titlepage}
\tableofcontents
\clearpage
\lipsum[1-10]
\clearpage
\section{Paragraphs 1 - 10}
\lipsum[1-10]
\clearpage
\chapter{Lorem Ipsum :)}
\lipsum[1-5]
\section{Paragraphs 6 - 10}
\lipsum[6-10]
\section{Paragraphs 11 - 15}
\lipsum[11-15]
\end{document}

答案1

您要问的是如何删除标题“CONTENTS”,该标题从目录延续到正文开头。该标题之所以存在,是因为它被保留为标记。

因此,您需要在开始正文时删除所有现有标记。最简单的方法是在\clearpage结束内容后立即添加此命令:

\markboth{}{}

答案2

恐怕我对 LaTeX 还太陌生,不知道这是否是正确的方法,它看起来确实有点“黑客化”而不正确,但它对我有用。

我成功的方法就是使用两种定义的fancyhdr样式以及普通样式,并在不同阶段不断切换页面样式以产生我想要的外观。

在文档的开头,使用了普通页面样式。然后,如果有任何文本但没有定义章节/节,则fancyhdr使用单独的样式,该样式仅在页眉中包含当前页码。

最后fancyhdr使用了原始代码中的样式。但是,在将页面样式设置为此样式后,声明了renrewcommand\chaptermark,以强制不将 包含在标题中。\sectionmarkCONTENTS

\documentclass[a4paper,oneside]{book}
\usepackage{lipsum}
\usepackage{fancyhdr}

%Header / Footer info
\fancypagestyle{NormalFancy}{ %Style for when there is at least
                              %one previous chapter or section
    \fancyhf{}
    \fancyhead[L]{\topmark}
    \fancyhead[R]{\thepage}
    \renewcommand{\headrulewidth}{0pt}
}

\fancypagestyle{FancyNoSectionChapter}{ %Style for when there are no 
                                        %previous chapters or sections
    \fancyhf{}
    \fancyhead[R]{\thepage}
    \renewcommand{\headrulewidth}{0pt}
}

\begin{document}
\begin{titlepage}
hello
\end{titlepage}
\pagestyle{plain} %Set this here to remove the header and footer
                  %at the start of the document

\tableofcontents
\clearpage

%Set the page style before any chapters or sections are defined
\pagestyle{FancyNoSectionChapter}
\lipsum[1-10]
\clearpage

%Set the page style to the normal style before the start of 
%the page with the first defined section / chapter
\thispagestyle{FancyNoSectionChapter}
\pagestyle{NormalFancy} %Make sure the page with the first defined 
                        %section / chapter still has the `FancyNoSectionChapter` style
\renewcommand{\chaptermark}[1]{\markright{#1}} %Redefine how the chapter
                                               %looks so there are no numbers
\renewcommand{\sectionmark}[1]{\markright{#1}} %Redefine how the section
                                               %looks so there are no numbers

\section{Paragraphs 1 - 10}
\lipsum[1-10]
\clearpage
\chapter{Lorem Ipsum :)}
\lipsum[1-5]
\section{Paragraphs 6 - 10}
\lipsum[6-10]
\section{Paragraphs 11 - 15}
\lipsum[11-15]
\end{document}

相关内容