如何将未编号部分的名称放入标题中?

如何将未编号部分的名称放入标题中?

我用

\usepackage{fancyhdr} 

然后

\pagestyle{headings} 

我想要\section*{name of the section}在标题中显示。该怎么做?

答案1

为什么不使用提供\addsec生成未编号部分的命令的 KOMA 类,但它被插入到目录中,并且您有它的标题?

例子:

\documentclass{scrartcl}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{lipsum}

\pagestyle{headings}

\begin{document}

\tableofcontents

\addsec{Unnumbered section}
\lipsum[1-20]

\section{Numbered section}
\lipsum[1-20]

\end{document}

在此处输入图片描述

当然,标题可以根据需要进行定制,就像fancyhdr包一样。

答案2

[编辑以考虑@daleif 和@Johannes_B 的评论。]

本手册第 9 部分的结尾如下fancyhdr

[注意:要在 Linux 或 OS X 下获取手册,请texdoc fancyhdr在终端中执行。]

最后,您还应该注意, etc. 命令*的形式 \chapter确实不是调用 mark 命令。因此,如果您希望序言设置标题信息但不进行编号也不放入目录中,则必须\markboth自己发出命令,例如

\chapter*{Preface\markboth{Preface}{}}

\markboth在 内输入命令\chapter*可确保标记不会因分页符而与标题分离。当然,\chapter*如果您将标记命令放在章节标题之后,这不会有问题,因为命令\chapter*从新页面开始。但是,如果使用 ,则\section*可能存在以下情况:

\section*{Preface}
\markboth{Preface}{}

因为两个命令之间可能会出现分页符。

这表明,可以通过两种方式实现您想要的操作:

1.

\section*{Flowers\markboth{Flowers}{Flowers}}

2.

\section*{Flowers}
\markboth{Flowers}{Flowers}

虽然fancyhdr推荐第一种方案,但是也有强有力的论据支持第二种方案。

尽管手册推荐使用第一个选项,但可以说更危险,因为某些文档类或包会\section*在目录中插入参数,因此当出现 toc 条目时,某些目录页的标题可能会发生变化\section*

对于第二种可能性,手册中提到的可能缺点fancyhdr是分页符可能出现在章节标题之后,因此\markboth指令只会在下一页生效。危险是有限的,因为在标题章节之后出现分页符的情况非常罕见,而且即使发生这种情况,我也很乐意只从下一页开始更改页眉。

为了完全控制这一点,您可以在其定义的适当位置插入该命令\renewcommand, 以使其从节标题开始准确生效。\section*\markboth

相关内容