如何在 KOMA-script 中使用未编号章节?

如何在 KOMA-script 中使用未编号章节?

我在使用 hyperref 包时遇到了一些问题。我想创建一个没有编号的简介章节,因此我使用\chapter*{Introduction}\addcontentsline{toc}{chapter}{Introduction}因为我希望它出现在目录中(参见示例)。

但是我的 PDF 查看器中的链接却出错了,而且自动创建的页眉也不再正确(见图)。目录显示正确的页码(第 1 页),但链接也是错误的。

我这里犯了什么错误?

\documentclass{scrbook}

\usepackage{hyperref}
\usepackage{blindtext}
\usepackage{glossaries}
  \makeglossaries

\newacronym{eg}{e.g.}{%
for example
}


\begin{document}


\frontmatter

% abstract before the table of contents
\chapter*{Abstract}
\addcontentsline{toc}{chapter}{Abstract}
\blindtext

\tableofcontents

% chapter with acronyms
\cleardoublepage \phantomsection 
\printglossary[type=\acronymtype]
\addcontentsline{toc}{chapter}{Glossary}

\cleardoublepage
\mainmatter


\phantomsection
% \chapter{Introduction} % with this everything is correct but I don't want the number
\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}

\blindtext

\pagebreak

\blindtext

% first chapter
\chapter{Chapter1}

\gls{eg}
\blindtext

\pagebreak

\blindtext


\end{document}

截屏

答案1

KOMA-Script 为几乎所有可能的情况提供了非常强大的命令。正如您所注意到的,标题显示上一章,并且\chapter*与一起使用时超链接无法正常工作addcontentsline

该命令\addchap负责处理此问题。它将未编号的章节添加到目录中,并进行\markboth 相应设置。此外,它还确保以正确的方式设置超链接,甚至确保小章节间隙在图表和表格列表中。

如果由于某种原因您想要不同的目录条目,只需使用您习惯的可选命令即可。

如果您希望未编号的章节缩进,就像有数字一样,请使用 documentclass 选项toc=indentunnumbered。这将影响每一个已使用文档中addxcontentsline(或任何更高级别的) 命令设置的章节。当然,使用\addchap是可行的方法。

还有一种带星号的变体,它不创建目录条目并清除标题。这样,上一章的标题就消失了。

还提供了用于未编号部分的命令,这些命令是\addsec(带有其可选参数)和\addsec*

\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{hyperref}
\newcommand{\filler}{\blindtext[7]}
\begin{document}
\tableofcontents
\addchap{addchap}
\filler
\addchap[ToC entry]{Heading?}
\filler
\chapter{Chapter}
\filler
\addchap*{No ToC Entry, header cleared}
\filler
\end{document}

标准类不提供这些命令,但可以轻松实现如下所述的基本功能如何处理未编号的章节?

答案2

正如 Johannes_B 在评论中指出的那样

\addchap{Introduction}

代替

\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}

解决了问题。

相关内容