我将 chapterpagestyle 更改为 scrheadings,以便将页码显示在新章节的第一页上,但对于目录,我不希望将标题标记(在本例中为章节标题(“内容”)显示在目录的第一页上(图表列表和表格列表也是如此)。
我怎样才能省略此特定页面的标题?
梅威瑟:
\documentclass[twoside,open=right,headinclude,footinclude]{scrreprt}
\usepackage[headsepline]{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearpairofpagestyles
\renewcommand*{\chapterpagestyle}{scrheadings}
\ihead{\headmark}
\automark*{chapter}
\automark*[section]{}
\ohead{\pagemark}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{Test}
\section{Test}
\lipsum[1]
\chapter{Test 2}
\section{Test 2}
\lipsum[1-10]
\end{document}
答案1
\headmark
open=right
在您的 MWE 中(使用),每个普通章节的第一页上都是空的,因为\chapter
设置了左标记并清除了右标记。因此,奇数章节页面上的第一个右标记为空。
请注意,\automark*{chapter}\automark*[section]{}
或 的\automark{chapter}\automark*[section]{}
作用与 相同\automark[section]{chapter}
。
目录同时放入了\contentsname
两个标记。因此ToC 第一页不为空。\leftmark
\rightmark
\headmark
所以我建议删除重新定义并根据需要\chapterpagestyle
调整页面样式的内容。然后页面样式将用于所有章节的第一页,包括 ToC、LoF 和 LoT。plain
plain
也许你想要:
\documentclass[twoside,open=right,headinclude,footinclude]{scrreprt}
\usepackage[headsepline,
plainheadsepline,% <- added
automark% <- added
]{scrlayer-scrpage}% sets page style scrheadings automatically
\clearpairofpagestyles
\ihead{\headmark}
\ohead*{\pagemark}% <- changed
\usepackage{lipsum}
\begin{document}
\tableofcontents
\chapter{Test}
\section{Test}
\lipsum[1]
\chapter{Test 2}
\section{Test 2}
\lipsum[1-10]
\end{document}
解释:
- 每章的第一页使用 中保存的页面样式
\chapterpagestyle
。这是plain
默认的页面样式。因此删除\chapterpagestyle
示例plain
在新章节的第一页上使用的重新定义。 - 选项
plainheadsepline
会在具有样式的页面的标题下方添加规则plain
,但前提是headsepline
也设置了选项。 - 选项
automark
激活运行标题条目。它使用节级别作为右标记,使用章级别作为左标记。因此它的作用与 相同\automark[section]{chapter}
。 \clearpairofpagestyles
scrheadings
删除页面样式和页面样式纯文本(的别名plain.scrheadings
)的页眉和页脚的默认内容\ihead{\headmark}
添加\headmark
到页面样式的内部页眉scrheadings
。双面文档\headmark
将\rightmark
在奇数页和\leftmark
偶数页上显示。\ohead*{\pagemark}
是 的简短版本\ohead[\pagemark]{\pagemark}
,它将格式化的页码添加到页面样式plain
( 的别名plain.scrheadings
)和的外部标题中scrheadings
。