我用
\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