KOMA 脚本 - 未编号章节的页面标题与自动标记

KOMA 脚本 - 未编号章节的页面标题与自动标记

我正在使用基于 KOMA 脚本类和样式的以下文档结构

\documentclass[11pt,a4paper,BCOR10mm,DIV11,toc=listof]{scrbook}
\usepackage[nouppercase,headsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\chead{\headmark}

(还有一些我没有在这里列出的内容)。这通常很有效。但我有一个像这样的未编号章节

  \addcontentsline{toc}{chapter}{Bla bla}
  \chapter*{Bla bla}

并且我希望它的标题(无编号)出现在右页的标题中(左页为空白,因为本章中没有编号部分)。正如所料,这不能立即使用,它目前列出了上一章的名称(图片列表)。

我该如何让它工作?手动发布\markboth{}{Bla bla}是正确的方法吗?从 KOMA 脚本文档来看,我不太确定这会如何影响自动标记功能。

答案1

使用 KOMA-Script 类scrbookscrreprt您可以使用\chaptermark{...}\sectionmark\chaptermarkformat{...}\sectionmarkformat{...}来设置和格式化运行标题。一个小例子:

\documentclass[11pt,a4paper,BCOR10mm,DIV11,toc=listof]{scrbook}
\usepackage[nouppercase,headsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\chead{\headmark}
\usepackage{lipsum}

\begin{document}

\chapter{A numbered chapter}
\section{Test section}
\lipsum[1-5]
\chapter*{A chapter without number}
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\sectionmarkformat}{}
\chaptermark{}
\sectionmark{A chapter without number}
\lipsum[1-30]

\end{document}

答案2

KOMA 脚本类也有命令\addchap代替\chapter*。使用\addchap应该可以纠正错误命名标题的问题。此命令还会自动创建 ToC 条目,因此\addcontentsline{toc}{chapter}{...}不再需要。

查看使用 KOMA 脚本类本机命令从上面修改的 MWE。

\documentclass[11pt,a4paper,BCOR10mm,DIV11,toc=listof]{scrbook}
\usepackage[nouppercase,headsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\automark[section]{chapter}
\chead{\headmark}
\usepackage{lipsum}

\begin{document}

\chapter{A numbered chapter}
\section{Test section}
\lipsum[1-5]
\addchap{A chapter without number}
\addsec{A chapter without number}
\lipsum[1-30]

\end{document}

相关内容